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

Gabriel Barazer gabriel at oxeva.fr
Mon May 5 20:49:18 PDT 2008


On 05/06/2008 2:11:55 AM +0200, David Broadfoot <david at cross-lfs.org> wrote:
> First off, Thanks for going though and writing this all up. We have 
> slated this update for after the current release of the book.
> 
> Again, thanks for this, and I know that if I get time to play with this, 
> I will use your notes here to help me.

No problem, I'm just sharing my results and proposing to update the 
development book. I never intended to have 4.3 making it in the upcoming 
release, but rather in the next svn trunk after it's out.

About stability, I will soon recompile some server software (apache2, 
php5, mysql5, ruby, perl588...) as well as the new 
not-officially-released-before-fedora-9-is-out glibc-2.8 all with 
gcc-4.3.0 and throw them into QA before going into production in ~1 
month. Therefore I will be able to tell if there is any serious bug.

However I am only in the server/embedded OS business so I can't tell if 
it works properly with desktop applications. I guess some people here 
are using LFS desktops, can compile gcc with my notes and give it a try?

Gabriel

> Gabriel Barazer wrote:
>> 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
>> _______________________________________________
>> Clfs-dev mailing list
>> Clfs-dev at lists.cross-lfs.org
>> http://lists.cross-lfs.org/listinfo.cgi/clfs-dev-cross-lfs.org
> 
> _______________________________________________
> Clfs-dev mailing list
> Clfs-dev at lists.cross-lfs.org
> http://lists.cross-lfs.org/listinfo.cgi/clfs-dev-cross-lfs.org



More information about the Clfs-dev mailing list