1 .section .rodata.str1.1,"aMS",@progbits,1 2.LC0: 3 .string "PASS" 4 .text 5 .globl check 6 .type check, @function 7check: 8 subq $8, %rsp 9 call *get_func1@GOTPCREL(%rip) 10#ifdef CHECK_PLT 11 cmpl $func1, %eax 12#else 13 cmpq func1@GOTPCREL(%rip), %rax 14#endif 15 jne .L3 16 movq func1_p@GOTPCREL(%rip), %rdx 17#ifdef __LP64__ 18 cmpq %rax, (%rdx) 19#else 20 cmpl %eax, (%rdx) 21#endif 22 jne .L3 23 call *func1@GOTPCREL(%rip) 24 cmpl $1, %eax 25 jne .L3 26 call *call_func1@GOTPCREL(%rip) 27 cmpl $1, %eax 28 jne .L3 29 call *get_func2@GOTPCREL(%rip) 30 movq func2_p@GOTPCREL(%rip), %rdx 31#ifdef __LP64__ 32 cmpq %rax, (%rdx) 33#else 34 cmpl %eax, (%rdx) 35#endif 36 jne .L3 37 call *call_func2@GOTPCREL(%rip) 38 cmpl $2, %eax 39 jne .L3 40 leaq .LC0(%rip), %rdi 41 addq $8, %rsp 42 jmp *puts@GOTPCREL(%rip) 43.L3: 44 call *abort@GOTPCREL(%rip) 45 .size check, .-check 46 .section .note.GNU-stack,"",@progbits 47