* '-march=pentiumpro' on i586-pc-linux-gnu
@ 1998-05-07 10:22 Byeong-ryeol Kim
0 siblings, 0 replies; only message in thread
From: Byeong-ryeol Kim @ 1998-05-07 10:22 UTC (permalink / raw)
To: egcs
There seems to be problems of egcs-19980502 with regard to
Pentiumpro flags, or there might be a problem that
egcs-19980502 mis-compile linux kernels(2.1.xx?) with
compile time flags, '-mcpu=pentiumpro -march=pentiumpro'.
I use RH 5.0 linux.(kernel 2.1.100pre3, glibc-2.0.7pre3,
binutils-2.9.0.4, egcs-1.0.2...)
Hardware components are AMD-K6/MMX-166(stepping 1), ASUS
P/I-P55T2P4 rev. 3.10(512K pipelined burst cache RAM), 64M
Samsung EDO RAM, etc.
As you know, the CPU is buggy when using more than 32M RAM.
But the story below seems to be another thing.
I usually compile linux kernels with '-mcpu=pentiumpro
-march=pentiumpro', since kernels after late 2.1.7x sorts K6
CPUs as Pentiumpro. There was no remarkable problem in kernels
with those flags.
I compiled egcs-19980502 several times(with Jim Wilson's patch
applied) with various compile flags, and in case of success it
passed all testsuite without 'unexpected FAIL' except the case
of g77.(I will attach the configuration and test result at the
end of this e-mail.)
BTW, I found some strange problem in egcs-19980502, which are
reproducible on my system.
1. I failed in compiling egcs, when I include '-mcpu=pentiumpro
-march=pentiumpro' in $CFLAGS, $BOOT_CFLAGS, or
'-fomit-frame-pinter' in $BOOT_CFLAGS.
The former flags caused genattr error(Error 132), and the
latter flag caused internal compiler error
at gcc/include/exception:26.
2. This seems to be more improtant.
After I succeeded in compiling egcs by eliminating above
flags, I could not boot linux 2.1.100pre3 kernel which was
compiled with '-mcpu=pentiumpro -march=pentiumpro' by egcs.
I could see only 'decompressing kernel image...' at the
beginning of loading kernel. My system locked solid. I should
hard-reset the system.
I re-compiled the kernel and modules with '-mcpu=pentium
-march=pentium' to boot that kernel successfully. Of course,
compiler was the same.
In short, All this problem did not occur with egcs-1.0.2.
I have a 2.0.34pre11b kernel which was compiled by
egcs-1.0.2(with proper source code changes) with
'-mcpu=pentiumpro -march=pentiumpro', which boots well
without any problem.
Details of 1:
* I changed columns for readability.
1) genattr error
Whenever I use '-mcpu=pentiumpro -march=pentiumpro' as compile time
flags with i586-pc-linux-gnu as host and target, I met this error.
Optimization level(-O?) or other flags does not matter.
....
stage1/xgcc -Bstage1/ -DIN_GCC -W -Wall -O9 -mcpu=pentiumpro \
-march=pentiumpro -malign-loops=0 -malign-jumps=0 \
-malign-functions=0 -fomit-frame-pointer \
-funroll-all-loops -pipe -s -DHAVE_CONFIG_H \
-o genattr \
genattr.o rtl.o print-rtl.o \
`case "obstack.o" in ?*) echo obstack.o ;; esac`
` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac `
./genattr ./config/i386/i386.md > tmp-attr.h
make[2]: *** [s-attr] Error 132
make[2]: Leaving directory `/usr/src/egcs-19980502/gcc'
make[1]: *** [bootstrap-lean] Error 2
make[1]: Leaving directory `/usr/src/egcs-19980502/gcc'
make: *** [bootstrap-lean] Error 2
....
2) Internal compiler error at gcc/include/exception:26
This occurs when I include '-fomit-frame-pointer' in
$BOOT_CFLAGS.
make[3]: Entering directory `/usr/src/egcs-19980502/gcc'
./xgcc -B./ -O2 -DIN_GCC -W -Wall -O9 -mcpu=pentium \
-march=pentium -malign-loops=0 -malign-jumps=0 \
-malign-functions=0 -fomit-frame-pointer \
-funroll-all-loops -g -I./include -fPIC -g1 \
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED \
-fexceptions -I. -I. -I./config \
-c ./cp/tinfo.cc
In file included from include/typeinfo:7,
from cp/tinfo.h:4,
from ./cp/tinfo.cc:29:
include/exception:26: Internal compiler error 19970302.
include/exception:26: Please submit a full bug report to \
`egcs-bugs@cygnus.com'.make[3]: *** [tinfo.o] Error 1
make[3]: Leaving directory `/usr/src/egcs-19980502/gcc'
make[2]: *** [libgcc2.a] Error 1
make[2]: Leaving directory `/usr/src/egcs-19980502/gcc'
make[1]: *** [bootstrap-lean] Error 2
make[1]: Leaving directory `/usr/src/egcs-19980502/gcc'
make: *** [bootstrap-lean] Error 2
------------------------------------------------------------------
Test results:
#!/bin/sh
# This file was generated automatically by configure. Do not edit.
# This directory was configured as follows:
configure --host=i586-pc-linux-gnu --prefix=/usr --enable-shared \
--enable-threads=posix --with-gnu-as --with-gnu-ld --norecursion
# using "mh-frag" and "mt-frag"
compile time flags:
1. 'make bootstrap-lean', or
2. CFLAGS="-O9 -mcpu=pentium -march=pentium \
-fomit-frame-pointer" \
BOOT_CFLAGS="-O9 -mcpu=pentium -march=pentium \
-funroll-all-loops" \
CXXFLAGS="-O9 -mcpu=pentium -march=pentium \
-fomit-frame-pinter" \
LDFLAGS="-s" make bootstrap-lean
=== libio Summary ===
# of expected passes 40
=== libstdc++ Summary ===
# of expected passes 30
=== gcc Summary ===
# of expected passes 6044
# of expected failures 6
# of unsupported tests 8
=== g++ Summary ===
# of expected passes 3817
# of expected failures 74
# of untested testcases 7
=== g77 Summary ===
# of expected passes 176
# of unexpected failures 10
FAIL: g77.f-torture/compile/970125-0.f, -O1
FAIL: g77.f-torture/compile/970125-0.f, -O2
FAIL: g77.f-torture/compile/970125-0.f, -O2 \
-fomit-frame-pointer -finline-functions
FAIL: g77.f-torture/compile/980427-0.f, -O0
FAIL: g77.f-torture/compile/980427-0.f, -O1
FAIL: g77.f-torture/compile/980427-0.f, -O2
FAIL: g77.f-torture/compile/980427-0.f, -O2 \
-fomit-frame-pointer -finline-functions
FAIL: g77.f-torture/compile/980424-0.f, -O1
FAIL: g77.f-torture/compile/980424-0.f, -O2
FAIL: g77.f-torture/compile/980424-0.f, -O2 \
-fomit-frame-pointer -finline-functions
"Where there is a will, there is a way." jinbo21@soback.kornet.nm.kr
kbeyl@kids.kotel.co.kr
For the future of you and me! hitel: jinbo21
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~1998-05-07 10:22 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-05-07 10:22 '-march=pentiumpro' on i586-pc-linux-gnu Byeong-ryeol Kim
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).