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 1004 libgcc2.c:884: Internal compiler error in 'allocate_reload_reg', at reload1.c:5557 under SCO Unix 3.2v4.0


I tried building egcs-19991004 on SCO Unix 3.2v4.0.
I applied the 5 patches since 19990830.
My system has the sco dev sys, and I am building with
gnu gcc-2.7.2.1, gnu as-2.9.1, sco ld, gnu bison-1.28, gnu flex-2.5.4,
gnu make-3.78.1 and bash-2.04-beta1.

The build stopped quickly because it could not find "autoheader".
Is this due to a timestamp problem when building with patches instead of a
full distribution?
I made an empty script called "autoheader", and then the make continued.

The make died approximately the same ways as for the 0830 snapshot.
I was hoping that one of the edits to reload1.c would have helped.

I am pretty sure that this is an egcs problem (rather than flaky hardware
on my system) because the egcs list has several old reports which match
the error I had with the 0830 egcs. (The error below is slightly different.)

_fixunsdfdi
/u2/gnu/egcs-19991004/gcc/libgcc2.c: In function `__fixunsdfdi':
/u2/gnu/egcs-19991004/gcc/libgcc2.c:884: Could not find a spill register
(insn 32 29 34 (parallel[ 
            (set (reg:DI 0 eax)
                (fix:DI (reg/v:DF 8 st(0))))
            (clobber (mem:SI (plus:SI (reg:SI 6 ebp)
                        (const_int -4 [0xfffffffc])) 0))
            (clobber (mem:DI (plus:SI (reg:SI 6 ebp)
                        (const_int -12 [0xfffffff4])) 0))
            (clobber (scratch:SI))
            (clobber (scratch:XF))
        ] ) 135 {*fix_truncdi_1} (insn_list 29 (nil))
    (expr_list:REG_DEAD (reg/v:DF 8 st(0))
        (expr_list:REG_UNUSED (scratch:SI)
            (expr_list:REG_UNUSED (scratch:XF)
                (nil)))))
/u2/gnu/egcs-19991004/gcc/libgcc2.c:884: Internal compiler error in `allocate_reload_reg', at reload1.c:5557
Please submit a full bug report.
See <URL:http://www.gnu.org/software/gcc/faq.html#bugreport> for instructions.
gmake[2]: *** [libgcc2.a] Error 1
gmake[2]: Leaving directory `/u2/gnu/egcs-19991004/objdir/gcc'
gmake[1]: *** [bootstrap] Error 2
gmake[1]: Leaving directory `/u2/gnu/egcs-19991004/objdir/gcc'

When the build configures itself, it reports:
Using `/u2/gnu/egcs-19991004/gcc/config/i386/i386.c' to output insns.
Using `/u2/gnu/egcs-19991004/gcc/config/i386/i386.md' as machine description file.
Using `/u2/gnu/egcs-19991004/gcc/config/i386/sco4.h' as target machine macro file.
Using the following host machine macro files:
	/u2/gnu/egcs-19991004/gcc/config/i386/xm-i386.h
	/u2/gnu/egcs-19991004/gcc/config/i386/xm-sco.h

Is this reasonable for a SCO Unix 3.2v4.0 system on a Pentium?
Are any of these files likely to have "bit rot" that could cause register
allocation errors?

I got the bunch of warnings below, but the make seemed clean otherwise.

gcc -c -DIN_GCC -O -pipe -DHAVE_CONFIG_H -I. -I/u2/gnu/egcs-19991004/gcc
  -I/u2/gnu/egcs-19991004/gcc/config -I/u2/gnu/egcs-19991004/gcc/../include
  /u2/gnu/egcs-19991004/gcc/rtl.c
In file included from /u2/gnu/egcs-19991004/gcc/rtl.c:177:
/u2/gnu/egcs-19991004/gcc/machmode.def:73: warning: left shift count >= width of type
/u2/gnu/egcs-19991004/gcc/machmode.def:74: warning: left shift count >= width of type
...
/u2/gnu/egcs-19991004/gcc/machmode.def:119: warning: left shift count >= width of type

William

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