| #name: Inter-section branch relocations |
| #This test is only valid on ELF based ports. |
| #not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* |
| #as: -march=armv5t |
| #objdump: -rd |
| #stderr: branch-reloc.l |
| |
| # Test the generation of relocation for inter-section branches |
| |
| .*: +file format.*arm.* |
| |
| |
| Disassembly of section .text: |
| |
| 00000000 <arm_glob_sym1-0x4>: |
| 0: e1a00000 nop ; \(mov r0, r0\) |
| |
| 00000004 <arm_glob_sym1>: |
| 4: ebfffffe bl 46 <thumb_glob_sym1> |
| 4: R_ARM_CALL thumb_glob_sym1 |
| 8: ebfffffe bl 100 <thumb_glob_sym2> |
| 8: R_ARM_CALL thumb_glob_sym2 |
| c: fa00000c blx 44 <thumb_sym1> |
| 10: ebfffffe bl 4 <arm_glob_sym1> |
| 10: R_ARM_CALL arm_glob_sym1 |
| 14: ebfffffe bl 13c <arm_glob_sym2> |
| 14: R_ARM_CALL arm_glob_sym2 |
| 18: eb000007 bl 3c <arm_sym1> |
| 1c: fafffffe blx 46 <thumb_glob_sym1> |
| 1c: R_ARM_CALL thumb_glob_sym1 |
| 20: fafffffe blx 100 <thumb_glob_sym2> |
| 20: R_ARM_CALL thumb_glob_sym2 |
| 24: fa000006 blx 44 <thumb_sym1> |
| 28: fafffffe blx 4 <arm_glob_sym1> |
| 28: R_ARM_CALL arm_glob_sym1 |
| 2c: fafffffe blx 13c <arm_glob_sym2> |
| 2c: R_ARM_CALL arm_glob_sym2 |
| 30: eb000001 bl 3c <arm_sym1> |
| 34: e1a00000 nop ; \(mov r0, r0\) |
| 38: e12fff1e bx lr |
| |
| 0000003c <arm_sym1>: |
| 3c: e1a00000 nop ; \(mov r0, r0\) |
| 40: e12fff1e bx lr |
| |
| 00000044 <thumb_sym1>: |
| 44: 4770 bx lr |
| |
| 00000046 <thumb_glob_sym1>: |
| 46: 4770 bx lr |
| |
| Disassembly of section foo: |
| |
| 00000000 <thumb_glob_sym2-0x100>: |
| ... |
| |
| 00000100 <thumb_glob_sym2>: |
| 100: f7ff fffe bl 4 <thumb_glob_sym2-0xfc> |
| 100: R_ARM_THM_CALL arm_glob_sym1 |
| 104: f7ff fffe bl 13c <arm_glob_sym2> |
| 104: R_ARM_THM_CALL arm_glob_sym2 |
| 108: f000 e816 blx 138 <arm_sym2> |
| 10c: f7ff fffe bl 46 <thumb_glob_sym2-0xba> |
| 10c: R_ARM_THM_CALL thumb_glob_sym1 |
| 110: f7ff fffe bl 100 <thumb_glob_sym2> |
| 110: R_ARM_THM_CALL thumb_glob_sym2 |
| 114: f000 f80e bl 134 <thumb_sym2> |
| 118: f7ff effe blx 4 <thumb_glob_sym2-0xfc> |
| 118: R_ARM_THM_CALL arm_glob_sym1 |
| 11c: f7ff effe blx 13c <arm_glob_sym2> |
| 11c: R_ARM_THM_CALL arm_glob_sym2 |
| 120: f000 e80a blx 138 <arm_sym2> |
| 124: f7ff effe blx 46 <thumb_glob_sym2-0xba> |
| 124: R_ARM_THM_CALL thumb_glob_sym1 |
| 128: f7ff effe blx 100 <thumb_glob_sym2> |
| 128: R_ARM_THM_CALL thumb_glob_sym2 |
| 12c: f000 f802 bl 134 <thumb_sym2> |
| 130: 46c0 nop ; \(mov r8, r8\) |
| 132: 4770 bx lr |
| |
| 00000134 <thumb_sym2>: |
| 134: 46c0 nop ; \(mov r8, r8\) |
| 136: 4770 bx lr |
| |
| 00000138 <arm_sym2>: |
| 138: e12fff1e bx lr |
| |
| 0000013c <arm_glob_sym2>: |
| 13c: e12fff1e bx lr |