| .text |
| .globl main |
| .type main, @function |
| main: |
| leal 4(%esp), %ecx |
| andl $-16, %esp |
| pushl -4(%ecx) |
| pushl %ebp |
| movl %esp, %ebp |
| pushl %ebx |
| pushl %ecx |
| call __x86.get_pc_thunk.bx |
| addl $_GLOBAL_OFFSET_TABLE_, %ebx |
| subl $12, %esp |
| pushl bar_alias@GOTOFF(%ebx) |
| call foo@PLT |
| popl %eax |
| movl ptr@GOTOFF(%ebx), %eax |
| pushl (%eax) |
| call foo@PLT |
| addl $16, %esp |
| leal -8(%ebp), %esp |
| xorl %eax, %eax |
| popl %ecx |
| popl %ebx |
| popl %ebp |
| leal -4(%ecx), %esp |
| ret |
| .size main, .-main |
| .globl ptr |
| .section .data.rel.local,"aw",@progbits |
| .align 4 |
| .type ptr, @object |
| .size ptr, 4 |
| ptr: |
| .long bar_alias |
| .section .text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat |
| .globl __x86.get_pc_thunk.bx |
| .hidden __x86.get_pc_thunk.bx |
| .type __x86.get_pc_thunk.bx, @function |
| __x86.get_pc_thunk.bx: |
| movl (%esp), %ebx |
| ret |
| .section .note.GNU-stack,"",@progbits |