This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
serious(?) glibc backtrace() problem on IA64
- From: Andrew Haley <aph at cambridge dot redhat dot com>
- To: "Boehm, Hans" <hans_boehm at hp dot com>
- Cc: "'java at gcc dot gnu dot org'" <java at gcc dot gnu dot org>,"'tromey at redhat dot com'" <tromey at redhat dot com>,"'drepper at redhat dot com'" <drepper at redhat dot com>,"MOSBERGER, DAVID (HP-PaloAlto,unix3)" <davidm at hpl dot hp dot com>
- Date: Wed, 17 Apr 2002 09:52:17 +0100 (BST)
- Subject: serious(?) glibc backtrace() problem on IA64
- References: <40700B4C02ABD5119F000090278766443BF1EA@hplex1.hpl.hp.com>
Boehm, Hans writes:
> Gcc 3.1 libjava seems to invoke the glibc backtrace() function
> Throwable::fillInStackTrace whenever it appears to be available.
> Unfortunately, at least my copy of glibc 2.2.4 seems to use the
> sysdeps/generic implementation of backtrace() on IA64. That
> implementation in fact completely broken on IA64. The end result
> seems to be that mostly it quietly does nothing useful,
> occasionally it generates an unaligned access, and even less
> frequently it generates a SIGSEGV.
Right. The libjava backtrace has been broken since the new gcc
unwinder went in.
> Is this fixed in other versions of glibc? Should the libjava configury
> stuff explicitly turn off HAVE_BACKTRACE?
That sounds right.
> If so, can an autoconf expert add that hack to at least the 3.1
> tree?
> In the longer term, if this is still in glibc, it seems to me that this is
> the wrong default for backtrace() on IA64.
I would prefer to use libunwind, to begin with for IA-64, and later
for everything.
Andrew.