]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/link: preserve elf phdr flags when loading external objects
authorPaul E. Murphy <murp@ibm.com>
Wed, 10 Mar 2021 20:41:38 +0000 (14:41 -0600)
committerLynn Boger <laboger@linux.vnet.ibm.com>
Tue, 16 Mar 2021 14:20:35 +0000 (14:20 +0000)
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>

src/cmd/link/internal/loadelf/ldelf.go

index 6e3b2c077de18a0d9ed0653db36470b3b24c118f..e373a6e0b413d3c98c7877585ddf21f8bc5df392 100644 (file)
@@ -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