Branch bug in gas on MIPS

Ralf Baechle ralf@linux-mips.org
Tue Aug 17 16:01:00 GMT 2004


Below little test case demonstrates a gas bug that results in swapping
of the two branch instructions and use of bogus destination addresses
for the first of the two branches.

[ralf@lappi tmp]$ cat s.s
1:      beqzl   $2, 1b
        beq     $4, $5, 1b
[ralf@lappi tmp]$ mips-linux-as -mips2 -o s.o s.s
[ralf@lappi tmp]$ mips-linux-objdump -d s.o
 
s.o:     file format elf32-tradbigmips
 
Disassembly of section .text:
 
00000000 <.text>:
   0:   1085ffff        beq     a0,a1,0x0
   4:   00000000        nop
   8:   50400000        beqzl   v0,0xc
   c:   00000000        nop

Have a nice day ;-)

  Ralf



More information about the Binutils mailing list