Bootstrap failure in 4.4.1
I was building gcc-4.4.1 on an i686-linux-gnu slackware-12.2 box with the default optimization flags. I'd last built/installed 4.4.0. The current build dies at: libtool: compile: /home/ronis/objdir/./gcc/xgcc -shared-libgcc -B/home/ronis/objdir/./gcc -nostdinc++ -L/home/ronis/objdir/i686-pc-linux-gnu/libstdc++-v3/src -L/home/ronis/objdir/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -isystem /usr/i686-pc-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I../../../gcc/libjava -I./include -I./gcj -I../../../gcc/libjava -Iinclude -I../../../gcc/libjava/include -I../../../gcc/libjava/classpath/include -Iclasspath/include -I../../../gcc/libjava/classpath/native/fdlibm -I../../../gcc/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../gcc/libjava/libltdl -I../../../gcc/libjava/libltdl -I../../../gcc/libjava/.././libjava/../gcc -I../../../gcc/libjava/../zlib -I../../../gcc/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Usun -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\"/usr\" -DTOOLEXECLIBDIR=\"/usr/lib\" -DJAVA_HOME=\"/usr\" -DBOOT_CLASS_PATH=\"/usr/share/java/libgcj-4.4.1.jar\" -DJAVA_EXT_DIRS= \"/usr/share/java/ext\" -DGCJ_ENDORSED_DIRS= \"/usr/share/java/gcj-endorsed\" -DGCJ_VERSIONED_LIBDIR= \"/usr/lib/gcj-4.4.1-10\" -DPATH_SEPARATOR=\":\" -DECJ_JAR_FILE= \"/usr/share/java/ecj.jar\" -DLIBGCJ_DEFAULT_DATABASE= \"/usr/lib/gcj-4.4.1-10/classmap.db\" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\"gcj-4.4.1-10/classmap.db\" -g -O2 -D_GNU_SOURCE -MT posix-threads.lo -MD -MP -MF .deps/posix-threads.Tpo -c ../../../gcc/libjava/posix-threads.cc -o posix-threads.o >/dev/null 2>&1 here=`pwd`; cd ../../../gcc/libjava/classpath/lib; \ find gnu java javax org sun -name .svn -prune -o -name '*.class' -print | \ gjar -cfM@ $here/libgcj-4.4.1.jar jar: internal error: java.lang.NullPointerException at gnu.classpath.tools.jar.Creator.writeCommandLineEntries(libgcj-tools.so.10) at gnu.classpath.tools.jar.Creator.run(libgcj-tools.so.10) at gnu.classpath.tools.jar.Main.run(libgcj-tools.so.10) at gnu.classpath.tools.jar.Main.main(libgcj-tools.so.10) make[3]: *** [libgcj-4.4.1.jar] Error 1 make[3]: Leaving directory `/home/ronis/objdir/i686-pc-linux-gnu/libjava' /usr/share/java/ecj.jar is a symbolic link to ecj-3.4.2.jar.
-O3 and new optimizations in 4.4.0
>From the info pages it seems that the new optimizations, -floop-interchange, -floop-strip-mine, and -floop-block, are NOT turned on when -O3 is specified. Is this correct and if so, why aren't they? David
Re: -O3 and new optimizations in 4.4.0
Thanks for the reply. On the other hand, it seems that PPL and Cloog are auto-detected by configure; shouldn't that be enough to dynamically modify what -O3 does (or perhaps enable -O4)? On a related point, having used my old build script to build gcc I, of course, didn't read the prerequisites section. I have to rebuild right? David On Thu, 2009-04-23 at 15:57 +, Joseph S. Myers wrote: > On Thu, 23 Apr 2009, David Ronis wrote: > > > >From the info pages it seems that the new optimizations, > > -floop-interchange, -floop-strip-mine, and -floop-block, are NOT turned > > on when -O3 is specified. Is this correct and if so, why aren't they? > > Because the behavior of -O3 must not depend on whether optional libraries > are linked into GCC, and we did not decide to make PPL and CLooG required > to build GCC, so -O3 cannot enable any optimizations using optional > libraries. >