diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-02-27 22:35:10 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-02-27 22:35:10 +0000 |
commit | cba8a572c208078c1c6eb9845b54f960526c53c0 (patch) | |
tree | 2533982aacf337307ee72ee82ae77f3cb01fbd58 /gcc | |
parent | e6df04c105464436e700013e1f665ebf0f94c9f2 (diff) | |
download | gcc-cba8a572c208078c1c6eb9845b54f960526c53c0.zip gcc-cba8a572c208078c1c6eb9845b54f960526c53c0.tar.gz gcc-cba8a572c208078c1c6eb9845b54f960526c53c0.tar.bz2 |
re PR go/89172 (FAIL: runtime/pprof)
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/go/gofrontend/MERGE | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index b2f065d..749e523 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -c9581de3804f94c5a74ce14befce5c57368722b9 +74533ed435a1a77e6f9ec8f6cf5db1695c2568e8 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. |