1 .text 2 .globl main 3 .type main, @function 4main: 5 subl $12, %esp 6 call *foo@GOT 7 call *bar@GOT 8 call *plt@GOT 9 movl foo@GOT, %eax 10 call *%eax 11 movl bar@GOT, %eax 12 call *%eax 13 movl plt@GOT, %eax 14 call *%eax 15 call __x86.get_pc_thunk.cx 16 addl $_GLOBAL_OFFSET_TABLE_, %ecx 17 movl foo@GOT(%ecx), %ecx 18 call *%ecx 19 subl $12, %esp 20 pushl $0 21 pushl $0 # Push a dummy return address onto stack. 22 jmp *myexit@GOT 23 .size main, .-main 24 .section .text.__x86.get_pc_thunk.cx,"axG",@progbits,__x86.get_pc_thunk.cx,comdat 25 .globl __x86.get_pc_thunk.cx 26 .hidden __x86.get_pc_thunk.cx 27 .type __x86.get_pc_thunk.cx, @function 28__x86.get_pc_thunk.cx: 29 movl (%esp), %ecx 30 ret 31