Date: Mon, 24 Oct 2005 22:09:11 +1000 (EST) From: Bruce Evans <bde@zeta.org.au> To: Martin Cracauer <cracauer@cons.org> Cc: Peter Jeremy <PeterJeremy@optushome.com.au>, delphij@delphij.net, developers@freebsd.org, freebsd-security@freebsd.org Subject: Re: Is it feasible to cross-build compat5x binary? Message-ID: <20051024215918.V15095@delplex.bde.org> In-Reply-To: <20051024064605.A44523@cons.org> References: <20051023105230.GA55181@frontfree.net> <20051023232935.GC602@dragon.NUXI.org> <20051024080811.GF39882@cirb503493.alcatel.com.au> <20051024064605.A44523@cons.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 24 Oct 2005, Martin Cracauer wrote:
> Peter Jeremy wrote on Mon, Oct 24, 2005 at 06:08:11PM +1000:
>> On Sun, 2005-Oct-23 16:29:35 -0700, David O'Brien wrote:
>>> We should no trust cross built libraries for this purpose at this time.
>>> We really don't know how identical the results will be to being natively
>>> built.
>>
>> At some stage, we need to validate our cross-build chain with cmp(1).
>
> ELF object files are timestamped. But there's some elf-cmp out there.
On libraries (ELF or not: .so or .a) are.
I use diff -r to check that builds of object trees give reproducible
results, and just ignore libraries since they are built up from object
files by a simple process (perhaps not so simple for .so's). The main
problem at least used to be braindamaged applications that create
irreproducible results using the following methods:
- version.c files with a unique version number or timestamp
- __DATE__ in C files. Results are reproducible until the next day
- __TIME__ in C files
- __FILE__ in C files. For {source,generated} files, this makes the
results depend on the location of the {source,object} tree.
Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051024215918.V15095>
