This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: libbacktrace patch committed: Trace through shared libraries
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: Ian Lance Taylor <iant at google dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 10 Oct 2012 16:13:21 +0200
- Subject: Re: libbacktrace patch committed: Trace through shared libraries
- References: <mcrpq4ra4n3.fsf@google.com>
Ian Lance Taylor <iant@google.com> writes:
> This patch to libbacktrace adds support for tracing through shared
> libraries. The libraries are found by calling dl_iterate_phdr, when it
> is available.
Unfortunately, this breaks all Go link tests on Solaris 10:
output is:
Undefined first referenced
symbol in file
dl_iterate_phdr /var/gcc/gcc-4.8.0-20121010/10-gcc-gas/i386-pc-solaris2.10/./libgo/.libs/libgo.so
ld: fatal: symbol referencing errors. No output written to /var/gcc/gcc-4.8.0-20121010/10-gcc-gas/gcc/testsuite/go/array-1.x
collect2: error: ld returned 1 exit status
FAIL: go.go-torture/execute/array-1.go compilation, -O0
Solaris 10 Update 10 or sufficiently recent linker patches introduced
dl_iterate_phdr on S10 as a backport from Solaris 11, but unlike S11, it
lives in libdl.so only. The current dl_iterate_phdr check misses that,
and given that it's only available in the most recent update, it's
probably best to avoid d_i_p on Solaris 10 altogether.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University