1 .text 2 .p2align 4,,15 3 .globl get_func 4 .type get_func, @function 5get_func: 6 call __x86.get_pc_thunk.ax 7 addl $_GLOBAL_OFFSET_TABLE_, %eax 8 movl func@GOT(%eax), %eax 9 ret 10 .size get_func, .-get_func 11 .p2align 4,,15 12 .globl call_func 13 .type call_func, @function 14call_func: 15 call __x86.get_pc_thunk.ax 16 addl $_GLOBAL_OFFSET_TABLE_, %eax 17 jmp *func@GOT(%eax) 18 .size call_func, .-call_func 19 .globl func_p 20 .section .data.rel,"aw",@progbits 21 .align 4 22 .type func_p, @object 23 .size func_p, 4 24func_p: 25 .long func 26 .section .text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat 27 .globl __x86.get_pc_thunk.ax 28 .hidden __x86.get_pc_thunk.ax 29 .type __x86.get_pc_thunk.ax, @function 30__x86.get_pc_thunk.ax: 31 movl (%esp), %eax 32 ret 33 .section .note.GNU-stack,"",@progbits 34