[ccache] Why not cache link commands?

Eitan Adler lists at eitanadler.com
Wed Sep 19 06:18:11 MDT 2012


On 19 September 2012 05:43, Andrew Stubbs <ams at codesourcery.com> wrote:
> On 18/09/12 22:59, Mike Frysinger wrote:
>>
>> the linker's --build-id and associated .note.gnu.build-id section.  you
>> can't
>> hash the entire object because it can change between compiles.  build-id
>> lets
>> you say "regardless of the hash of the entire object, we know the content
>> that
>> matters is unchanged".
>
>
> Ah, excellent, this is the sort of detail I was looking for!
>
> My own brief experimentation shows that static libraries contain troublesome
> datestamps, but object files appear to be reproducible, given the same
> source and command line (the case ccache handles).
>
> Under what circumstances can the binary change but the build-id remain the
> same? I'm aware of line number, and file path differences in the debug info.
> Is there anything else?

differing -frandom-seed options perhaps?


-- 
Eitan Adler


More information about the ccache mailing list