source: doc/working/exception/impl/pic.s@ 9d362a0

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors deferred_resn enum forall-pointer-decay jacob/cs343-translation jenkins-sandbox new-ast new-ast-unique-expr no_list persistent-indexer pthread-emulation qualifiedEnum
Last change on this file since 9d362a0 was db2d937, checked in by Thierry Delisle <tdelisle@…>, 7 years ago

Working tests for exceptions with and without -fPIC

  • Property mode set to 100644
File size: 2.0 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 0x9b,DW.ref.__gcc_personality_v0
27 .cfi_lsda 0x1b,.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@PLT
48.LEHE0:
49 movl %eax, %r13d
50 movl $0, %r12d
51.L7:
52 leaq -44(%rbp), %rax
53 movq %rax, %rdi
54.LEHB1:
55 call clean@PLT
56 cmpl $1, %r12d
57 je .L4
58 movl %r13d, %eax
59 movq -40(%rbp), %rdx
60 xorq %fs:40, %rdx
61 je .L8
62 jmp .L10
63.L9:
64 movq %rax, %rbx
65 movl $1, %r12d
66 jmp .L7
67.L4:
68 movq %rbx, %rax
69 movq %rax, %rdi
70 call _Unwind_Resume@PLT
71.LEHE1:
72.L10:
73 call __stack_chk_fail@PLT
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 .hidden DW.ref.__gcc_personality_v0
104 .weak DW.ref.__gcc_personality_v0
105 .section .data.DW.ref.__gcc_personality_v0,"awG",@progbits,DW.ref.__gcc_personality_v0,comdat
106 .align 8
107 .type DW.ref.__gcc_personality_v0, @object
108 .size DW.ref.__gcc_personality_v0, 8
109DW.ref.__gcc_personality_v0:
110 .quad __gcc_personality_v0
111 .ident "GCC: (Ubuntu 7.3.0-21ubuntu1~16.04) 7.3.0"
112 .section .note.GNU-stack,"",@progbits
Note: See TracBrowser for help on using the repository browser.