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 14 1: 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 f2,.arm 28 define f3,.arm 29 30 define f1t,.thumb_func 31 define f2t,.thumb_func 32 define f3t,.thumb_func 33 34 .globl _start 35 _start: 36 test_relocs foo 37 test_relocs f1 38 test_relocs f2 39 test_relocs f3 40 test_relocs f1t 41 test_relocs f2t 42 test_relocs f3t 43 .size _start,.-_start 44 45 .data 46 foo: 47 .word 0x11223344 48 .word __irel_start 49 .word __irel_end 50