Re: compiler info in kernel identification string

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Fri, 16 Nov 2012 16:41:16 +0100
On 2012-11-16 11:00, Daniel Braniss wrote:
>> 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>:
...
>>> 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
> compiled
> either by different compilers, or different compiler flags.

Yes, but in practice this seldom happens.  In Linux they also just print
one compiler identification string at bootup, basically the compiler
which the main Makefile used.


> 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) ...

Well, gcc does this, and you get all the .comment sections merged into
the final kernel executable, but identifying it from there is a bit
messy.  A simple sysctl is just handier.

And regarding clang, I don't have the time to implement this very soon,
and I doubt it is very high on the bug priority list with upstream
either.  They just branched for the 3.2 release, and they are much
busier squashing bugs now. :)


> IMHO, the only meaningfull information added to uname was the svn/git(and
> hopefully hg) rev. version.

AFAIK newvers.sh only handles svn and git.
Received on Fri Nov 16 2012 - 14:41:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:32 UTC