diff options
| author | Paul E. Murphy <murp@ibm.com> | 2021-03-10 14:41:38 -0600 |
|---|---|---|
| committer | Lynn Boger <laboger@linux.vnet.ibm.com> | 2021-03-16 14:20:35 +0000 |
| commit | bd0fc0b9c32e3697380a6484154accacdb928f97 (patch) | |
| tree | 1af1d0ac7dff8f8e6f475a463610cda6c101ad68 /src/cmd | |
| parent | 860704317e02d699e4e4a24103853c4782d746c1 (diff) | |
| download | go-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/cmd')
| -rw-r--r-- | src/cmd/link/internal/loadelf/ldelf.go | 2 |
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 |
