.syntax unified .arch armv6t2 .macro define,name,type .type \name,%gnu_indirect_function \type \name: mov pc,lr .size \name,.-\name .endm .macro test_relocs,name ldr r4,1f 1: .word \name .endm .global f2 .global f2t .global f3 .hidden f3 .global f3t .hidden f3t define f1,.arm define f3,.arm define f1t,.thumb_func define f3t,.thumb_func .globl _start _start: test_relocs foo test_relocs f1 test_relocs f2 test_relocs f3 test_relocs f1t test_relocs f2t test_relocs f3t .size _start,.-_start .data foo: .word 0x11223344 .word __irel_start .word __irel_end