1 .syntax unified 2 .arch armv6t2 3 4 .macro define,name,type 5 .type \name,%gnu_indirect_function 6 \type 7\name: 8 mov pc,lr 9 .size \name,.-\name 10 .endm 11 12 .macro test_relocs,name 13 ldr r4,1f 141: 15 .word \name - . 16 .endm 17 18 .global f2 19 .global f2t 20 21 .global f3 22 .hidden f3 23 .global f3t 24 .hidden f3t 25 26 define f1,.arm 27 define f3,.arm 28 29 define f1t,.thumb_func 30 define f3t,.thumb_func 31 32 .globl _start 33_start: 34 test_relocs foo 35 test_relocs f1 36 test_relocs f2 37 test_relocs f3 38 test_relocs f1t 39 test_relocs f2t 40 test_relocs f3t 41 .size _start,.-_start 42 43 .data 44foo: 45 .word 0x11223344 46 .word __irel_start 47 .word __irel_end 48