This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
gcc3.2.2 FAIL -O3 and Illegal Instructions
- From: "optix optix" <optix at tokyo dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Sat, 12 Apr 2003 17:15:25 -0500
- Subject: gcc3.2.2 FAIL -O3 and Illegal Instructions
I am haveing problems compiling gcc 3.2.2 properly on my system.
Enviornment:
- Debian Woody Stable
- Linux 2.4.20 with OpenWall and CryptoAPI (International) Patch
- gcc version 2.95.4
- /proc/cpuinfo says:
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 8
model name : mobile AMD Athlon(tm) XP 1400+
stepping : 0
cpu MHz : 1300.075
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow
bogomips : 2595.22
Specificaly, it compiles, however there are 9 unexpected failurs on the tests for gcc. Though i read somewhere (can't remeber exactly
which doc right now) that there its alright if there are some unexpected failiurs, i dont believe these fall under that category. Here are
the relevant lines:
...
=== libstdc++-v3 tests ===
...
FAIL: 26_numerics/c99_classification_macros_c.cc (test for excess errors)
...
=== gcc tests ===
...
FAIL: gcc.c-torture/execute/921215-1.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/nestfunc-2.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/nestfunc-2.c execution, -O3 -fomit-frame-pointer -funroll-loops
FAIL: gcc.c-torture/execute/nestfunc-2.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
FAIL: gcc.c-torture/execute/nestfunc-3.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/nestfunc-3.c execution, -O3 -fomit-frame-pointer -funroll-loops
FAIL: gcc.c-torture/execute/nestfunc-3.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
...
FAIL: gcc.dg/format/c99-printf-1.c %hhn unsigned char (test for warnings, line 196)
FAIL: gcc.dg/format/c99-printf-1.c (test for excess errors)
What really worries me are the failed "-O3" tests. At first i just ignored the failed tests remembering what i had read, however when i
tried compiling lmule for example with --enable-optimise, i get an Illegal Instruction. Compiling MPlayer gives me an Illegal instruction
as well now when i run it... However i did get it to work if i switch the -O3 flags to -O2 flags, AND i compile for the target platform
athlon instead of march=athlon-xp. I also noticed that if i dont specify a platform explicitely mplayer configures itself to
march=athlon-4. I did not have any of these problems with gcc 2.95.4, thus i am really wondering if this does not have something to do
with the FAILed tests when compiling gcc.
here are the commands i used to make gcc-3.2.2:
My configure script parameters:
../gcc-3.2.2/configure --prefix=/usr --program-suffix=-3.2.2 --enable-languages=c,objc,c++
My make command:
make CFLAGS='-O' LIBCFLAGS='-g -O2' LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap-lean
Bellow i have attached the complete output of the make -k check command in case this helps. Once again, there were no errors during
compilation. only some of the tests failed...
Does anyone have any idea whats happening here? and how i can fix things again? i am at a bit of a loss here as to how to procede... :-(
cheers,
optix
--------------------------------------------------------------------------------------------------------------------------------------
optix at idoru:/usr/src/gcc-objdir$ make -k check
make do-check NOTPARALLEL=parallel-ok
make[1]: Entering directory `/usr/src/gcc-objdir'
make[2]: Entering directory `/usr/src/gcc-objdir/libiberty'
make[3]: Entering directory `/usr/src/gcc-objdir/libiberty/testsuite'
echo 'int prepends_underscore = 0;' > test-us.c
gcc -DHAVE_CONFIG_H -g -O2 -I.. -I../../../gcc-3.2.2/libiberty/testsuite/../../include -o test-filter -DMAIN -DVERSION='"none"' -DHAVE_CONFIG_H \
../../../gcc-3.2.2/libiberty/testsuite/../cplus-dem.c test-us.c -L.. -liberty
/bin/sh ../../../gcc-3.2.2/libiberty/testsuite/regress-demangle ../../../gcc-3.2.2/libiberty/testsuite/demangle-expected
All 648 tests passed
make[3]: Leaving directory `/usr/src/gcc-objdir/libiberty/testsuite'
make[2]: Leaving directory `/usr/src/gcc-objdir/libiberty'
make[2]: Entering directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3'
Making check in include
make[3]: Entering directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/include'
make[3]: Nothing to be done for `check'.
make[3]: Leaving directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/include'
Making check in libio
make[3]: Entering directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/libio'
make[3]: Nothing to be done for `check'.
make[3]: Leaving directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/libio'
Making check in libmath
make[3]: Entering directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/libmath'
make[3]: Nothing to be done for `check'.
make[3]: Leaving directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/libmath'
Making check in libsupc++
make[3]: Entering directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/libsupc++'
make[3]: Nothing to be done for `check'.
make[3]: Leaving directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/libsupc++'
Making check in src
make[3]: Entering directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/src'
make[3]: Nothing to be done for `check'.
make[3]: Leaving directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/src'
Making check in po
make[3]: Entering directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/po'
make[3]: Nothing to be done for `check'.
make[3]: Leaving directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/po'
Making check in testsuite
make[3]: Entering directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/testsuite'
make check-DEJAGNU
make[4]: Entering directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/testsuite'
Making a new site.exp file...
srcdir=`cd ../../../../gcc-3.2.2/libstdc++-v3/testsuite && pwd`; export srcdir; \
EXPECT=`if [ -f /usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/../../expect/expect ] ; then echo /usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/../../expect/expect ; else echo expect ; fi`; export EXPECT; \
if [ -f ../../expect/expect ]; then \
TCL_LIBRARY=`cd ../../../../gcc-3.2.2/libstdc++-v3/../tcl/library && pwd`; \
export TCL_LIBRARY; \
fi; \
runtest=`if [ -f /usr/src/gcc-3.2.2/libstdc++-v3/../dejagnu/runtest ] ; then echo /usr/src/gcc-3.2.2/libstdc++-v3/../dejagnu/runtest ; else echo runtest; fi`; \
if /bin/sh -c "$runtest --version" > /dev/null 2>&1; then \
$runtest --tool libstdc++-v3 --srcdir $srcdir ; \
else echo "WARNING: could not find \`runtest'" 1>&2; :;\
fi
WARNING: Couldn't find tool init file
Test Run By optix on Fri Apr 11 21:20:07 2003
Native configuration is i686-pc-linux-gnu
=== libstdc++-v3 tests ===
Schedule of variations:
unix
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /usr/src/gcc-3.2.2/libstdc++-v3/testsuite/config/default.exp as tool-and-target-specific interface file.
Running /usr/src/gcc-3.2.2/libstdc++-v3/testsuite/libstdc++-v3.dg/dg.exp ...
XPASS: 22_locale/ctype_is_wchar_t.cc execution test
FAIL: 26_numerics/c99_classification_macros_c.cc (test for excess errors)
=== libstdc++-v3 Summary ===
# of expected passes 432
# of unexpected failures 1
# of unexpected successes 1
# of expected failures 25
make[4]: *** [check-DEJAGNU] Error 1
make[4]: Leaving directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/testsuite'
make[3]: *** [check-am] Error 2
make[3]: Target `check' not remade because of errors.
make[3]: Leaving directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3/testsuite'
make[3]: Entering directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3'
make[3]: Nothing to be done for `check-am'.
make[3]: Leaving directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3'
make[2]: *** [check-recursive] Error 1
make[2]: Target `check' not remade because of errors.
make[2]: Leaving directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libstdc++-v3'
make[1]: *** [check-target-libstdc++-v3] Error 2
make[2]: Entering directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libobjc'
make[2]: Nothing to be done for `check'.
make[2]: Leaving directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libobjc'
make[2]: Entering directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libiberty'
make[3]: Entering directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libiberty/testsuite'
make[3]: Nothing to be done for `check'.
make[3]: Leaving directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libiberty/testsuite'
make[2]: Leaving directory `/usr/src/gcc-objdir/i686-pc-linux-gnu/libiberty'
make[2]: Entering directory `/usr/src/gcc-objdir/gcc'
Making a new config file...
echo "set tmpdir /usr/src/gcc-objdir/gcc/testsuite" >> ./tmp0
test -d testsuite || mkdir testsuite
rm -f testsuite/site.exp
sed '/set tmpdir/ s|testsuite|testsuite|' < site.exp > testsuite/site.exp
(rootme=`pwd`; export rootme; \
srcdir=`cd ../../gcc-3.2.2/gcc; pwd` ; export srcdir ; \
cd testsuite; \
EXPECT=expect ; export EXPECT ; \
if [ -f ${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd ../../gcc-3.2.2/gcc/../tcl/library ; pwd` ; \
export TCL_LIBRARY ; fi ; \
runtest --tool gcc )
Test Run By optix on Fri Apr 11 21:28:31 2003
Native configuration is i686-pc-linux-gnu
=== gcc tests ===
Schedule of variations:
unix
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /usr/src/gcc-3.2.2/gcc/testsuite/config/default.exp as tool-and-target-specific interface file.
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/compile.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.c-torture/execute/execute.exp ...
FAIL: gcc.c-torture/execute/921215-1.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/nestfunc-2.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/nestfunc-2.c execution, -O3 -fomit-frame-pointer -funroll-loops
FAIL: gcc.c-torture/execute/nestfunc-2.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
FAIL: gcc.c-torture/execute/nestfunc-3.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/nestfunc-3.c execution, -O3 -fomit-frame-pointer -funroll-loops
FAIL: gcc.c-torture/execute/nestfunc-3.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.dg/cpp/cpp.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.dg/debug/debug.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.dg/dg.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.dg/format/format.exp ...
FAIL: gcc.dg/format/c99-printf-1.c %hhn unsigned char (test for warnings, line 196)
FAIL: gcc.dg/format/c99-printf-1.c (test for excess errors)
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.dg/noncompile/noncompile.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.dg/special/ecos.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.dg/special/special.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.misc-tests/acker1.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.misc-tests/arm-isr.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.misc-tests/bprob.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.misc-tests/dg-test.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.misc-tests/dhry.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.misc-tests/gcov.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.misc-tests/i386-prefetch.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.misc-tests/linkage.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.misc-tests/matrix1.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.misc-tests/mg.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.misc-tests/sieve.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/gcc.misc-tests/sort2.exp ...
=== gcc Summary ===
# of expected passes 18650
# of unexpected failures 9
# of expected failures 65
# of unsupported tests 44
/usr/src/gcc-objdir/gcc/xgcc version 3.2.2
make[2]: [check-gcc] Error 1 (ignored)
if (autogen --ver=v) > /dev/null 2>&1 ; \
then cd fixinc && make check ; \
else true ; fi
(rootme=`pwd`; export rootme; \
srcdir=`cd ../../gcc-3.2.2/gcc; pwd` ; export srcdir ; \
cd testsuite; \
EXPECT=expect ; export EXPECT ; \
if [ -f ${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd ../../gcc-3.2.2/gcc/../tcl/library ; pwd` ; \
export TCL_LIBRARY ; fi ; \
runtest --tool g++ )
Test Run By optix on Fri Apr 11 21:58:43 2003
Native configuration is i686-pc-linux-gnu
=== g++ tests ===
Schedule of variations:
unix
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /usr/src/gcc-3.2.2/gcc/testsuite/config/default.exp as tool-and-target-specific interface file.
Running /usr/src/gcc-3.2.2/gcc/testsuite/g++.dg/debug/debug.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/g++.dg/dg.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/g++.dg/special/ecos.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/g++.old-deja/old-deja.exp ...
=== g++ Summary ===
# of expected passes 7368
# of expected failures 89
# of untested testcases 9
# of unsupported tests 3
/usr/src/gcc-objdir/gcc/testsuite/../g++ version 3.2.2
(rootme=`pwd`; export rootme; \
srcdir=`cd ../../gcc-3.2.2/gcc; pwd` ; export srcdir ; \
cd testsuite; \
EXPECT=expect ; export EXPECT ; \
if [ -f ${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd ../../gcc-3.2.2/gcc/../tcl/library ; pwd` ; \
export TCL_LIBRARY ; fi ; \
runtest --tool objc )
Test Run By optix on Fri Apr 11 22:12:08 2003
Native configuration is i686-pc-linux-gnu
=== objc tests ===
Schedule of variations:
unix
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /usr/src/gcc-3.2.2/gcc/testsuite/config/default.exp as tool-and-target-specific interface file.
Running /usr/src/gcc-3.2.2/gcc/testsuite/objc/compile/compile.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/objc/execute/execute.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/objc.dg/dg.exp ...
Running /usr/src/gcc-3.2.2/gcc/testsuite/objc.dg/special/special.exp ...
=== objc Summary ===
# of expected passes 1035
# of expected failures 6
/usr/src/gcc-objdir/gcc/xgcc version 3.2.2
make[2]: Leaving directory `/usr/src/gcc-objdir/gcc'
make[1]: Target `do-check' not remade because of errors.
make[1]: Leaving directory `/usr/src/gcc-objdir'
make: *** [check] Error 2
---------------------------------------------------------------------------------------------------------------------------------------
--
__________________________________________________________
Sign-up for your own FREE Personalized E-mail at Mail.com
http://www.mail.com/?sr=signup