gcc-2_95-branch no longer bootstraps on PPC

Franz Sirl Franz.Sirl-kernel@lauterbach.com
Mon Apr 3 08:18:00 GMT 2000


Hi,

after this patch got applied to the gcc-2_95-branch, the bootstrap on 
powerpc-linux-gnu breaked:

Wed Mar 22 13:11:54 2000  David Edelsohn  <edelsohn@gnu.org>

         * rs6000.c (reg_or_u_cint_operand): New function.
         (logical_operand): Handle 64-bit hosts.
         (logical_u_operand): New function.
         (non_logical_cint_operand): Handle 64-bit hosts.
         (non_logical_u_cint_operand): New function.
         (expand_block_move): Allow 8 DImode loads for PowerPC64.
         * rs6000.h (PREDICATE_CODES): Define new functions.
         * rs6000.md (iordi3, xordi3): Constant int must be unsigned 32-bits.
         (movdi_64): Bracket code intended for 64-bit hosts.  Create
         CONST_DOUBLE for 32-bit values.

         * glimits.h (__LONG_MAX__): Recognize 64-bit AIX too.

Wed Mar 22 13:11:54 2000  Gabriel Paubert  <paubert@iram.es>

         * rs6000.md: Correct instructions length attributes and
         constraints on unsigned compare instructions.
         (*ne0): Disable for PowerPC64.


   ./xgcc -B/home/fsirl/gnubin2/ppc-redhat-linux/bin/ -B./ 
-I/home/fsirl/gnubin2/ppc-redhat-linux/include -O2   -DIN_GCC -DHAIFA    -g -I.
/include  -fPIC -g1 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 
-D__GCC_FLOAT_NOT_NEEDED    -mstrict-align -I. -I../../../gcc95branch/gcc 
-I../../..
/gcc95branch/gcc/config -I../../../gcc95branch/gcc/../include -c -DL${name} \
        ../../../gcc95branch/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
_muldi3
_divdi3
_moddi3
_udivdi3
_umoddi3
_negdi2
_lshrdi3
_ashldi3
_ashrdi3
_ffsdi2
_udiv_w_sdiv
_udivmoddi4
_cmpdi2
_ucmpdi2
_floatdidf
_floatdisf
../../../gcc95branch/gcc/libgcc2.c: In function `__floatdisf':
../../../gcc95branch/gcc/libgcc2.c:1068: Internal compiler error:
../../../gcc95branch/gcc/libgcc2.c:1068: Internal compiler error in 
`emit_move_insn', at expr.c:2593
Please submit a full bug report.
See <URL: http://www.gnu.org/software/gcc/bugs.html > for instructions.
make[4]: *** [libgcc2.a] Error 1
make[4]: Leaving directory `/home/fsirl/obj/gcc95branch/gcc'
make[3]: *** [stmp-multilib-sub] Error 2
make[3]: Leaving directory `/home/fsirl/obj/gcc95branch/gcc'
make[2]: *** [stmp-multilib] Error 1
make[2]: Leaving directory `/home/fsirl/obj/gcc95branch/gcc'
make[1]: *** [bootstrap] Error 2
make[1]: Leaving directory `/home/fsirl/obj/gcc95branch/gcc'
make: *** [bootstrap] Error 2
Mon Apr  3 07:20:55 MST 2000
0m0.000s 0m0.000s
3m10.210s 0m31.350s

This failure looks somehow familiar to me, but I can't find any discussion 
in the archives :-(.

The failure happens here:
Starting program: /home/fsirl/obj/gcc95branch/gcc/./cc1 libgcc2.i -quiet 
-dumpbase libgcc2.c -g -g1 -O2 -version -o libgcc2.s
GNU C version 2.95.2 19991024 (release/franzo) (ppc-redhat-linux) compiled 
by GNU C version 2.95.2 19991024 (release/franzo).

Breakpoint 3, emit_move_insn (x=0x10437c90, y=0x104390b0) at 
../../../gcc95branch/gcc/expr.c:2593
2593        abort ();
(gdb) l
2588
2589      x = protect_from_queue (x, 1);
2590      y = protect_from_queue (y, 0);
2591
2592      if (mode == BLKmode || (GET_MODE (y) != mode && GET_MODE (y) != 
VOIDmode))
2593        abort ();
2594
2595      /* Never force constant_p_rtx to memory.  */
2596      if (GET_CODE (y) == CONSTANT_P_RTX)
2597        ;
(gdb) p mode
$1 = SFmode
(gdb) p debug_rtx(y)
(reg:DF 109)
$2 = void
(gdb) p debug_rtx(x)

(reg/i:SF 33 f1)
$3 = void

I guess some other patch has to be moved from the mainline to the branch?

Note that I have this not-yet-approved patch in my sources:

http://gcc.gnu.org/ml/gcc-bugs/2000-03/msg00471.html

Franz.



More information about the Gcc-bugs mailing list