.section .rodata.str1.1,"aMS",@progbits,1 | |
.LC0: | |
.string "PASS" | |
.text | |
.globl check | |
.type check, @function | |
check: | |
subl $12, %esp | |
call *get_func1@GOT | |
#ifdef CHECK_PLT | |
movl $func1, %edx | |
#else | |
movl func1@GOT, %edx | |
#endif | |
cmpl %edx, %eax | |
jne .L3 | |
cmpl %edx, func1_p | |
jne .L3 | |
call *func1@GOT | |
cmpl $1, %eax | |
jne .L3 | |
call *call_func1@GOT | |
cmpl $1, %eax | |
jne .L3 | |
call *get_func2@GOT | |
cmpl %eax, func2_p | |
jne .L3 | |
call *call_func2@GOT | |
cmpl $2, %eax | |
jne .L3 | |
subl $12, %esp | |
pushl $.LC0 | |
call *puts@GOT | |
addl $28, %esp | |
ret | |
.L3: | |
call *abort@GOT | |
.size check, .-check | |
.section .note.GNU-stack,"",@progbits |