Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Nov 2012 13:27:26 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Alie Tan <alie@affle.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Compile FreeBSD kernel with gcc48
Message-ID:  <509F99AE.7020706@FreeBSD.org>
In-Reply-To: <CANuCnH-h_J%2BwEHxUKq=4LQjkM68Ca-3=nQFnMqdb8BV=paiOGw@mail.gmail.com>
References:  <CANuCnH-h_J%2BwEHxUKq=4LQjkM68Ca-3=nQFnMqdb8BV=paiOGw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2012-11-11 10:59, Alie Tan wrote:
> Anyone have experience compiling FreeBSD kernel with gcc48
>
> I have tried it but no success with this in src.conf
>
> C= /usr/local/bin/gcc48
> CXX= /usr/local/bin/g++48
> CWARNFLAGS= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes
> \-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual
> \-Wno-pointer-sign -D__FreeBSD_cc_version=0 \-Wno-unused-function
> -Wno-inline -Wno-format \-Wno-uninitialized -Wno-array-bounds
> -Wno-missing-prototypes
> NO_WERROR= 1

Last time I tried, I could get it to build with a gcc 4.8 snapshot, but
it failed to boot.  I did not investigate a great deal, but it looked a
lot like some sort of optimization bug.  Note that gcc 4.8 is still
experimental, so problems like this can be expected.

However, with gcc 4.7.1, which is a released version, the kernel did
build, and even boot.  With that kernel booted, I timed how long a "make
-j8 buildworld" took, compared to booting with kernels compiled by gcc
in base (v4.2.1) and clang in base (v3.2), on different optimization
settings.  The raw results are here:

http://www.andric.com/freebsd/perftest/perftest-kernel-2012-09-25b.txt

Summary:
- Kernels compiled with clang 3.2 at -O2 are ~8% faster in system time
   than kernels compiled with gcc 4.2.1 at -O2.
- Kernels compiled with clang 3.2 at -O2 perform equally to kernels
   compiled with gcc 4.7 at -O2, there is no significant difference.
- Kernels compiled with gcc 4.7 at -O3 have a slight advantage in system
   time (~3.6%) against kernels compiled with clang 3.2 at -O2.
(I did not test a kernel compiled with clang 3.2 at -O3.)


> Another question, is there any benchmark for LLVM/Clang vs gcc45, gcc46,
> gcc47 or gcc48?

As said, I only tested clang 3.2 against gcc 4.2 from base, and gcc
4.7.1 (hand-built, since the version from ports is inexplicably some
random snapshot, not a released version).

If anybody is extremely interested in more results, they should sponsor
some fast hardware, and donate it to the FreeBSD Project. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?509F99AE.7020706>