[Bug debug/56783] g++ does not supply signatures for gdb on g++ 4.7 versions
dick.guertin at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sat Mar 30 14:52:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56783
--- Comment #9 from Dick Guertin <dick.guertin at gmail dot com> 2013-03-30 14:52:33 UTC ---
(In reply to comment #8)
> (In reply to comment #6)
> > First, my apology for not giving the gdp version. I assume you meant this:
> > GNU gdb 6.3.50-20050815 (Apple version gdb-1515) (Sat Jan 15 08:33:48 UTC 2011)
>
> Donate it to a museum and try a GDB version that was released this side of the
> last ice age. GCC 4.5 and later require at least GDB 7.0:
> http://gcc.gnu.org/gcc-4.5/changes.html
>
> This is not GCC bug.
Johnathan, this may not be a GCC bug, but it isn't a GDB bug either. I went
back to g++ 4.2 that came with the Xcode, which is where I started. Of course,
the problem persists. The "problem" is in the linked modules. They don't
contain the paths back to the "source" modules. "g++" compiles source into
objects; "ld" links objects into a link module, but knows about the sources.
In Mac OS X 10.4.11, the linker places path-references back to sources. In
10.5 and 10.6, it references back to objects. When "gdb" reads the linked
module, it needs the sources to construct the "signatures" for the
symbol-table. Paths to objects are worthless in this regard. The fact that
"gdb" works properly with linked modules brought across from OS 10.4.11 (with
identical sources on identical paths), shows that the path-references to
sources is the key. The latest "ld" is failing.
Of course, another problem would be the lack of sources when trying to "gdb"
the linked module. I achieved that simply by renaming one of the directories
leading to the sources, and even my 10.4.11 linked module then failed to debug.
More information about the Gcc-bugs
mailing list