re PR go/89172 (FAIL: runtime/pprof)
authorIan Lance Taylor <ian@gcc.gnu.org>
Wed, 27 Feb 2019 22:35:10 +0000 (22:35 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Wed, 27 Feb 2019 22:35:10 +0000 (22:35 +0000)
commitcba8a572c208078c1c6eb9845b54f960526c53c0
tree2533982aacf337307ee72ee82ae77f3cb01fbd58
parente6df04c105464436e700013e1f665ebf0f94c9f2
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
gcc/go/gofrontend/MERGE
libgo/Makefile.am
libgo/Makefile.in
libgo/configure
libgo/configure.ac
libgo/go/runtime/pprof/proto.go
libgo/go/runtime/proc.go
libgo/testsuite/Makefile.in