Skip site navigation (1)Skip section navigation (2)
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>