.file "test.c" .text .globl clean .type clean, @function clean: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 movq %rdi, -8(%rbp) nop popq %rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE0: .size clean, .-clean .globl foo .type foo, @function foo: .LFB1: .cfi_startproc .cfi_personality 0x3,__gcc_personality_v0 .cfi_lsda 0x3,.LLSDA1 pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 pushq %r13 pushq %r12 pushq %rbx subq $40, %rsp .cfi_offset 13, -24 .cfi_offset 12, -32 .cfi_offset 3, -40 movl %edi, -52(%rbp) movq %fs:40, %rax movq %rax, -40(%rbp) xorl %eax, %eax movl -52(%rbp), %eax movl %eax, %edi .LEHB0: call bar .LEHE0: movl %eax, %r13d movl $0, %r12d .L7: leaq -44(%rbp), %rax movq %rax, %rdi call clean cmpl $1, %r12d je .L4 movl %r13d, %eax movq -40(%rbp), %rdx xorq %fs:40, %rdx je .L8 jmp .L10 .L9: movq %rax, %rbx movl $1, %r12d jmp .L7 .L4: movq %rbx, %rax movq %rax, %rdi .LEHB1: call _Unwind_Resume .LEHE1: .L10: call __stack_chk_fail .L8: addq $40, %rsp popq %rbx popq %r12 popq %r13 popq %rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE1: .globl __gcc_personality_v0 .section .gcc_except_table,"a",@progbits .LLSDA1: .byte 0xff .byte 0xff .byte 0x1 .uleb128 .LLSDACSE1-.LLSDACSB1 .LLSDACSB1: .uleb128 .LEHB0-.LFB1 .uleb128 .LEHE0-.LEHB0 .uleb128 .L9-.LFB1 .uleb128 0 .uleb128 .LEHB1-.LFB1 .uleb128 .LEHE1-.LEHB1 .uleb128 0 .uleb128 0 .LLSDACSE1: .text .size foo, .-foo .ident "GCC: (Ubuntu 7.4.0-1ubuntu1~16.04~ppa1) 7.4.0" .section .note.GNU-stack,"",@progbits