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