From bd0fc0b9c32e3697380a6484154accacdb928f97 Mon Sep 17 00:00:00 2001 From: "Paul E. Murphy" Date: Wed, 10 Mar 2021 14:41:38 -0600 Subject: [PATCH] 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 --- src/cmd/link/internal/loadelf/ldelf.go | 2 ++ 1 file changed, 2 insertions(+) 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 -- 2.48.1