.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