Den 25/11/2010 kl. 20.17 skrev Mark Johnston: > On Thu, Nov 25, 2010 at 01:08:58PM +0100, Erik Cederstrand wrote: >> Kernel modules: >> ---------------------- >> In the ELF section .gnu-debuglink, there is a link to the corresponding >> *.ko.symbols file. It seems to be an inode or such rather than a file path >> since nothing shows up in strings(1). I have commented out "makeoptions >> DEBUG=-g" in the GENERIC kernel conf file which I am testing now, but I'd >> like to know what is actually going on. > > The .gnu_debuglink segment contains the name of the debug symbols file > (i.e. not a full path or an inode number). I'm not sure why it doesn't > show up with strings(1), but you can see it with a hex editor. > > When gdb loads an object file with a gnu_debuglink segment, it looks in > a few pre-defined locations for the corresponding symbols file. The gdb > docs explain it pretty well: > > http://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html
Thanks. I was explained in private email that I should be using "strings -a" which indeed turns up the filename. The checksum mismatch actually occurs because the section also contains a CRC of the symbols file, which means the symbols files aren't identical. I'll investigate that separately. Erik

