This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: libstdc++, gdb and darwin


Jack Howarth wrote:
>     Does anyone know why gdb appears to be unable to find the debug information
> for libstdc++ in gcc 4.3 and gcc trunk on darwin9? This has been reported before
> as...
> 
> https://trac.macports.org/ticket/16102
> 
> Under current gcc trunk, using Apple's current Xcode 3.1's gdb reports the
> errors of the form...
> 
> warning: Could not find object file
> "/sw/src/fink.build/gcc44-4.3.999-20080803/darwin_objdir/i686-apple-darwin9/libstdc++-v3/src/.libs/libstdc++.lax/libmath.a/signbit.o"
> - no debug information available for
> "../../../../gcc-4.4-20080803/libstdc++-v3/libmath/signbit.c".
> 
> when I try to run a binary linked to libstdc++ in gdb. My gcc build directory doesn't
> have a libstdc++.lax directory left in it. Is this a flaw in the .la files for gcc?
> Thanks in advance for any advice. I am trying to puzzle out if this is a gcc bug or
> a gdb bug so that I can file a radar report against gdb if it is the later.
>                          Jack
> 

The debug information is stored in the object files. Libtool uses a
convenience library, and, because darwin's linked does not have the
equivalent of --whole-archive --no-whole-archive to ensure that all
members of specific archives are loaded, it unpacks the archive and adds
all the objects. Having created the output, it then deletes these
objects, leaving the debugger with no object files.

This is "fixed" in recent GNU libtool by calling dsymutil on the newly
created shared library. I have not checked if gcc's version of libtool
has this change. I'll check when I have time and submit a patch if that
is not the case.

Peter
-- 
Peter O'Gorman
http://pogma.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]