This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Problematic linking between glibc and shared libgcc
- To: kenner at vlsi1 dot ultra dot nyu dot edu
- Subject: Re: Problematic linking between glibc and shared libgcc
- From: Laurent Guerby <guerby at acm dot org>
- Date: Sun, 18 Feb 2001 19:03:32 +0100
- CC: dewar at gnat dot com, gcc at gcc dot gnu dot org
- References: <10102181646.AA12894@vlsi1.ultra.nyu.edu>
- Reply-to: guerby at acm dot org
Richard Kenner wrote:
> Also, there are issues relating to conflicts (in the EH code)
> between libgcc and glibc. Unlike the GNAT RTS, very few C programs
> use any code from libgcc, so the advantage of having it shared is
> much less and the potential for problems of conflicts with glibc is
> the downside.
In the same vein, we had to link our GNAT/Ada software with KAI C++
code, and spent quite some time to find out why the whole thing core
dumped each time an exception was raised. It was because KAI C++
called a routine __throw which was unfortunately defined in libgcc.a
and just caused an abort. Hopefully we just had to remove _eh.o from
libgcc.a and everything worked fine again, I don't even know if this
kind of thing would have been possible with a shared system-installed
libgcc.
Are the planned libgcc entry points named with such general names as
__throw? Are these names part of the new standard C++ ABI? If not,
why not call them __gcc3_throw to minimize the risk of conflict with
other software (and to document then that they are GCC specific)?
--
Laurent Guerby <guerby@acm.org>