| .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 |