.globl bar bar: movq $0, (%rbp) movl $4, %edi call __cxa_allocate_exception movl $0, (%rax) movl $0, %edx movl $_ZTIi, %esi movq %rax, %rdi call __cxa_throw movq $17, 8 .globl foo foo: .LFB1: .cfi_startproc .cfi_personality 0x3,__gxx_personality_v0 .cfi_lsda 0x3,.LLSDA1 pushq %rbp movq %rsp, %rbp pushq %rbx subq $24, %rsp movq %rdi, -24(%rbp) incq -24(%rbp) jmp .L1 decq (%rbp) .L1: incq -24(%rbp) cmpq $2,-24(%rbp) jne .L3 jmp .L4 decq (%rbp) .L3: incq -24(%rbp) .L4: incq -24(%rbp) movq -24(%rbp), %rax movq %rax, %rdi .LEHB0: call bar .LEHE0: movq %rax, %rbx .L5: movq %rbx, %rax jmp .L8 .L7: movq %rax, %rdi call __cxa_begin_catch incq -24(%rbp) jmp .LP1 decq (%rbp) .LP1: incq -24(%rbp) cmpq $2,-24(%rbp) jne .LP2 jmp .LP3 decq (%rbp) .LP2: incq -24(%rbp) .LP3: incq -24(%rbp) movq -24(%rbp), %rbx .LEHB1: call __cxa_end_catch .LEHE1: jmp .L5 .L8: movq -8(%rbp), %rbx leave .cfi_endproc .section .gcc_except_table,"a",@progbits .LLSDA1: .byte 0xff .byte 0x3 .uleb128 .LLSDATT1-.LLSDATTD1 .LLSDATTD1: .byte 0x1 .uleb128 .LLSDACSE1-.LLSDACSB1 .LLSDACSB1: .uleb128 .LEHB0-.LFB1 .uleb128 .LEHE0-.LEHB0 .uleb128 .L7-.LFB1 .uleb128 0x1 .LLSDACSE1: .LLSDATT1: .text .globl _start, function _start: .cfi_startproc ud2 .cfi_endproc