"joern.renne...@embecosm.com" <joern.renne...@embecosm.com> wrote:
> This fixes the problem on the Epiphany, but I haven't tested if it also fixes 
> it on
> the SH - AAUI you'd have to back out a workaround first to properly test it.
> 
> Bootstrapped powerpc64-unknown-linux-gnu.

With the patch + reverting 148018 workaround, I've got a failure
when building libgcc on SH.

/exp/ldroot/dodes/xsh-gcc/./gcc/xgcc -B/exp/ldroot/dodes/xsh-gcc/./gcc/ 
-B/usr/local/sh4-unknown-linux-gnu/bin/ -B/usr/local/sh4-unknown-linux-gnu/lib/ 
-isystem /usr/local/sh4-unknown-linux-gnu/include -isystem 
/usr/local/sh4-unknown-linux-gnu/sys-include    -g -O2 -O2  -g -O2 -DIN_GCC 
-DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing -Wwrite-strings 
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  
-isystem ./include   -fpic -mieee -mieee -DNO_FPSCR_VALUES -g -DIN_LIBGCC2 
-fbuilding-libgcc -fno-stack-protector   -fpic -mieee -mieee -DNO_FPSCR_VALUES 
-I. -I. -I../.././gcc -I../../../LOCAL/trunk/libgcc 
-I../../../LOCAL/trunk/libgcc/. -I../../../LOCAL/trunk/libgcc/../gcc 
-I../../../LOCAL/trunk/libgcc/../include  -DHAVE_CC_TLS  -o _muldc3.o -MT 
_muldc3.o -MD -MP -MF _muldc3.dep -DL_muldc3 -c 
../../../LOCAL/trunk/libgcc/libgcc2.c -fvisibility=hidden -DHIDE_EXPORTS
../../../LOCAL/trunk/libgcc/libgcc2.c: In function '__muldc3':
../../../LOCAL/trunk/libgcc/libgcc2.c:1929:1: internal compiler error: in 
set_unique_reg_note, at emit-rtl.c:4960

#0  fancy_abort (file=0x8929248 "../../LOCAL/trunk/gcc/emit-rtl.c", line=4960, 
    function=0x8928f44 "set_unique_reg_note")
    at ../../LOCAL/trunk/gcc/diagnostic.c:899
#1  0x0826dead in set_unique_reg_note (insn=0xb7fda120, kind=REG_EQUAL, 
    datum=0xb7fd5aa4) at ../../LOCAL/trunk/gcc/emit-rtl.c:4960
#2  0x08486dc6 in find_reloads (insn=0xb7fa59fc, replace=1, ind_levels=0, 
    live_known=1, reload_reg_p=0x8ad2660)
    at ../../LOCAL/trunk/gcc/reload.c:2866
#3  0x0849596f in reload_as_needed (live_known=1)
    at ../../LOCAL/trunk/gcc/reload1.c:4631
#4  0x08498422 in reload (first=0xb7f436a0, global=1)
    at ../../LOCAL/trunk/gcc/reload1.c:1058

(gdb) fr 1
#1  0x0826dead in set_unique_reg_note (insn=0xb7fda120, kind=REG_EQUAL, 
    datum=0xb7fd5aa4) at ../../LOCAL/trunk/gcc/emit-rtl.c:4960
4960      gcc_assert (set);
(gdb) call debug_rtx(insn)
(insn 601 576 67 10 (use (reg/v:DF 219 [ a ])) 
../../../LOCAL/trunk/libgcc/libgcc2.c:1892 -1
     (nil))
(gdb) fr 2
#2  0x08486dc6 in find_reloads (insn=0xb7fa59fc, replace=1, ind_levels=0, 
    live_known=1, reload_reg_p=0x8ad2660)
    at ../../LOCAL/trunk/gcc/reload.c:2866
2866                set_unique_reg_note (emit_insn_before (gen_rtx_USE 
(VOIDmode, reg),

It seems that find_reloads calls set_unique_reg_note for
a USE insn.

Regards,
        kaz

Reply via email to