mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
30 lines
670 B
ArmAsm
30 lines
670 B
ArmAsm
|
.text
|
||
|
.globl bar
|
||
|
.type bar, @function
|
||
|
bar:
|
||
|
call __x86.get_pc_thunk.ax
|
||
|
addl $_GLOBAL_OFFSET_TABLE_, %eax
|
||
|
lea foo@GOT, %ecx
|
||
|
mov (%eax,%ecx,1), %eax
|
||
|
ret
|
||
|
.globl bar_ifunc
|
||
|
.type bar_ifunc, @function
|
||
|
bar_ifunc:
|
||
|
call __x86.get_pc_thunk.ax
|
||
|
addl $_GLOBAL_OFFSET_TABLE_, %eax
|
||
|
lea ifunc@GOT, %ecx
|
||
|
mov (%eax,%ecx,1), %eax
|
||
|
ret
|
||
|
.type ifunc, @gnu_indirect_function
|
||
|
ifunc:
|
||
|
mov $0xbadbeef, %eax
|
||
|
ret
|
||
|
.section .text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat
|
||
|
.globl __x86.get_pc_thunk.ax
|
||
|
.hidden __x86.get_pc_thunk.ax
|
||
|
.type __x86.get_pc_thunk.ax, @function
|
||
|
__x86.get_pc_thunk.ax:
|
||
|
movl (%esp), %eax
|
||
|
ret
|
||
|
.section .note.GNU-stack,"",@progbits
|