Subject: Re: RelCache (aka ELF prebinding) news
To: None <tsarna@sarna.org>
From: M. Warner Losh <imp@bsdimp.com>
List: tech-kern
Date: 12/04/2002 01:59:34
In message: <20021202115103.C1CA8BBA2A@kopernik.sarna.org>
            Ty Sarna <tsarna@sarna.org> writes:
: > > A random number generator destroys the important property that
: > > identical source run through identical toolchain bits (which should
: > > include prebinding) produce identical files.  Violating this property is
: > > a major PITA, especially for testing...
: > 
: > You do have a point there. OTOH, timestamps etc. in the ELF files
: > already violate this, as you noted.
: 
: No.  I did not note that, because it's not true.  There are no
: timestamps in our ELF files, except where someone took explicit action
: to put them there (eg, by actually generating source on the fly that
: contains a timestamp, like in kernels). 
: 
: For example, I just compiled bin/cat from the 1.6 sources. I download
: bin/cat from ftp.netbsd.org and it is identical to mine. There are a
: zillion small ways in which this is useful. Don't screw it up.

One point to consider.  I know that some versions of gcc will place
the date/version of the compiler used to generate the binary in the
text section.  My quick test on NetBSD's toolchain on hpcmips as of
1.5C or so shows that it didn't do it then, but I don't know if the
newer toolchain is so inclined.  I know that 3.2.1 that FreeBSD is
using does do it.

This sort of thing is why people think that ELF binaries have a 'date'
in them, when in fact there's no date in the standard headers of them
at all.

Warner