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 ldr r4,2f 15 1: 16 .word \name(GOT) 17 2: 18 .word \name(GOT_PREL) 19 .endm 20 21 .global f2 22 .global f2t 23 24 .global f3 25 .hidden f3 26 .global f3t 27 .hidden f3t 28 29 define f1,.arm 30 define f2,.arm 31 define f3,.arm 32 33 define f1t,.thumb_func 34 define f2t,.thumb_func 35 define f3t,.thumb_func 36 37 .globl _start 38 _start: 39 test_relocs foo 40 test_relocs f1 41 test_relocs f2 42 test_relocs f3 43 test_relocs f1t 44 test_relocs f2t 45 test_relocs f3t 46 .size _start,.-_start 47 48 .data 49 foo: 50 .word 0x11223344 51 .word __irel_start 52 .word __irel_end 53