From: Paul E. Murphy Date: Wed, 10 Mar 2021 20:41:38 +0000 (-0600) Subject: cmd/link: preserve elf phdr flags when loading external objects X-Git-Tag: go1.17beta1~1103 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=bd0fc0b9c3;p=gostls13.git cmd/link: preserve elf phdr flags when loading external objects Preserve program header flags when passing them through loadelf.Load. They shouldn't be coerced to 0 on non-ARM platforms which set them such as ppc64le. Change-Id: I022613356f910d812de2fc22eac949960eeb53b3 Reviewed-on: https://go-review.googlesource.com/c/go/+/300950 Reviewed-by: Cherry Zhang Run-TryBot: Cherry Zhang TryBot-Result: Go Bot Trust: Emmanuel Odeke --- diff --git a/src/cmd/link/internal/loadelf/ldelf.go b/src/cmd/link/internal/loadelf/ldelf.go index 6e3b2c077d..e373a6e0b4 100644 --- a/src/cmd/link/internal/loadelf/ldelf.go +++ b/src/cmd/link/internal/loadelf/ldelf.go @@ -252,6 +252,8 @@ func Load(l *loader.Loader, arch *sys.Arch, localSymVersion int, f *bio.Reader, return nil, 0, fmt.Errorf("loadelf: %s: %v", pn, fmt.Sprintf(str, args...)) } + ehdrFlags = initEhdrFlags + base := f.Offset() var hdrbuf [64]byte