| .macro define,name | |
| .type \name,%gnu_indirect_function | |
| \name: | |
| mov pc,lr | |
| .size \name,.-\name | |
| .endm | |
| .macro test_relocs,name | |
| bl \name | |
| ldr r4,1f | |
| ldr r4,2f | |
| ldr r4,3f | |
| ldr r4,4f | |
| ldr r5,5f | |
| 1: | |
| .word \name | |
| 2: | |
| .word \name-. | |
| 3: | |
| .word \name(GOTOFF) | |
| 4: | |
| .word \name(GOT) | |
| 5: | |
| .word \name(GOT_PREL) | |
| .endm | |
| .global f2 | |
| .global f3 | |
| .hidden f3 | |
| define f1 | |
| define f2 | |
| define f3 | |
| .globl _start | |
| _start: | |
| test_relocs foo | |
| test_relocs f1 | |
| test_relocs f2 | |
| test_relocs f3 | |
| .size _start,.-_start | |
| .data | |
| foo: | |
| .word 0x11223344 | |
| .word __irel_start | |
| .word __irel_end |