31 lines
443 B
ArmAsm
31 lines
443 B
ArmAsm
.text
|
|
|
|
.type foo_resolver, @function
|
|
foo_resolver:
|
|
ret
|
|
.size foo_resolver, .-foo_resolver
|
|
|
|
.globl foo
|
|
.type foo, %gnu_indirect_function
|
|
.set foo, foo_resolver
|
|
|
|
.globl bar
|
|
.type bar, @function
|
|
bar:
|
|
.L1:
|
|
auipc x1, %got_pcrel_hi (foo)
|
|
.ifdef __64_bit__
|
|
ld x1, %pcrel_lo (.L1) (x1)
|
|
.else
|
|
lw x1, %pcrel_lo (.L1) (x1)
|
|
.endif
|
|
|
|
.L2:
|
|
auipc x2, %pcrel_hi (foo)
|
|
addi x2, x2, %pcrel_lo (.L2)
|
|
|
|
call foo
|
|
call foo@plt
|
|
|
|
ret
|
|
.size bar, .-bar
|