compiler info in kernel identification string
danny at cs.huji.ac.il
Fri Nov 16 10:00:45 UTC 2012
> on 16/11/2012 11:20 Erik Cederstrand said the following:
> > Den 16/11/2012 kl. 08.34 skrev Andriy Gapon <avg at freebsd.org>:
> >> on 16/11/2012 01:09 Dimitry Andric said the following:
> >>> And as I remarked in another reply, now that I have thought about it a
> >>> bit, I would much rather see this information moved to a sysctl or dmesg
> >>> line, than in uname. With the happy side effect that no existing uname
> >>> parsers would be confused!
> >> I would still like to have at least compiler's "base name" or type or
> >> something in uname.
> > This has been brought up before, but what about putting all this in a
> > separate file, e.g. /etc/buildinfo?
> There is a chance this file could be out of sync with kernel.
> > At least I'd like this to be configurable. I'm trying to get FreeBSD code in
> > a shape where it can optionally produce deterministic binaries from two
> This is a very good goal. I also would like to see it achieved.
> > different builds (i.e. comparable with md5) as long as the binaries are
> > functionally equivalent, and "irrelevant" info like compiler version,
> I agree about the following items, but not about compilers / compiler versions.
> Different compilers can (and do) produce different binaries already (and
> sometimes bugs).
> While, indeed, time of compilation should not affect the binaries (unless the
> phase of the Moon plays a role).
> > hostname, username, timestamp, absolute path etc. are a nuisance if they
> > can't be turned off with -fno-ident, -frandom-seed, -DSTRIP_FBSDID, ar -D and
> > the like.
the question as to what compiler was used to compile the kernel is a bit of an
oxymoron, since the kernel is made up of many different modules, which get
either by different compilers, or different compiler flags.
since the compiler does 'sign' the modules it compiles (and clang will/should
do it soon: http://llvm.org/bugs/show_bug.cgi?id=7292) some tool like
file(1) could be modified to provide it, or config -x (8) ...
IMHO, the only meaningfull information added to uname was the svn/git(and
hopefully hg) rev. version.
as usual, my 3c,
More information about the freebsd-current