[Clfs-dev] GCC 4.3.0 build options, tests results and comments

Gabriel Barazer gabriel at oxeva.fr
Mon May 5 14:47:39 PDT 2008


Hi,

I spent the last 4 days looking at all the options used for building GCC 
4.3.0. I also compared to the old build options (in LFS/CLFS books, in 
gentoo,debian and fedora systems) as well as the ones in the only Linux 
distribution providing gcc 4.3 natively as far as I know (Fedora 9 
preview, stable out in ~10 days).
Many build options are now deprecated, and a whole list of build 
options, as usual, does not exists: each subsystem of gcc contains its 
own configure script with new options that you have to define when 
running the main script. The best way to see all the possible options is 
to run all the configure scripts with the --help switch e.g.
for i in $(find . -name 'configure'); do echo $i; $i --help; done
in the gcc 4.3.0 source directory

Here is a list of options which are still valid as of gcc-4.3.0:
../gcc-4.3.0/configure --prefix=/usr --libdir=/usr/lib64 
--libexecdir=/usr/lib64 --mandir=/usr/share/man 
--infodir=/usr/share/info --enable-bootstrap --enable-shared 
--enable-threads=posix --enable-__cxa_atexit --enable-checking=release 
--with-system-zlib --enable-languages=c,c++

I compared to the configure options provided for gcc 4.2.2 in the CLFS 
manual (SVN 20080228 x86_64). These are not needed anymore:
--enable-c99: on by default
--enable-long-long: on by default
--enable-clocale=gnu: detection is automatic and correct
--disable-libstdcxx-pch: on by default, depends on 
--enable-hosted-libstdcxx which is also on by default

other options that _might_ be useful, although on by default:
--enable-multilib
--enable-bootstrap
--enable-shared
--with-system-zlib : obviously, this one has to be removed when building 
gcc on a new system without zlib (or maybe we could build zlib with the 
cross compiler before the final gcc build).

I also compared the fedora 9 build options for gcc-4.3: looks like they 
were in a hurry and forgot an old option:
--disable-libunwind-exceptions: doesn't exist anymore since 2004, always 
disabled except if an external libunwind is specified with 
--with-system-libunwind
all the other options such as --disable-dssi or --enable-plugin are for java

GCC 4.3.0 is still using an old autoconf version, so we have to fix the 
man/info pages paths with --mandir and --infodir

Last note: gcc's libiberty is not identical anymore to the one in 
binutils. The most recent one is in gcc, I guess we have to correct that 
as well in the manual.

Next move: testing. No serious errors have been detected according to 
the test summary:
-----
                === g++ tests ===


Running target unix
WARNING: Could not compile g++.dg/compat/struct-layout-1 generator

                === gcc tests ===


Running target unix
WARNING: Could not compile gcc.dg/compat/struct-layout-1 generator
XPASS: gcc.dg/cpp/cmdlne-dI-M.c scan-file 
(^|\\\\n)cmdlne-dI-M.*:[^\\\\n]*cmdlne-dI-M.c
XPASS: gcc.dg/cpp/cmdlne-dM-M.c scan-file 
(^|\\\\n)cmdlne-dM-M[^\\\\n]*:[^\\\\n]*cmdlne-dM-M.c

                === libmudflap tests ===


Running target unix
FAIL: libmudflap.c++/pass41-frag.cxx execution test
FAIL: libmudflap.c++/pass41-frag.cxx ( -O) execution test
FAIL: libmudflap.c++/pass41-frag.cxx (-O2) execution test
FAIL: libmudflap.c++/pass41-frag.cxx (-O3) execution test

                === libstdc++ tests ===


Running target unix
XPASS: 26_numerics/headers/cmath/c99_classification_macros_c.cc (test 
for excess errors)

-----

The failed libmudflap tests are a known problem related to timeouts 
being too short.

Another note regarding the tests: some gcc tests are _very_ memory 
hungry (~1.5GB). I think it is important to warn users about this in the 
manual.

Can anyone update the book to include gcc 4.3.0 ?

Gabriel



More information about the Clfs-dev mailing list