Thread (14 messages) 14 messages, 6 authors, 2011-05-05

Re: [PATCH 00/34] Make kernel build deterministic

From: Michal Marek <hidden>
Date: 2011-04-06 09:07:34
Also in: linux-arm-kernel, linux-edac, linux-hams, linux-scsi, netdev

On 5.4.2011 21:24, Artem Bityutskiy wrote:
On Tue, 2011-04-05 at 08:49 -0700, Greg KH wrote:
quoted
On Tue, Apr 05, 2011 at 04:58:47PM +0200, Michal Marek wrote:
quoted
Hi,

this series makes it possible to build bit-identical kernel image and
modules from identical sources. Of course the build is already
deterministic in terms of behavior of the code, but the various
timestamps embedded in the object files make it hard to compare two
builds, for instance to verify that a makefile cleanup didn't
accidentally change something. A prime example is /proc/config.gz, which
has both a timestamp in the gzip header and a timestamp in the payload
data. With this series applied, a script like this will produce
identical kernels each time:
Very nice stuff.  Do you want to take the individual patches through one
of your trees, or do you mind if the subsystem maintainers take them
through theirs?
But unfortunately, it is very easy to break this and for sure it'll be
broken very soon.
I'm not so pessimistic. 34 patches and 57 files might sound like a lot,
but given that this has been accumulating since day one, the cleanup
should last for some time.

So additionally, I'd suggest:
1. Instrument checkpatch.pl and make it err or warn on timestamps.
This is patch 34/34 in this series: https://lkml.org/lkml/2011/4/5/198

2. Probably instrument linux-next to rise a warning when people break
   this.
I'm not sure if Stephen has that much spare time, and I don't think it
is necessary. I think the checkpatch check is sufficient and I'll check
myself occasionally.

Michal
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help