.cstring LC0: .ascii "main stack frame around 0x%x\12\0" .text .globl _main _main: pushl %ebp movl %esp, %ebp pushl %ebx subl $36, %esp call ___i686.get_pc_thunk.bx "L00000000001$pb": leal -12(%ebp), %eax movl %eax, 4(%esp) leal LC0-"L00000000001$pb"(%ebx), %eax movl %eax, (%esp) call L_printf$stub call L_bar$stub addl $36, %esp popl %ebx popl %ebp ret .cstring LC1: .ascii "bar stack frame around 0x%x\12\0" .text .globl _bar _bar: pushl %ebp movl %esp, %ebp pushl %ebx subl $36, %esp call ___i686.get_pc_thunk.bx "L00000000002$pb": leal -12(%ebp), %eax movl %eax, 4(%esp) leal LC1-"L00000000002$pb"(%ebx), %eax movl %eax, (%esp) call L_printf$stub addl $36, %esp popl %ebx popl %ebp ret .section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5 L_printf$stub: .indirect_symbol _printf hlt ; hlt ; hlt ; hlt ; hlt L_bar$stub: .indirect_symbol _bar hlt ; hlt ; hlt ; hlt ; hlt .subsections_via_symbols .section __TEXT,__textcoal_nt,coalesced,pure_instructions .weak_definition ___i686.get_pc_thunk.bx .private_extern ___i686.get_pc_thunk.bx ___i686.get_pc_thunk.bx: movl (%esp), %ebx ret