mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
45 lines
525 B
ArmAsm
45 lines
525 B
ArmAsm
|
.macro define,name
|
||
|
.type \name,%gnu_indirect_function
|
||
|
\name:
|
||
|
mov pc,lr
|
||
|
.size \name,.-\name
|
||
|
.endm
|
||
|
|
||
|
.macro test_relocs,name
|
||
|
bl \name
|
||
|
ldr r4,1f
|
||
|
ldr r4,2f
|
||
|
ldr r4,3f
|
||
|
ldr r4,4f
|
||
|
ldr r5,5f
|
||
|
1:
|
||
|
.word \name
|
||
|
2:
|
||
|
.word \name-.
|
||
|
3:
|
||
|
.word \name(GOTOFF)
|
||
|
4:
|
||
|
.word \name(GOT)
|
||
|
5:
|
||
|
.word \name(GOT_PREL)
|
||
|
.endm
|
||
|
|
||
|
.global f3
|
||
|
.hidden f3
|
||
|
|
||
|
define f1
|
||
|
# f2 provided by ifunc-3.so
|
||
|
define f3
|
||
|
|
||
|
.globl _start
|
||
|
_start:
|
||
|
test_relocs foo
|
||
|
test_relocs f1
|
||
|
test_relocs f2
|
||
|
test_relocs f3
|
||
|
.size _start,.-_start
|
||
|
|
||
|
.data
|
||
|
foo:
|
||
|
.word 0x11223344
|