compiler info in kernel identification string

Dimitry Andric dim at
Fri Nov 16 15:41:13 UTC 2012

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>:
>>> 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: 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 only handles svn and git.

More information about the freebsd-current mailing list