cba8a572c2
PR go/89172 internal/cpu, runtime, runtime/pprof: handle function descriptors When using PPC64 ELF ABI v1 a function address is not a PC, but is the address of a function descriptor. The first field in the function descriptor is the actual PC (see http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#FUNC-DES). The libbacktrace library knows about this, and libgo uses actual PC values consistently except for the helper function funcPC that appears in both runtime and runtime/pprof. This patch fixes funcPC by recording, in the internal/cpu package, whether function descriptors are being used. We have to check for function descriptors using a C compiler check, because GCC can be configured using --with-abi to select the ELF ABI to use. Fixes https://gcc.gnu.org/PR89172 Reviewed-on: https://go-review.googlesource.com/c/162978 From-SVN: r269266 |
||
---|---|---|
.. | ||
internal/profile | ||
testdata/mappingtest | ||
elf.go | ||
label_test.go | ||
label.go | ||
map.go | ||
mprof_test.go | ||
pprof_test.go | ||
pprof.go | ||
proto_test.go | ||
proto.go | ||
protobuf.go | ||
protomem_test.go | ||
protomem.go | ||
runtime_test.go | ||
runtime.go |