1 .macro define,name 2 .text 3 .type \name,%gnu_indirect_function 4 \name: 5 mov pc,lr 6 .size \name,.-\name 7 .endm 8 9 .macro test_relocs,name 10 bl \name(PLT) 11 ldr r4,1f 12 ldr r4,2f 13 1: 14 .word \name(GOT) 15 2: 16 .word \name(GOT_PREL) 17 18 .data 19 .word \name 20 .word \name - . 21 .text 22 .endm 23 24 .globl f3 25 .hidden f3 26 27 define f1 28 define f3 29 30 .data 31 foo: 32 .word 0x11223344 33 34 .text 35 .globl arm 36 arm: 37 test_relocs foo 38 test_relocs f1 39 test_relocs f2 40 test_relocs f3 41 test_relocs f4 42 .size arm,.-arm 43