MIPS Wrong-code regression.

Andrew Haley aph@redhat.com
Wed Jan 31 09:45:00 GMT 2007


David Daney writes:
 > Richard,
 > 
 > Sometime between 1/7 and 1/16 on the trunk I started getting wrong code 
 > on a bunch of java testcases under mipsel-linux.
 > 
 > It looks related to (but not necessarily caused by) this patch:
 > 
 > http://gcc.gnu.org/ml/gcc-patches/2006-03/msg01346.html
 > 
 > For example if we examine the assembler output of the PR9577.java 
 > testcase, we see:
 > 
 > .
 > .
 > .
 > $LBB2:
 > lw 2,40ドル($fp)
 > sw 2,24ドル($fp)
 > lw 2,24ドル($fp)
 > move 4,ドル2ドル
 > .option pic0
 > jal _ZN4java4lang6ObjectC1Ev
 > nop
 > 
 > .option pic2
 > lw 28,16ドル($fp)
 > $LBE2:
 > move $sp,$fp
 > lw 31,36ドル($sp)
 > lw $fp,32($sp)
 > addiu $sp,$sp,40
 > j 31ドル
 > nop
 > 
 > The call to _ZN4java4lang6ObjectC1Ev is being generated as non-pic, even 
 > though that symbol is defined in libgcj.so. The assembler and linker 
 > conspire to jump to address 0x00000000 for this call.
 > 
 > It looks like the logic that decides if a symbol is external to the 
 > compilation unit is faulty.
 > 
 > Any ideas about where it might have gone wrong?
Does http://gcc.gnu.org/ml/gcc/2007-01/msg01184.html fix this?
Andrew.


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /