PR 10168
[deliverable/binutils-gdb.git] / gas / testsuite / gas / arm / thumb.s
index 095befbcde81392b1e8822af37284dbe510404ef..d1e43394efa2eec41176dcd167183e7426feb33c 100644 (file)
@@ -1,6 +1,6 @@
        .text
        .code 16
-foo:   
+.foo:  
        lsl     r2, r1, #3
        lsr     r3, r4, #31
 wibble/data:   
@@ -118,6 +118,7 @@ bar:
        bhi     bar
        blo     bar
        bul     bar
+       bal     bar
 
 close:
        lsl     r4, r5, #near - close
@@ -129,57 +130,73 @@ near:
        add     r0, sp, #255 << 2
        add     r0, pc, #255 << 2
 
-       add     sp, sp, #bar - foo
-       sub     sp, sp, #bar - foo
-       add     r0, sp, #bar - foo
-       add     r0, pc, #bar - foo
+       add     sp, sp, #bar - .foo
+       sub     sp, sp, #bar - .foo
+       add     r0, sp, #bar - .foo
+       add     r0, pc, #bar - .foo
 
-       add     r1, #bar - foo
-       mov     r6, #bar - foo
-       cmp     r7, #bar - foo
+       add     r1, #bar - .foo
+       mov     r6, #bar - .foo
+       cmp     r7, #bar - .foo
 
        nop
        nop
 
        .arm
-localbar:
-       b       localbar
-       b       wombat
-       bl      localbar
-       bl      wombat
+.localbar:
+       b       .localbar
+       b       .back
+       bl      .localbar
+       bl      .back
 
        bx      r0
        swi     0x123456
 
        .thumb
-
+       @ The following will be disassembled incorrectly if we do not
+       @ have a Thumb symbol defined before the first Thumb instruction:
+morethumb:
        adr     r0, forwardonly
 
-       b       foo
-       b       wombat
-       bl      foo
-       bl      wombat
+       b       .foo
+       b       .back
+       bl      .foo
+       bl      .back
 
        bx      r0
 
        swi     0xff
        .align  0
 forwardonly:
-       beq     wombat
-       bne     wombat
-       bcs     wombat
-       bcc     wombat
-       bmi     wombat
-       bpl     wombat
-       bvs     wombat
-       bvc     wombat
-       bhi     wombat
-       bls     wombat
-       bge     wombat
-       bgt     wombat
-       blt     wombat
-       bgt     wombat
-       ble     wombat
-       bhi     wombat
-       blo     wombat
-       bul     wombat
+       beq     .back
+       bne     .back
+       bcs     .back
+       bcc     .back
+       bmi     .back
+       bpl     .back
+       bvs     .back
+       bvc     .back
+       bhi     .back
+       bls     .back
+       bge     .back
+       bgt     .back
+       blt     .back
+       bgt     .back
+       ble     .back
+       bhi     .back
+       blo     .back
+       bul     .back
+
+.back:
+       bl      .local
+       .space  (1 << 11)       @ leave space to force long offsets
+.local:
+       bl      .back
+
+       ldr     r0, .target
+       ldr     r0, .target
+       ldr     r0, [pc, #4]
+       ldr     r0, [pc, #4]
+.target:
+       nop     @ pad for a.out
+       nop
This page took 0.026832 seconds and 4 git commands to generate.