From: Keith Randall Date: Wed, 1 Sep 2021 15:33:42 +0000 (-0700) Subject: cmd/link: mark stacks as non-executable on freebsd X-Git-Tag: go1.18beta1~1503 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=782aa42255163559c5e1c4c2d98c8f28da8cf96b;p=gostls13.git 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 --- 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: