1 2// TEST-OPTIONS: -arch x86_64 -lstdc++ -Wl,-no_compact_unwind 3 4 5 .section __TEXT,__text,regular,pure_instructions 6 .globl __Z3foov 7 .align 4, 0x90 8__Z3foov: 9Leh_func_begin1: 10 pushq %rbp 11Ltmp0: 12 movq %rsp, %rbp 13Ltmp1: 14 subq $16, %rsp 15Ltmp2: 16 movabsq $4, %rax 17 movq %rax, %rdi 18 callq ___cxa_allocate_exception 19 movq %rax, -16(%rbp) 20 movq -16(%rbp), %rax 21 movl $10, (%rax) 22 movq -16(%rbp), %rax 23 movq __ZTIi@GOTPCREL(%rip), %rcx 24 leaq (%rcx), %rcx 25 movabsq $0, %rdx 26 movq %rax, %rdi 27 movq %rcx, %rsi 28 callq ___cxa_throw 29Leh_func_end1: 30 31 .globl _main 32 .align 4, 0x90 33_main: 34Leh_func_begin2: 35 pushq %rbp 36Ltmp6: 37 movq %rsp, %rbp 38Ltmp7: 39 subq $48, %rsp 40Ltmp8: 41 movl $1, -28(%rbp) 42 movl $2, -28(%rbp) 43Ltmp3: 44 callq __Z3foov 45Ltmp4: 46 jmp LBB2_1 47LBB2_1: 48 movl $3, -28(%rbp) 49 jmp LBB2_10 50LBB2_2: 51 movq -40(%rbp), %rax 52 movq %rax, %rdi 53 callq ___cxa_begin_catch 54 movq %rax, -24(%rbp) 55 movq -24(%rbp), %rax 56 movl (%rax), %eax 57 movl %eax, -32(%rbp) 58 movl -28(%rbp), %eax 59 cmpl $2, %eax 60 je LBB2_4 61 movl $1, -12(%rbp) 62 movl -12(%rbp), %eax 63 movl %eax, -12(%rbp) 64 movl -12(%rbp), %eax 65 movl %eax, -12(%rbp) 66 movl $0, -8(%rbp) 67 jmp LBB2_7 68LBB2_4: 69 movl -32(%rbp), %eax 70 cmpl $10, %eax 71 je LBB2_6 72 movl $1, -12(%rbp) 73 movl -12(%rbp), %eax 74 movl %eax, -12(%rbp) 75 movl -12(%rbp), %eax 76 movl %eax, -12(%rbp) 77 movl $0, -8(%rbp) 78 jmp LBB2_7 79LBB2_6: 80 movl $4, -28(%rbp) 81 movl $1, -8(%rbp) 82LBB2_7: 83 callq ___cxa_end_catch 84 movl -8(%rbp), %eax 85 cmpl $1, %eax 86 jne LBB2_9 87 jmp LBB2_10 88LBB2_9: 89 jmp LBB2_13 90LBB2_10: 91 movl -28(%rbp), %eax 92 cmpl $4, %eax 93 jne LBB2_12 94 movl $0, -12(%rbp) 95 jmp LBB2_13 96LBB2_12: 97 movl $1, -12(%rbp) 98LBB2_13: 99 movl -12(%rbp), %eax 100 movl %eax, -4(%rbp) 101 movl -4(%rbp), %eax 102 addq $48, %rsp 103 popq %rbp 104 ret 105LBB2_15: 106Ltmp5: 107 movq %rax, -40(%rbp) 108 movq -40(%rbp), %rax 109 movl %edx, %eax 110 movl %eax, -44(%rbp) 111 movl $2, %eax 112 movl -44(%rbp), %ecx 113 cmpl %eax, %ecx 114 je LBB2_2 115 movq -40(%rbp), %rax 116 movq %rax, %rdi 117 callq __Unwind_Resume_or_Rethrow 118Leh_func_end2: 119 120 121 .section __TEXT,__gcc_except_tab 122 .align 2 123GCC_except_table2: 124Lexception2: 125 .byte 255 126 .byte 155 127 .byte 168 128 .space 1 129 .byte 3 130 .byte 26 131Lset0 = Ltmp3-Leh_func_begin2 132 .long Lset0 133Lset1 = Ltmp4-Ltmp3 134 .long Lset1 135Lset2 = Ltmp5-Leh_func_begin2 136 .long Lset2 137 .byte 3 138Lset3 = Ltmp4-Leh_func_begin2 139 .long Lset3 140Lset4 = Leh_func_end2-Ltmp4 141 .long Lset4 142 .long 0 143 .byte 0 144 145 146 .byte 1 147 .byte 0 148 149 .byte 2 150 .byte 125 151 152 .long __ZTIi@GOTPCREL+4 153 .long 0 154 .align 2 155 156 .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support 157EH_frame0: 158Lsection_eh_frame: 159Leh_frame_common: 160Lset5 = Leh_frame_common_end-Leh_frame_common_begin 161 .long Lset5 162Leh_frame_common_begin: 163 .long 0 164 .byte 1 165 .asciz "zPLR" 166 .byte 1 167 .byte 120 168 .byte 16 169 .byte 7 170 .byte 155 171 .long ___gxx_personality_v0@GOTPCREL+4 172 .byte 0x1B // lsda encoding DW_EH_PE_pcrel + DW_EH_PE_sdata4 173 .byte 16 174 .byte 12 175 .byte 7 176 .byte 8 177 .byte 144 178 .byte 1 179 .align 3 180Leh_frame_common_end: 181 182 .globl __Z3foov.eh 183__Z3foov.eh: 184Lset6 = Leh_frame_end1-Leh_frame_begin1 185 .long Lset6 186Leh_frame_begin1: 187Lset7 = Leh_frame_begin1-Leh_frame_common 188 .long Lset7 189Ltmp9: 190 .quad Leh_func_begin1-Ltmp9 191Lset8 = Leh_func_end1-Leh_func_begin1 192 .quad Lset8 193 .byte 4 194 .long 0 195 .byte 4 196Lset9 = Ltmp0-Leh_func_begin1 197 .long Lset9 198 .byte 14 199 .byte 16 200 .byte 134 201 .byte 2 202 .byte 4 203Lset10 = Ltmp1-Ltmp0 204 .long Lset10 205 .byte 13 206 .byte 6 207 .align 3 208Leh_frame_end1: 209 210 .globl _main.eh 211_main.eh: 212Lset11 = Leh_frame_end2-Leh_frame_begin2 213 .long Lset11 214Leh_frame_begin2: 215Lset12 = Leh_frame_begin2-Leh_frame_common 216 .long Lset12 217Ltmp10: 218 .quad Leh_func_begin2-Ltmp10 219Lset13 = Leh_func_end2-Leh_func_begin2 220 .quad Lset13 221 .byte 4 222Ltmp11: 223 .long Lexception2-Ltmp11 224 .byte 4 225Lset14 = Ltmp6-Leh_func_begin2 226 .long Lset14 227 .byte 14 228 .byte 16 229 .byte 134 230 .byte 2 231 .byte 4 232Lset15 = Ltmp7-Ltmp6 233 .long Lset15 234 .byte 13 235 .byte 6 236 .align 3 237Leh_frame_end2: 238 239 240.subsections_via_symbols 241