From: Byeong-ryeol Kim <jinbo21@soback.kornet.nm.kr>
To: egcs@cygnus.com
Subject: '-march=pentiumpro' on i586-pc-linux-gnu
Date: Thu, 07 May 1998 10:22:00 -0000 [thread overview]
Message-ID: <Pine.LNX.3.96K.980507221420.7647A-100000@progress.plw.net> (raw)
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
reply other threads:[~1998-05-07 10:22 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.3.96K.980507221420.7647A-100000@progress.plw.net \
--to=jinbo21@soback.kornet.nm.kr \
--cc=egcs@cygnus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).