Re: Need line number info in .so files created with GCC 4.3.2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Brian Dessent wrote:
The first thing to check is whether the .so actually contains debug
info, since it sounds like it has been inadvertently stripped.  You can
check by running objdump -wh and verifying that it contains the .debug_*
sections.

Thanks. That was a big step toward understanding it. There is some line number info in the new .so and objdump can see it once I tried hard enough. But there isn't line number info where I need it.

This is a BIG .so file. Most of its total size and all of the interesting parts are inline instantiations of templated code inside inline instantiations of other templated code. With gcc 4.1.2, objdump could see line numbers (of the deepest level of inlined code). With gcc 4.3.2 it can't.

I'm not sure (I didn't think of a way to examine a large amount of the objdump output) but all the places where I saw line number lines in the objdump output for the new .so file were from non templated code, which is a very small fraction of this .so file. Surprisingly, the .debug_line section is just a little smaller for the 4.3.2 .so than for the 4.1.2

.debug_line 0069f5e5 0000000000000000 0000000000000000 06975695 2**0 CONTENTS, READONLY, DEBUGGING
changed to
.debug_line 0064eb99 0000000000000000 0000000000000000 069ea5a8 2**0 CONTENTS, READONLY, DEBUGGING

so it obviously hasn't dropped all the line number info that objdump can't see (or at least can't see as belonging to the correct addresses).

Do you have a suggestion for the next diagnostic step?


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux