This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GNAT package GNAT.Traceback.Symbolic
- From: Andrew Haley <aph at redhat dot com>
- To: Florian Weimer <fw at deneb dot enyo dot de>
- Cc: David Gressett <jdgressett at amli-denton dot com>, gcc at gcc dot gnu dot org
- Date: Wed, 7 Dec 2005 20:41:50 +0000
- Subject: Re: GNAT package GNAT.Traceback.Symbolic
- References: <439737D4.4000505@amli-denton.com> <87ek4osl1z.fsf@mid.deneb.enyo.de>
Florian Weimer writes:
> * David Gressett:
>
> > It does work with the GNAT GPL 2005 that I have on my XP box at home. A
> > search of the gcc mailing list archive didn't turn up much, but there
> > was one message which indicated that there was a license problem with
> > the addr2line source code that the Ada Core people were using.
> >
> > If a working libaddr2line isn't going to show up anytime soon, the
> > comments in g-trasym.ads should be modified appropriately.
>
> libaddr2line used to be a proprietary library distributed by AdaCore
> only. (I'm not sure if it was intentionally proprietary.)
>
> IIRC, libaddr2line never was suitable for tasking. If you can get a
> copy of the ALT packages of GNAT, you'll find an implementation of the
> client code in the GNAT run-time library which bypasses these problems
> by invoking /usr/bin/addr2line.
>
> Java implementations needs to solve pretty much the same problem. How
> is it done in GCJ?
Every Java class has full reflection data for all of its methods.
Given the address of a method, therefore, it's a straightforward
reverse lookup to get the name.
Andrew.