| .section .rodata.str1.1,"aMS",@progbits,1 |
| .LC0: |
| .string "PASS" |
| .text |
| .globl check |
| .type check, @function |
| check: |
| subq $8, %rsp |
| call *get_func1@GOTPCREL(%rip) |
| #ifdef CHECK_PLT |
| cmpl $func1, %eax |
| #else |
| cmpq func1@GOTPCREL(%rip), %rax |
| #endif |
| jne .L3 |
| movq func1_p@GOTPCREL(%rip), %rdx |
| #ifdef __LP64__ |
| cmpq %rax, (%rdx) |
| #else |
| cmpl %eax, (%rdx) |
| #endif |
| jne .L3 |
| call *func1@GOTPCREL(%rip) |
| cmpl $1, %eax |
| jne .L3 |
| call *call_func1@GOTPCREL(%rip) |
| cmpl $1, %eax |
| jne .L3 |
| call *get_func2@GOTPCREL(%rip) |
| movq func2_p@GOTPCREL(%rip), %rdx |
| #ifdef __LP64__ |
| cmpq %rax, (%rdx) |
| #else |
| cmpl %eax, (%rdx) |
| #endif |
| jne .L3 |
| call *call_func2@GOTPCREL(%rip) |
| cmpl $2, %eax |
| jne .L3 |
| leaq .LC0(%rip), %rdi |
| addq $8, %rsp |
| jmp *puts@GOTPCREL(%rip) |
| .L3: |
| call *abort@GOTPCREL(%rip) |
| .size check, .-check |
| .section .note.GNU-stack,"",@progbits |