This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB 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]

External debug symbols


Hi

I've been experimenting some with removing debug information from binaries 
and placing it in a separate file, and then having gdb automatically load 
these if availible. (The goal here is to package debug information in 
separate packages that can be on-demand downloaded and installed.)

I have written a libelf based application that takes an elf file, splits 
out debug information to a separate file, strips the original file and 
adds a ".debuglink" section to the stripped file. This section contains 
the basename of the filename of the debug file and a crc32 checksum of it.

I've also written an "unstrip" application that puts together the original 
ELF file from the stripped one and the debug file (and some extra 
information I put in a section of the debug file). This produces a bitwise 
identical file to the original.

My next step is to make gdb automatically follow ".debuglink" sections so 
that i don't have to use the unstrip application. Attached to this mail is 
a patch that implements a "badhack" which seems to almost work. In order 
for it to work I had to add all the original section headers to the debug 
file (but SHT_NOBITS, so they take no space). It seems to work for the 
main binary, but setting breakpoints in libraries doesn't work. I think it 
gets the base address wrong or something.

What are your opinions about this solution? Has anything like this been 
done or tought of before? I'm pretty scared of the gdb codebase (looked at 
it for the first time today), so my solution is probably both buggy and 
generally wrong, tips of other ways to do this are appreciated.

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Alexander Larsson                                            Red Hat, Inc 
                   alexl@redhat.com    alla@lysator.liu.se 
He's a benighted Jewish romance novelist plagued by the memory of his family's 
brutal murder. She's a time-travelling Bolivian traffic cop with only herself 
to blame. They fight crime! 

Attachment: gdb-5.2.1-separate-debug.patch
Description: Text document


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