19991102 chk-ICE at varasm.c:3423 compiling gcc/libgcc2.c(_divdi3) on rs6000-ibm-aix4.2.0.0
Brown, Rodney
rodneybrown@pmsc.com
Sun Nov 7 14:49:00 GMT 1999
Title: 19991102 chk-ICE at varasm.c:3423 compiling gcc/libgcc2.c(_divdi3) on rs6000-ibm-aix4.2.0.0
rs6000-ibm-aix4.2.0.0 --enable-checking
Building with --enable-checking failed building cc1
ld: 0711-781 ERROR: TOC overflow. TOC size: 70204ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ Maximum size: 65536
This requires adding -Wl,-bbigtoc as a link option for cc1
gcc -DIN_GCC -g -W -Wall -DHAVE_CONFIG_H -Wl,-bbigtoc -o cc1 toplev.o ...
ld: 0711-783 WARNING: TOC overflow. TOC size: 70204ÃÂ ÃÂ ÃÂ ÃÂ Maximum size: 65536
ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ Extra instructions are being generated for each reference to a TOC
ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ symbol if the symbol is in the TOC overflow area.
19991102 chk-ICE at varasm.c:3423 compiling gcc/libgcc2.c(_divdi3)
on rs6000-ibm-aix4.2.0.0
Andreas Jaeger reported an ICE at the same location compiling __floatdisf
from the 1101 CVS on Linux, which also happened on UnixWare 7 on the 1102
snapshot.
ÃÂ ./xgcc -B/usr/local/rs6000-ibm-aix4.2.0.0/bin/ -B./ -I/usr/local/rs6000-ibm-aix4.2.0.0/include -O2ÃÂ ÃÂ -DIN_GCCÃÂ ÃÂ ÃÂ -g -W -Wall -I./includeÃÂ ÃÂ -g1ÃÂ -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDEDÃÂ ÃÂ -I. -I../../egcs-19991102/gcc -I../../egcs-19991102/gcc/config -I../../egcs-19991102/gcc/../include -c -DL${name} \
ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ -DUSE_COLLECT2 ../../egcs-19991102/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
../../egcs-19991102/gcc/libgcc2.c: In function `__udivmoddi4':
../../egcs-19991102/gcc/libgcc2.c:510: RTL check: expected elt 0 type 'e' or 'u', have 's' (rtx symbol_ref)
../../egcs-19991102/gcc/libgcc2.c:510: Internal compiler error in `decode_rtx_const', at varasm.c:3423
Please submit a full bug report.
See <URL: http://www.gnu.org/software/gcc/faq.html#bugreport > for instructions.
make[4]: *** [libgcc2.a] Error 1
make[4]: Leaving directory `/devel/tmp/egcs-19991102.chk/gcc'
ÃÂ ./cc1 libgcc2.i -quiet -dumpbase libgcc2.c -g -g1 -O2 -W -Wall -version -o libgcc2.s
GNU C version 2.96 19991102 (experimental) (rs6000-ibm-aix4.2.0.0) compiled by GNU C version egcs-2.91.66 19990314 (egcs-1.1.2 release).
../../egcs-19991102/gcc/libgcc2.c: In function `__udivmoddi4':
../../egcs-19991102/gcc/libgcc2.c:510: RTL check: expected elt 0 type 'e' or 'u', have 's' (rtx symbol_ref)
../../egcs-19991102/gcc/libgcc2.c:510: Internal compiler error in `decode_rtx_const', at varasm.c:3423
Please submit a full bug report.
GNU C version 2.96 19991102 (experimental) (rs6000-ibm-aix4.2.0.0) compiled by GNU C version egcs-2.91.66 19990314 (egcs-1.1.2 release).
Breakpoint 5, decode_rtx_const (mode=SImode, x=0x2014ebb8, value=0x2ff200e8)
ÃÂ ÃÂ ÃÂ at varasm.c:3423
3423ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ value->un.addr.base = XEXP (value->un.addr.base, 0);
#0ÃÂ decode_rtx_const (mode=SImode, x=0x2014ebb8, value=0x2ff200e8)
ÃÂ ÃÂ ÃÂ at varasm.c:3423
#1ÃÂ 0x1034c8e0 in const_hash_rtx (mode=SImode, x=0x2014ebb8) at varasm.c:3458
#2ÃÂ 0x1034d154 in force_const_mem (mode=SImode, x=0x2014ebb8) at varasm.c:3555
#3ÃÂ 0x10438f6c in gen_movsi (operand0=0x20089000, operand1=0x2014ebb8)
ÃÂ ÃÂ ÃÂ at insn-emit.c:5337
#4ÃÂ 0x1039cd60 in emit_move_insn_1 (x=0x20089000, y=0x2014ebb8) at expr.c:2595
#5ÃÂ 0x1039cc0c in emit_move_insn (x=0x20089000, y=0x2014ebb8) at expr.c:2575
#6ÃÂ 0x104d650c in force_reg (mode=SImode, x=0x2014ebb8) at explow.c:741
#7ÃÂ 0x104cef4c in memory_address (mode=BLKmode, x=0x2014ebb8) at explow.c:488
#8ÃÂ 0x10083d54 in change_address (memref=0x201ec540, mode=BLKmode,
ÃÂ ÃÂ ÃÂ addr=0x2014ebb8) at emit-rtl.c:1506
#9ÃÂ 0x103b16c4 in expand_expr (exp=0x20210b00, target=0x0, tmode=VOIDmode,
ÃÂ ÃÂ ÃÂ modifier=EXPAND_NORMAL) at expr.c:5931
#10 0x103b74d8 in expand_expr (exp=0x200e28c0, target=0x0, tmode=SImode,
ÃÂ ÃÂ ÃÂ modifier=EXPAND_NORMAL) at expr.c:6586
#11 0x103bb074 in expand_expr (exp=0x200e2920, target=0x0, tmode=VOIDmode,
ÃÂ ÃÂ ÃÂ modifier=EXPAND_NORMAL) at expr.c:7044
#12 0x103cb23c in expand_expr (exp=0x200e2940, target=0x0, tmode=VOIDmode,
ÃÂ ÃÂ ÃÂ modifier=EXPAND_NORMAL) at expr.c:8408
#13 0x103baed0 in expand_expr (exp=0x200e2980, target=0x0, tmode=VOIDmode,
ÃÂ ÃÂ ÃÂ modifier=EXPAND_NORMAL) at expr.c:7031
#14 0x103cb2f4 in expand_expr (exp=0x200e29a0, target=0x20075890,
ÃÂ ÃÂ ÃÂ tmode=VOIDmode, modifier=EXPAND_NORMAL) at expr.c:8409
#15 0x103baed0 in expand_expr (exp=0x200e29c0, target=0x20075890,
ÃÂ ÃÂ ÃÂ tmode=SImode, modifier=EXPAND_NORMAL) at expr.c:7031
#16 0x103a2448 in store_expr (exp=0x200e29c0, target=0x20075890, want_value=0)
ÃÂ ÃÂ ÃÂ at expr.c:3744
#17 0x103a1764 in expand_assignment (to=0x200b3480, from=0x200e29c0,
ÃÂ ÃÂ ÃÂ want_value=0, suggest_reg=1) at expr.c:3568
#18 0x103c92d8 in expand_expr (exp=0x200e29e0, target=0x0, tmode=VOIDmode,
ÃÂ ÃÂ ÃÂ modifier=EXPAND_NORMAL) at expr.c:8120
#19 0x1040f2d8 in expand_expr_stmt (exp=0x200e29e0) at stmt.c:1852
#20 0x1054f34c in expand_stmt_with_iterators_1 (stmt=0x200e29e0, iter_list=0x0)
ÃÂ ÃÂ ÃÂ at c-iterate.c:167
#21 0x1054f2dc in iterator_expand (stmt=0x200e29e0) at c-iterate.c:157
#22 0x1054d044 in yyparse () at c-parse.y:1529
#23 0x1000569c in compile_file (
ÃÂ ÃÂ ÃÂ name=0x20089130 'ÃÂ¥' <repeats 48 times>, "target_flags") at toplev.c:3206
#24 0x1000b854 in main (argc=13, argv=0x2ff22c98) at toplev.c:5583
#25 0x100001c8 in __start ()
3418ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ case SYMBOL_REF:
3419ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ case LABEL_REF:
3420ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ /* Use the string's address, not the SYMBOL_REF's address,
3421ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ for the sake of addresses of library routines.
3422ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ For a LABEL_REF, compare labels.ÃÂ */
3423ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ value->un.addr.base = XEXP (value->un.addr.base, 0);
3424ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ
3425ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ default:
3426ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ break;
3427ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ }
(gdb) p debug_rtx(x)
(symbol_ref:SI ("__clz_tab"))
$1 = void
(gdb) p *value
$2 = {kind = RTX_INT, mode = SImode, un = {du = {d = 3.9008569626931306e-154,
ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ i = {538241976, 0}}, addr = {base = 0x2014ebb8, offset = 0}, di = {
ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ high = 538241976, low = 0}}}
(gdb) c
Continuing.
../../egcs-19991102/gcc/libgcc2.c: In function `__udivmoddi4':
../../egcs-19991102/gcc/libgcc2.c:510: RTL check: expected elt 0 type 'e' or 'u', have 's' (rtx symbol_ref)
../../egcs-19991102/gcc/libgcc2.c:510: Internal compiler error in `decode_rtx_const', at varasm.c:3423
Please submit a full bug report.
See <URL: http://www.gnu.org/software/gcc/faq.html#bugreport > for instructions.
More information about the Gcc-bugs
mailing list