public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* '-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).