]> Cypherpunks repositories - gostls13.git/commit
cmd/link: load external ELF PPC64 objects which set st_other=1
authorPaul E. Murphy <murp@ibm.com>
Tue, 17 Jan 2023 17:33:28 +0000 (11:33 -0600)
committerPaul Murphy <murp@ibm.com>
Fri, 28 Apr 2023 21:26:08 +0000 (21:26 +0000)
commit3c46d8f5119475adbadb6141acd463b910c1747b
tree317516278c0219c1a36d70e0da338926e29cdac7
parent265d19ed526b6d6a01a20150918b362c1e6befba
cmd/link: load external ELF PPC64 objects which set st_other=1

This indicates the symbol does not use or preserve the TOC pointer in
R2. Likewise, it does not have a distinct local entry point. This
happens when gcc compiles an object with -mcpu=power10.

Recycle the SymLocalentry field of a text symbol to pass through this
hint as the bogus value 1 (A valid offset must be a multiple of 4
bytes), and update the usage to check and generate errors further into
the linking process. This matches the behavior of st_other as used by
ELFv2.

Change-Id: Ic89ce17b57f400ab44213b21a3730a98c7cdf842
Reviewed-on: https://go-review.googlesource.com/c/go/+/490295
Run-TryBot: Paul Murphy <murp@ibm.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
src/cmd/link/internal/loadelf/ldelf.go
src/cmd/link/internal/loader/loader.go
src/cmd/link/internal/ppc64/asm.go