source: doc/working/exception/impl/pdc.s @ cd477ca

ADTast-experimental
Last change on this file since cd477ca was 3e06da2, checked in by Thierry Delisle <tdelisle@…>, 6 years ago

Apparent fix for debug resolution problem with exceptions

  • Property mode set to 100644
File size: 1.6 KB
Line 
1        .file   "test.c"
2        .text
3        .globl  clean
4        .type   clean, @function
5clean:
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
23foo:
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.