backtrace() vs. _Unwind_Backtrace()

David Daney ddaney@avtrex.com
Fri Dec 5 17:23:00 GMT 2003


Andrew Haley wrote:

> > 
> > But in that case, HAVE_BACKTRACE should be turned on for ia64 Linux.
>
>Good.
>
> > Older versions of libc have a broken backtrace() on that platform,
> > but even that can be worked around by doing:
> > 
> > 	LD_PRELOAD=/usr/lib/libunwind-ia64.so.1
> > 
> > and with newer versions of libc, backtrace() will use _Unwind_Backtrace().
>
>But we need to build a version of libgcj for ia64 Linux that works
>without needing a special LD_PRELOAD.
>
>  
>
The approach for the MIPS port of libgcj is to include a backtrace() 
replacement that calls _Unwind_Backtrace().  This works because 
backtrace() is a weak symbol in glibc.  It sounds like this is 
essentially what you are suggesting.

As I said in the previous message this code is in 
sysdep/dwarf2-backtrace.cc.

David Daney



More information about the Java mailing list