------- Comment #2 from bdubbs at linuxfromscratch dot org 2010-05-14 21:27 ------- OK, these are my procedures:
svn co svn://gcc.gnu.org/svn/gcc/branches/gcc-4_5-branch gcc45-svn (revision 159398) cd gcc45-svn sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in sed -i 's...@\./fixinc\...@-c true@' gcc/Makefile.in mkdir ../gcc-build cd ../gcc-build ../gcc45-svn/configure \ --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --disable-multilib \ --enable-bootstrap \ --enable-clocale=gnu \ --enable-languages=c,c++ make bootstrap make -k check ../gcc45-svn/contrib/test_summary Native configuration is x86_64-unknown-linux-gnu === g++ tests === Running target unix === g++ Summary === # of expected passes 21906 # of expected failures 149 # of unsupported tests 269 === gcc tests === Running target unix FAIL: gcc.c-torture/compile/limits-exprparen.c -O0 (test for excess errors) FAIL: gcc.c-torture/compile/limits-exprparen.c -O1 (test for excess errors) FAIL: gcc.c-torture/compile/limits-exprparen.c -O2 (test for excess errors) FAIL: gcc.c-torture/compile/limits-exprparen.c -O3 -fomit-frame-pointer (test for excess errors) FAIL: gcc.c-torture/compile/limits-exprparen.c -O3 -g (test for excess errors) FAIL: gcc.c-torture/compile/limits-exprparen.c -Os (test for excess errors) === gcc Summary === # of expected passes 61141 # of unexpected failures 6 # of expected failures 168 # of unsupported tests 826 Running target unix === libgomp Summary === # of expected passes 1029 === libmudflap tests === Running target unix FAIL: libmudflap.c/fail31-frag.c (-O3) output pattern test FAIL: libmudflap.c/pass45-frag.c (-O3) execution test FAIL: libmudflap.c/pass45-frag.c (-O3) output pattern test FAIL: libmudflap.c/pass45-frag.c (-O3) execution test FAIL: libmudflap.c/pass45-frag.c (-O3) output pattern test FAIL: libmudflap.c++/pass41-frag.cxx execution test FAIL: libmudflap.c++/pass41-frag.cxx (-static) 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 === libmudflap Summary === # of expected passes 1884 # of unexpected failures 10 === libstdc++ tests === Running target unix === libstdc++ Summary === # of expected passes 7065 # of expected failures 95 # of unsupported tests 339 make install gcc --version gcc (GCC) 4.5.1 20100514 (prerelease) cd /sources/linux-2.6.33.4 make menuconfig # KBUILD_CFLAGS += -Os make make modules_install cp arch/x86/boot/bzImage /boot/linux-test reboot Hand Copied: init[1] segfault at ffffffff810099bd ip ffffffff810088bd sp --------- error 15 kernel panic - not syncing: Attempted to kill init! Pid: 1,comm: init not tainted 2.6.33.4-lfs66 Call Trace: [<ffffffff81------>] panic [<ffffffff81------>] ? get_current_tty [<ffffffff81------>] do_exit [<ffffffff81------>] do_group_exit [<ffffffff81------>] get_signal_to_deliver [<ffffffff81------>] do_signal [<ffffffff81------>] ? printk [<ffffffff81------>] ? rdtsc_barrier [<ffffffff81------>] ? printk [<ffffffff81------>] ? __bad_area_nosemaphore [<ffffffff81------>] ? rdtsc_barrier [<ffffffff81------>] do_notify_resume [<ffffffff81------>] retint_signal [<ffffffff81------>] ? rdtsc_barrier --------- Changing back to not optimize for size results in a bootable kernel. Also, every package on the boot partition was built with gcc-4.5.0. Evidently none of the other core packages tries to optimize for size. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44129