source:
doc/working/exception/impl/pdc.s@
3a513d89
| Last change on this file since 3a513d89 was 3e06da2, checked in by , 7 years ago | |
|---|---|
|
|
| File size: 1.6 KB | |
| Line | |
|---|---|
| 1 | .file "test.c" |
| 2 | .text |
| 3 | .globl clean |
| 4 | .type clean, @function |
| 5 | clean: |
| 6 | .LFB0: |
| 7 | .cfi_startproc |
| 8 | pushq %rbp |
| 9 | .cfi_def_cfa_offset 16 |
| 10 | .cfi_offset 6, -16 |
| 11 | movq %rsp, %rbp |
| 12 | .cfi_def_cfa_register 6 |
| 13 | movq %rdi, -8(%rbp) |
| 14 | nop |
| 15 | popq %rbp |
| 16 | .cfi_def_cfa 7, 8 |
| 17 | ret |
| 18 | .cfi_endproc |
| 19 | .LFE0: |
| 20 | .size clean, .-clean |
| 21 | .globl foo |
| 22 | .type foo, @function |
| 23 | foo: |
| 24 | .LFB1: |
| 25 | .cfi_startproc |
| 26 | .cfi_personality 0x3,__gcc_personality_v0 |
| 27 | .cfi_lsda 0x3,.LLSDA1 |
| 28 | pushq %rbp |
| 29 | .cfi_def_cfa_offset 16 |
| 30 | .cfi_offset 6, -16 |
| 31 | movq %rsp, %rbp |
| 32 | .cfi_def_cfa_register 6 |
| 33 | pushq %r13 |
| 34 | pushq %r12 |
| 35 | pushq %rbx |
| 36 | subq $40, %rsp |
| 37 | .cfi_offset 13, -24 |
| 38 | .cfi_offset 12, -32 |
| 39 | .cfi_offset 3, -40 |
| 40 | movl %edi, -52(%rbp) |
| 41 | movq %fs:40, %rax |
| 42 | movq %rax, -40(%rbp) |
| 43 | xorl %eax, %eax |
| 44 | movl -52(%rbp), %eax |
| 45 | movl %eax, %edi |
| 46 | .LEHB0: |
| 47 | call bar |
| 48 | .LEHE0: |
| 49 | movl %eax, %r13d |
| 50 | movl $0, %r12d |
| 51 | .L7: |
| 52 | leaq -44(%rbp), %rax |
| 53 | movq %rax, %rdi |
| 54 | call clean |
| 55 | cmpl $1, %r12d |
| 56 | je .L4 |
| 57 | movl %r13d, %eax |
| 58 | movq -40(%rbp), %rdx |
| 59 | xorq %fs:40, %rdx |
| 60 | je .L8 |
| 61 | jmp .L10 |
| 62 | .L9: |
| 63 | movq %rax, %rbx |
| 64 | movl $1, %r12d |
| 65 | jmp .L7 |
| 66 | .L4: |
| 67 | movq %rbx, %rax |
| 68 | movq %rax, %rdi |
| 69 | .LEHB1: |
| 70 | call _Unwind_Resume |
| 71 | .LEHE1: |
| 72 | .L10: |
| 73 | call __stack_chk_fail |
| 74 | .L8: |
| 75 | addq $40, %rsp |
| 76 | popq %rbx |
| 77 | popq %r12 |
| 78 | popq %r13 |
| 79 | popq %rbp |
| 80 | .cfi_def_cfa 7, 8 |
| 81 | ret |
| 82 | .cfi_endproc |
| 83 | .LFE1: |
| 84 | .globl __gcc_personality_v0 |
| 85 | .section .gcc_except_table,"a",@progbits |
| 86 | .LLSDA1: |
| 87 | .byte 0xff |
| 88 | .byte 0xff |
| 89 | .byte 0x1 |
| 90 | .uleb128 .LLSDACSE1-.LLSDACSB1 |
| 91 | .LLSDACSB1: |
| 92 | .uleb128 .LEHB0-.LFB1 |
| 93 | .uleb128 .LEHE0-.LEHB0 |
| 94 | .uleb128 .L9-.LFB1 |
| 95 | .uleb128 0 |
| 96 | .uleb128 .LEHB1-.LFB1 |
| 97 | .uleb128 .LEHE1-.LEHB1 |
| 98 | .uleb128 0 |
| 99 | .uleb128 0 |
| 100 | .LLSDACSE1: |
| 101 | .text |
| 102 | .size foo, .-foo |
| 103 | .ident "GCC: (Ubuntu 7.4.0-1ubuntu1~16.04~ppa1) 7.4.0" |
| 104 | .section .note.GNU-stack,"",@progbits |
Note:
See TracBrowser
for help on using the repository browser.