From 782aa42255163559c5e1c4c2d98c8f28da8cf96b Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Wed, 1 Sep 2021 08:33:42 -0700 Subject: [PATCH] cmd/link: mark stacks as non-executable on freebsd Fixes #48112 Change-Id: I673a5fe61171e5ba3d8ce58daac79391fb4758f9 Reviewed-on: https://go-review.googlesource.com/c/go/+/346872 Trust: Keith Randall Run-TryBot: Keith Randall Reviewed-by: Cherry Mui TryBot-Result: Go Bot --- src/cmd/link/internal/ld/elf.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/cmd/link/internal/ld/elf.go b/src/cmd/link/internal/ld/elf.go index 93f974c5e0..fb75c761a1 100644 --- a/src/cmd/link/internal/ld/elf.go +++ b/src/cmd/link/internal/ld/elf.go @@ -2025,6 +2025,11 @@ func asmbElf(ctxt *Link) { ph := newElfPhdr() ph.Type = elf.PT_SUNWSTACK ph.Flags = elf.PF_W + elf.PF_R + } else if ctxt.HeadType == objabi.Hfreebsd { + ph := newElfPhdr() + ph.Type = elf.PT_GNU_STACK + ph.Flags = elf.PF_W + elf.PF_R + ph.Align = uint64(ctxt.Arch.RegSize) } elfobj: -- 2.50.0