Bootstrap error in stage1 libgcc2.a on mips-sgi-irix6.2

Billinghurst, David (CRTS) David.Billinghurst@riotinto.com.au
Tue Apr 4 23:27:00 GMT 2000


On irix6.5, 20000403 snapshot,  this patch gets me past that error, but soon
after I get

for name in _eh; \
do \
  echo ${name}; \
  ./xgcc -B/exd4/billingd/tmp/egcs-20000403/mips-sgi-irix6.5/bin/ -B./
-I/exd4/billingd/tmp/egcs-20000403/mips-sgi-irix6.5/include -O2   -DIN_GCC
-g  -I./include   -g1  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   -fexceptions
-I. -I/exd4/billingd/src/egcs-20000403/gcc
-I/exd4/billingd/src/egcs-20000403/gcc/config
-I/exd4/billingd/src/egcs-20000403/gcc/../include -c \
      -DL${name} /exd4/billingd/src/egcs-20000403/gcc/libgcc2.c -o
${name}.o; \
  if [ $? -eq 0 ] ; then true; else exit 1; fi; \
  ar  rc tmplibgcc2.a ${name}.o; \
  rm -f ${name}.o; \
done
_eh
/exd4/billingd/src/egcs-20000403/gcc/libgcc2.c: In function `throw_helper':
/exd4/billingd/src/egcs-20000403/gcc/libgcc2.c:3838: Insn does not satisfy
its constraints:
(insn 66 769 68 (parallel[ 
            (set (mem/s:BLK (reg:SI 5 a1) 0)
                (mem/s:BLK (reg:SI 6 a2) 0))
            (clobber (reg:SI 7 a3))
            (clobber (reg:SI 8 t0))
            (clobber (reg:SI 9 t1))
            (clobber (reg:SI 10 t2))
            (use (const_int 32 [0x20]))
            (use (const_int 1 [0x1]))
            (use (const_int 0 [0x0]))
        ] ) 276 {movstrsi_internal} (nil)
    (nil))
/exd4/billingd/src/egcs-20000403/gcc/libgcc2.c:3838: Internal compiler error
in `?', at reload1.c:8130
Please submit a full bug report.



> -----Original Message-----
> From:	Alexandre Oliva [SMTP:aoliva@cygnus.com]
> Sent:	Wednesday, 5 April 2000 15:48
> To:	Kaveh R. Ghazi
> Cc:	egcs-bugs@egcs.cygnus.com; gcc-patches@gcc.gnu.org
> Subject:	Re: Bootstrap error in stage1 libgcc2.a on mips-sgi-irix6.2
> 
> On Apr  3, 2000, "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu> wrote:
> 
> >> > _eprintf
> >> > In file included from ../../egcs-CVS20000328/gcc/tsystem.h:52,
> >> >                  from ../../egcs-CVS20000328/gcc/libgcc2.c:35:
> >> > include/stdio.h:227: warning: ignoring pragma: 
> >> > include/stdio.h:229: warning: ignoring pragma: 
> >> > ../../egcs-CVS20000328/gcc/libgcc2.c: In function `__eprintf':
> >> > ../../egcs-CVS20000328/gcc/libgcc2.c:1313: Internal compiler error in
> >> > 	`expand_call', at calls.c:1916
> 
> This is an unexpected consequence of:
> 
> Sun Mar 26 11:37:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
> [snip]
> 	* config/mips/mips.h (BITS_PER_WORD, UNITS_PER_WORD): Cast to
> unsigned.
> 
> It's used in abi64.s'h RETURN_IN_MEMORY like this:
> 
>    : (int_size_in_bytes (TYPE)
> \
>       > (int)(mips_abi == ABI_EABI ? 2 * UNITS_PER_WORD : 16)))
> 
> when TYPE is the void type, int_size_in_bytes returns -1.  However,
> because the right-hand expression is unsigned, -1 is converted to
> unsigned, the test results true, and so does aggregate_value_p(), so
> expand_call() ends up entering the code section that should only be
> executed for aggregates, gets struct_value_size set to -1 and
> abort()s.
> 
> Here's an attempt to fix this bug.  Ok to install?  (assuming it
> bootstraps; it will take a long while for it to complete :-(
>  << File: mips-abi64-signedness.patch >>  << File: ATT05811.txt >> 


More information about the Gcc-patches mailing list