457 lines · plain
1 .file "exc_args.cpp"2 .text3 .globl _Z3fooiiiiiiii4 .type _Z3fooiiiiiiii, @function5_Z3fooiiiiiiii:6.LFB15:7 .cfi_startproc8 pushq %rbp9 .cfi_def_cfa_offset 1610 .cfi_offset 6, -1611 movq %rsp, %rbp12 .cfi_def_cfa_register 613 subq $32, %rsp14 movl %edi, -4(%rbp)15 movl %esi, -8(%rbp)16 movl %edx, -12(%rbp)17 movl %ecx, -16(%rbp)18 movl %r8d, -20(%rbp)19 movl %r9d, -24(%rbp)20 cmpl $1, -4(%rbp)21 jle .L222 movl $1, %edi23 call __cxa_allocate_exception24 movl $0, %edx25 movl $_ZTI4ExcG, %esi26 movq %rax, %rdi27 call __cxa_throw28.L2:29 movl $1, %edi30 call __cxa_allocate_exception31 movl $0, %edx32 movl $_ZTI4ExcC, %esi33 movq %rax, %rdi34 call __cxa_throw35 .cfi_endproc36.LFE15:37 .size _Z3fooiiiiiiii, .-_Z3fooiiiiiiii38 .globl _Z11filter_onlyi39 .type _Z11filter_onlyi, @function40_Z11filter_onlyi:41.LFB16:42 .cfi_startproc43 .cfi_personality 0x3,__gxx_personality_v044 .cfi_lsda 0x3,.LLSDA1645 pushq %rbp46 .cfi_def_cfa_offset 1647 .cfi_offset 6, -1648 movq %rsp, %rbp49 .cfi_def_cfa_register 650 subq $16, %rsp51 movl %edi, -4(%rbp)52 movl -4(%rbp), %eax53 pushq $754 pushq $655 movl $5, %r9d56 movl $4, %r8d57 movl $3, %ecx58 movl $2, %edx59 movl $1, %esi60 movl %eax, %edi61.LEHB0:62 .cfi_escape 0x2e,0x1063 call _Z3fooiiiiiiii64.LEHE0:65 addq $16, %rsp66 jmp .L767.L6:68 cmpq $-1, %rdx69 je .L570 movq %rax, %rdi71.LEHB1:72 call _Unwind_Resume73.L5:74 movq %rax, %rdi75 call __cxa_call_unexpected76.LEHE1:77.L7:78 leave79 .cfi_def_cfa 7, 880 ret81 .cfi_endproc82.LFE16:83 .globl __gxx_personality_v084 .section .gcc_except_table,"a",@progbits85 .align 486.LLSDA16:87 .byte 0xff88 .byte 0x389 .uleb128 .LLSDATT16-.LLSDATTD1690.LLSDATTD16:91 .byte 0x192 .uleb128 .LLSDACSE16-.LLSDACSB1693.LLSDACSB16:94 .uleb128 .LEHB0-.LFB1695 .uleb128 .LEHE0-.LEHB096 .uleb128 .L6-.LFB1697 .uleb128 0x198 .uleb128 .LEHB1-.LFB1699 .uleb128 .LEHE1-.LEHB1100 .uleb128 0101 .uleb128 0102.LLSDACSE16:103 .byte 0x7f104 .byte 0105 .align 4106 .long _ZTI4ExcA107 .long _ZTI4ExcB108 .long _ZTI4ExcC109 .long _ZTI4ExcD110 .long _ZTI4ExcE111 .long _ZTI4ExcF112.LLSDATT16:113 .byte 0x1114 .byte 0x2115 .byte 0x3116 .byte 0x4117 .byte 0x5118 .byte 0x6119 .byte 0120 .text121 .size _Z11filter_onlyi, .-_Z11filter_onlyi122 .section .rodata123 .align 8124.LC0:125 .string "this statement is cold and should be outlined"126 .text127 .globl _Z12never_throwsv128 .type _Z12never_throwsv, @function129_Z12never_throwsv:130.LFB17:131 .cfi_startproc132 .cfi_personality 0x3,__gxx_personality_v0133 .cfi_lsda 0x3,.LLSDA17134 pushq %rbp135 .cfi_def_cfa_offset 16136 .cfi_offset 6, -16137 movq %rsp, %rbp138 .cfi_def_cfa_register 6139 movl $.LC0, %edi140.LEHB2:141 call puts142.LEHE2:143 jmp .L12144.L11:145 cmpq $-1, %rdx146 je .L10147 movq %rax, %rdi148.LEHB3:149 call _Unwind_Resume150.L10:151 movq %rax, %rdi152 call __cxa_call_unexpected153.LEHE3:154.L12:155 popq %rbp156 .cfi_def_cfa 7, 8157 ret158 .cfi_endproc159.LFE17:160 .section .gcc_except_table,"a",@progbits161 .align 4162.LLSDA17:163 .byte 0xff164 .byte 0x3165 .uleb128 .LLSDATT17-.LLSDATTD17166.LLSDATTD17:167 .byte 0x1168 .uleb128 .LLSDACSE17-.LLSDACSB17169.LLSDACSB17:170 .uleb128 .LEHB2-.LFB17171 .uleb128 .LEHE2-.LEHB2172 .uleb128 .L11-.LFB17173 .uleb128 0x1174 .uleb128 .LEHB3-.LFB17175 .uleb128 .LEHE3-.LEHB3176 .uleb128 0177 .uleb128 0178.LLSDACSE17:179 .byte 0x7f180 .byte 0181 .align 4182.LLSDATT17:183 .byte 0184 .text185 .size _Z12never_throwsv, .-_Z12never_throwsv186 .section .rodata187.LC1:188 .string "caught exception"189.LC2:190 .string "caught ExcC"191 .text192 .globl main193 .type main, @function194main:195.LFB18:196 .cfi_startproc197 .cfi_personality 0x3,__gxx_personality_v0198 .cfi_lsda 0x3,.LLSDA18199 pushq %rbp200 .cfi_def_cfa_offset 16201 .cfi_offset 6, -16202 movq %rsp, %rbp203 .cfi_def_cfa_register 6204 pushq %rbx205 subq $40, %rsp206 .cfi_offset 3, -24207 movl %edi, -36(%rbp)208 movq %rsi, -48(%rbp)209 movl $1768710518, -26(%rbp)210 movw $100, -22(%rbp)211 movl $0, -20(%rbp)212.L17:213 cmpl $999999, -20(%rbp)214 ja .L14215 cmpl $2, -36(%rbp)216 jne .L15217 call _Z12never_throwsv218.L15:219 cmpl $2, -36(%rbp)220 jne .L16221 movl -36(%rbp), %eax222 movl %eax, %edi223.LEHB4:224 call _Z11filter_onlyi225.LEHE4:226.L16:227 movl -36(%rbp), %eax228 pushq $7229 pushq $6230 movl $5, %r9d231 movl $4, %r8d232 movl $3, %ecx233 movl $2, %edx234 movl $1, %esi235 movl %eax, %edi236.LEHB5:237 .cfi_escape 0x2e,0x10238 call _Z3fooiiiiiiii239.LEHE5:240 addq $16, %rsp241.L25:242 addl $1, -20(%rbp)243 jmp .L17244.L14:245 movl $0, %eax246 jmp .L31247.L27:248 movq %rax, %rdi249 call __cxa_begin_catch250 movl $.LC1, %edi251 movl $0, %eax252.LEHB6:253 .cfi_escape 0x2e,0254 call printf255.LEHE6:256.LEHB7:257 call __cxa_end_catch258.LEHE7:259 jmp .L16260.L28:261 movq %rax, %rbx262 call __cxa_end_catch263 movq %rbx, %rax264 movq %rax, %rdi265.LEHB8:266 call _Unwind_Resume267.L29:268 cmpq $2, %rdx269 je .L22270 movq %rax, %rdi271 call _Unwind_Resume272.LEHE8:273.L22:274 movq %rax, %rdi275 call __cxa_begin_catch276 movzbl -26(%rbp), %eax277 cmpb $118, %al278 je .L23279 call abort280.L23:281 movzbl -25(%rbp), %eax282 cmpb $97, %al283 je .L24284 call abort285.L24:286 movl $.LC2, %edi287.LEHB9:288 call puts289.LEHE9:290 call __cxa_end_catch291 jmp .L25292.L30:293 movq %rax, %rbx294 call __cxa_end_catch295 movq %rbx, %rax296 movq %rax, %rdi297.LEHB10:298 call _Unwind_Resume299.LEHE10:300.L31:301 movq -8(%rbp), %rbx302 leave303 .cfi_def_cfa 7, 8304 ret305 .cfi_endproc306.LFE18:307 .section .gcc_except_table,"a",@progbits308 .align 4309.LLSDA18:310 .byte 0xff311 .byte 0x3312 .uleb128 .LLSDATT18-.LLSDATTD18313.LLSDATTD18:314 .byte 0x1315 .uleb128 .LLSDACSE18-.LLSDACSB18316.LLSDACSB18:317 .uleb128 .LEHB4-.LFB18318 .uleb128 .LEHE4-.LEHB4319 .uleb128 .L27-.LFB18320 .uleb128 0x1321 .uleb128 .LEHB5-.LFB18322 .uleb128 .LEHE5-.LEHB5323 .uleb128 .L29-.LFB18324 .uleb128 0x3325 .uleb128 .LEHB6-.LFB18326 .uleb128 .LEHE6-.LEHB6327 .uleb128 .L28-.LFB18328 .uleb128 0329 .uleb128 .LEHB7-.LFB18330 .uleb128 .LEHE7-.LEHB7331 .uleb128 0332 .uleb128 0333 .uleb128 .LEHB8-.LFB18334 .uleb128 .LEHE8-.LEHB8335 .uleb128 0336 .uleb128 0337 .uleb128 .LEHB9-.LFB18338 .uleb128 .LEHE9-.LEHB9339 .uleb128 .L30-.LFB18340 .uleb128 0341 .uleb128 .LEHB10-.LFB18342 .uleb128 .LEHE10-.LEHB10343 .uleb128 0344 .uleb128 0345.LLSDACSE18:346 .byte 0x1347 .byte 0348 .byte 0x2349 .byte 0350 .align 4351 .long _ZTI4ExcC352 .long 0353 354.LLSDATT18:355 .text356 .size main, .-main357 .weak _ZTI4ExcF358 .section .rodata._ZTI4ExcF,"aG",@progbits,_ZTI4ExcF,comdat359 .align 8360 .type _ZTI4ExcF, @object361 .size _ZTI4ExcF, 16362_ZTI4ExcF:363 .quad _ZTVN10__cxxabiv117__class_type_infoE+16364 .quad _ZTS4ExcF365 .weak _ZTS4ExcF366 .section .rodata._ZTS4ExcF,"aG",@progbits,_ZTS4ExcF,comdat367 .type _ZTS4ExcF, @object368 .size _ZTS4ExcF, 6369_ZTS4ExcF:370 .string "4ExcF"371 .weak _ZTI4ExcE372 .section .rodata._ZTI4ExcE,"aG",@progbits,_ZTI4ExcE,comdat373 .align 8374 .type _ZTI4ExcE, @object375 .size _ZTI4ExcE, 16376_ZTI4ExcE:377 .quad _ZTVN10__cxxabiv117__class_type_infoE+16378 .quad _ZTS4ExcE379 .weak _ZTS4ExcE380 .section .rodata._ZTS4ExcE,"aG",@progbits,_ZTS4ExcE,comdat381 .type _ZTS4ExcE, @object382 .size _ZTS4ExcE, 6383_ZTS4ExcE:384 .string "4ExcE"385 .weak _ZTI4ExcD386 .section .rodata._ZTI4ExcD,"aG",@progbits,_ZTI4ExcD,comdat387 .align 8388 .type _ZTI4ExcD, @object389 .size _ZTI4ExcD, 16390_ZTI4ExcD:391 .quad _ZTVN10__cxxabiv117__class_type_infoE+16392 .quad _ZTS4ExcD393 .weak _ZTS4ExcD394 .section .rodata._ZTS4ExcD,"aG",@progbits,_ZTS4ExcD,comdat395 .type _ZTS4ExcD, @object396 .size _ZTS4ExcD, 6397_ZTS4ExcD:398 .string "4ExcD"399 .weak _ZTI4ExcB400 .section .rodata._ZTI4ExcB,"aG",@progbits,_ZTI4ExcB,comdat401 .align 8402 .type _ZTI4ExcB, @object403 .size _ZTI4ExcB, 16404_ZTI4ExcB:405 .quad _ZTVN10__cxxabiv117__class_type_infoE+16406 .quad _ZTS4ExcB407 .weak _ZTS4ExcB408 .section .rodata._ZTS4ExcB,"aG",@progbits,_ZTS4ExcB,comdat409 .type _ZTS4ExcB, @object410 .size _ZTS4ExcB, 6411_ZTS4ExcB:412 .string "4ExcB"413 .weak _ZTI4ExcA414 .section .rodata._ZTI4ExcA,"aG",@progbits,_ZTI4ExcA,comdat415 .align 8416 .type _ZTI4ExcA, @object417 .size _ZTI4ExcA, 16418_ZTI4ExcA:419 .quad _ZTVN10__cxxabiv117__class_type_infoE+16420 .quad _ZTS4ExcA421 .weak _ZTS4ExcA422 .section .rodata._ZTS4ExcA,"aG",@progbits,_ZTS4ExcA,comdat423 .type _ZTS4ExcA, @object424 .size _ZTS4ExcA, 6425_ZTS4ExcA:426 .string "4ExcA"427 .weak _ZTI4ExcC428 .section .rodata._ZTI4ExcC,"aG",@progbits,_ZTI4ExcC,comdat429 .align 8430 .type _ZTI4ExcC, @object431 .size _ZTI4ExcC, 16432_ZTI4ExcC:433 .quad _ZTVN10__cxxabiv117__class_type_infoE+16434 .quad _ZTS4ExcC435 .weak _ZTS4ExcC436 .section .rodata._ZTS4ExcC,"aG",@progbits,_ZTS4ExcC,comdat437 .type _ZTS4ExcC, @object438 .size _ZTS4ExcC, 6439_ZTS4ExcC:440 .string "4ExcC"441 .weak _ZTI4ExcG442 .section .rodata._ZTI4ExcG,"aG",@progbits,_ZTI4ExcG,comdat443 .align 8444 .type _ZTI4ExcG, @object445 .size _ZTI4ExcG, 16446_ZTI4ExcG:447 .quad _ZTVN10__cxxabiv117__class_type_infoE+16448 .quad _ZTS4ExcG449 .weak _ZTS4ExcG450 .section .rodata._ZTS4ExcG,"aG",@progbits,_ZTS4ExcG,comdat451 .type _ZTS4ExcG, @object452 .size _ZTS4ExcG, 6453_ZTS4ExcG:454 .string "4ExcG"455 .ident "GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-3)"456 .section .note.GNU-stack,"",@progbits457