[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-hackers
Subject:    Re: Deterministic builds, part 2
From:       Erik Cederstrand <erik () cederstrand ! dk>
Date:       2010-11-25 20:10:34
Message-ID: 0B04A57E-A325-4006-8A01-6C7F15584C2F () cederstrand ! dk
[Download RAW message or body]


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



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic