aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul E. Murphy <murp@ibm.com>2021-03-10 14:41:38 -0600
committerLynn Boger <laboger@linux.vnet.ibm.com>2021-03-16 14:20:35 +0000
commitbd0fc0b9c32e3697380a6484154accacdb928f97 (patch)
tree1af1d0ac7dff8f8e6f475a463610cda6c101ad68 /src
parent860704317e02d699e4e4a24103853c4782d746c1 (diff)
downloadgo-bd0fc0b9c32e3697380a6484154accacdb928f97.tar.xz
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 <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Go Bot <gobot@golang.org> Trust: Emmanuel Odeke <emmanuel@orijtech.com>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/link/internal/loadelf/ldelf.go2
1 files changed, 2 insertions, 0 deletions
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