[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