1 .section .rodata.str1.1,"aMS",@progbits,1 2.LC0: 3 .string "PASS" 4 .text 5 .globl check 6 .type check, @function 7check: 8 pushl %ebx 9 call __x86.get_pc_thunk.bx 10 addl $_GLOBAL_OFFSET_TABLE_, %ebx 11 subl $8, %esp 12 call *get_func1@GOT(%ebx) 13#ifdef CHECK_PLT 14 cmpl $func1, %eax 15#else 16 cmpl func1@GOT(%ebx), %eax 17#endif 18 jne .L3 19 movl func1_p@GOT(%ebx), %edx 20 cmpl %eax, (%edx) 21 jne .L3 22 call *func1@GOT(%ebx) 23 cmpl $1, %eax 24 jne .L3 25 call *call_func1@GOT(%ebx) 26 cmpl $1, %eax 27 jne .L3 28 call *get_func2@GOT(%ebx) 29 movl func2_p@GOT(%ebx), %edx 30 cmpl %eax, (%edx) 31 jne .L3 32 call *call_func2@GOT(%ebx) 33 cmpl $2, %eax 34 jne .L3 35 leal .LC0@GOTOFF(%ebx), %eax 36 subl $12, %esp 37 pushl %eax 38 call *puts@GOT(%ebx) 39 addl $24, %esp 40 popl %ebx 41 ret 42.L3: 43 call *abort@GOT(%ebx) 44 .size check, .-check 45 .section .text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat 46 .globl __x86.get_pc_thunk.bx 47 .hidden __x86.get_pc_thunk.bx 48 .type __x86.get_pc_thunk.bx, @function 49__x86.get_pc_thunk.bx: 50 movl (%esp), %ebx 51 ret 52 .section .note.GNU-stack,"",@progbits 53