MIPS gas relaxation still doesn't work

H. J. Lu hjl@lucon.org
Sun Oct 13 14:54:00 GMT 2002


On Sat, Oct 12, 2002 at 11:34:23AM -0700, H. J. Lu wrote:
> Hi Alexandre,
> 
> I don't think your MIPS gas relaxation works. I got
> 
> # mipsel-linux-gcc /export/gnu/src/gcc-3.2/gcc/gcc/testsuite/g++.dg/opt/longbranch1.C
> /tmp/cc0rrnMz.s: Assembler messages:
> /tmp/cc0rrnMz.s:33733: Error: Branch out of range
> /tmp/cc0rrnMz.s:33740: Error: Branch out of range
> 
> Could you please verify it?
> 

Here is a small testcase extracted from gcc. I got

# mipsel-linux-gcc -c foo.s 
foo.s: Assembler messages:
foo.s:7: Error: Branch out of range

You may say it is a gcc bug. But I don't remember to see SGI assmebler
have any problem with g++.dg/opt/longbranch1.C. Does gcc generate
different code for Irix from Linux? Is it really unsafe to do branch
relaxation when macro is off.


H.J.
---foo.s---
foo:
	.space	0x20000
	.set    noreorder
	.set    nomacro
	bne     $2,$0,.+16
	nop
	j	foo
	nop



More information about the Binutils mailing list