This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

egcs-19991019 self-compilation failure on x86/linux



	egcs-19991019 got an internal compiler error when attempting to
compile itself on a machine running the Linux 2.2.13 kernel and
glibc 2.1.  Here is the error:

/usr/src/egcs-19991019/gcc/xgcc -B/usr/src/egcs-19991019/gcc/ -B/usr/i686-pc-linux-gnu/bin/ -c -g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates -I. -I./stl -I../libio -I./../libio -nostdinc++ -D_IO_MTSAFE_IO stdexcepti.cc
stdexcepti.cc: In function `void __out_of_range (const char *)':
stdexcepti.cc:16: Internal compiler error.
stdexcepti.cc:16: Please submit a full bug report.
stdexcepti.cc:16: See <URL:http://www.gnu.org/software/gcc/faq.html#bugreport> for instructions.
make[1]: *** [stdexcepti.o] Error 1
make[1]: Leaving directory `/usr/src/egcs-19991019/i686-pc-linux-gnu/libstdc++'
make: *** [all-target-libstdc++] Error 2

	The installed compiler on this system is the egcs-19991013
snapshot, which may be part of the problem.

Side note:
	I have not seen 19991013 generate internal compiler errors, but
I have seen it generate code that the latest gas complains about.  I was
going to try to see if the problem was already fixed in 19991019 before
reporting it, but since I have not gotten 19991019 to build, I will
mention the bad code generation it 19991013 here.  The bad code always
is related to the wrong register width being used in shift instructions.
I have only seen it when compiling thing with "-O2".  One example occurs
when I try to compile a particular scsi driver module (tmscsim) in the
Linux 2.3.23pre4 kernel:

gcc -D__KERNEL__ -I/usr/src/linux-2.3/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -D__SMP__ -pipe -fno-strength-reduce -mpreferred-stack-boundary=2 -m386 -DCPU=386 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.3/include/linux/modversions.h   -c -o tmscsim.o tmscsim.c
{standard input}: Assembler messages:
{standard input}:3802: Error: `%si' not allowed with `shrb'
{standard input}:3809: Error: `%si' not allowed with `shrb'
tmscsim.c: In function `DC390_proc_info':
tmscsim.c:2428: warning: `shpnt' might be used uninitialized in this function
make[2]: *** [tmscsim.o] Error 1

	Anyhow, this second problem is probably a relatively
straightforward machine description bug that occurs frequently enough
so that I suspect that you folks have already fixed it, but I thought I
ought to mention it too, just in case it had not been reported by anyone
else.

Adam J. Richter     __     ______________   4880 Stevens Creek Blvd, Suite 104
adam@yggdrasil.com     \ /                  San Jose, California 95129-1034
+1 408 261-6630         | g g d r a s i l   United States of America
fax +1 408 261-6631      "Free Software For The Rest Of Us."

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]