494 lines · plain
1// Generated from g++ exception4.cpp -fomit-frame-pointer -S -O32// Manually modified to trigger shrink-wrapping in function main3 .text4 .p2align 4,,155 .globl _Z3fooi6 .type _Z3fooi, @function7_Z3fooi:8.LFB12:9 .cfi_startproc10 subq $8, %rsp11 .cfi_def_cfa_offset 1612 cmpl $1, %edi13 movl $1, %edi14 jle .L215 call __cxa_allocate_exception16 xorl %edx, %edx17 movl $_ZTI4ExcG, %esi18 movq %rax, %rdi19 call __cxa_throw20.L2:21 call __cxa_allocate_exception22 xorl %edx, %edx23 movl $_ZTI4ExcC, %esi24 movq %rax, %rdi25 call __cxa_throw26 .cfi_endproc27.LFE12:28 .size _Z3fooi, .-_Z3fooi29 .p2align 4,,1530 .globl _Z11filter_onlyi31 .type _Z11filter_onlyi, @function32_Z11filter_onlyi:33.LFB13:34 .cfi_startproc35 .cfi_personality 0x3,__gxx_personality_v036 .cfi_lsda 0x3,.LLSDA1337 subq $8, %rsp38 .cfi_def_cfa_offset 1639.LEHB0:40 call _Z3fooi41.LEHE0:42.L8:43 addq $1, %rdx44 movq %rax, %rdi45 je .L746.LEHB1:47 call _Unwind_Resume48.L7:49 call __cxa_call_unexpected50.LEHE1:51 .cfi_endproc52.LFE13:53 .globl __gxx_personality_v054 .section .gcc_except_table,"a",@progbits55 .align 456.LLSDA13:57 .byte 0xff58 .byte 0x359 .uleb128 .LLSDATT13-.LLSDATTD1360.LLSDATTD13:61 .byte 0x162 .uleb128 .LLSDACSE13-.LLSDACSB1363.LLSDACSB13:64 .uleb128 .LEHB0-.LFB1365 .uleb128 .LEHE0-.LEHB066 .uleb128 .L8-.LFB1367 .uleb128 0x168 .uleb128 .LEHB1-.LFB1369 .uleb128 .LEHE1-.LEHB170 .uleb128 071 .uleb128 072.LLSDACSE13:73 .byte 0x7f74 .byte 075 .align 476 .long _ZTI4ExcA77 .long _ZTI4ExcB78 .long _ZTI4ExcC79 .long _ZTI4ExcD80 .long _ZTI4ExcE81 .long _ZTI4ExcF82.LLSDATT13:83 .byte 0x184 .byte 0x285 .byte 0x386 .byte 0x487 .byte 0x588 .byte 0x689 .byte 090 .text91 .size _Z11filter_onlyi, .-_Z11filter_onlyi92 .section .rodata.str1.8,"aMS",@progbits,193 .align 894.LC0:95 .string "this statement is cold and should be outlined"96 .text97 .p2align 4,,1598 .globl _Z12never_throwsv99 .type _Z12never_throwsv, @function100_Z12never_throwsv:101.LFB14:102 .cfi_startproc103 .cfi_personality 0x3,__gxx_personality_v0104 .cfi_lsda 0x3,.LLSDA14105 subq $8, %rsp106 .cfi_def_cfa_offset 16107 movl $.LC0, %edi108.LEHB2:109 call puts110.LEHE2:111 addq $8, %rsp112 .cfi_remember_state113 .cfi_def_cfa_offset 8114 ret115.L13:116 .cfi_restore_state117 addq $1, %rdx118 movq %rax, %rdi119 je .L12120.LEHB3:121 call _Unwind_Resume122.L12:123 call __cxa_call_unexpected124.LEHE3:125 .cfi_endproc126.LFE14:127 .section .gcc_except_table,"a",@progbits128 .align 4129.LLSDA14:130 .byte 0xff131 .byte 0x3132 .uleb128 .LLSDATT14-.LLSDATTD14133.LLSDATTD14:134 .byte 0x1135 .uleb128 .LLSDACSE14-.LLSDACSB14136.LLSDACSB14:137 .uleb128 .LEHB2-.LFB14138 .uleb128 .LEHE2-.LEHB2139 .uleb128 .L13-.LFB14140 .uleb128 0x1141 .uleb128 .LEHB3-.LFB14142 .uleb128 .LEHE3-.LEHB3143 .uleb128 0144 .uleb128 0145.LLSDACSE14:146 .byte 0x7f147 .byte 0148 .align 4149.LLSDATT14:150 .byte 0151 .text152 .size _Z12never_throwsv, .-_Z12never_throwsv153 .section .rodata.str1.1,"aMS",@progbits,1154.LC1:155 .string "catch 2"156.LC2:157 .string "catch 1"158.LC3:159 .string "caught ExcC"160.LC4:161 .string "caught ExcG"162 .section .text.startup,"ax",@progbits163 .p2align 4,,15164 .globl main165 .type main, @function166main:167.LFB15:168 .cfi_startproc169 .cfi_personality 0x3,__gxx_personality_v0170 .cfi_lsda 0x3,.LLSDA15171 pushq %r13172 .cfi_def_cfa_offset 16173 .cfi_offset 13, -16174 pushq %r12175 .cfi_def_cfa_offset 24176 .cfi_offset 12, -24177 pushq %rbp178 .cfi_def_cfa_offset 32179 .cfi_offset 6, -32180 movl $10, %ebp181 pushq %rbx182 .cfi_def_cfa_offset 40183 .cfi_offset 3, -40184 movl %edi, %ebx185 subq $8, %rsp186 .cfi_def_cfa_offset 48187.Lcheck:188 cmpl $2, %ebx189 je .Lmyexit190.Lloop_pre_header:191 movl $10, %ebp192 jmp .L18193.L18:194 cmpl $2, %ebx195 je .Lmyexit196.L17:197 movl $1, %edi198 call __cxa_allocate_exception199 xorl %edx, %edx200 movl $_ZTI4ExcA, %esi201 movq %rax, %rdi202.LEHB4:203 call __cxa_throw204.LEHE4:205.L47:206 call _Z12never_throwsv207 call _Z12never_throwsv208 .p2align 4,,5209 jmp .L17210.L37:211 cmpq $2, %rdx212 movq %rax, %rdi213 jne .L22214 call __cxa_begin_catch215 movl $.LC1, %edi216.LEHB5:217 call puts218.LEHE5:219 movl $8, %edi220 call __cxa_allocate_exception221 movl $4, %edi222 movq %rax, %r12223.LEHB6:224 call _Znwm225.LEHE6:226 movl $0, (%rax)227 xorl %edx, %edx228 movq %rax, (%r12)229 movl $_ZTIPi, %esi230 movq %r12, %rdi231.LEHB7:232 call __cxa_throw233.LEHE7:234.L39:235 movq %rax, %r13236 movq %r12, %rdi237 movq %r13, %r12238 call __cxa_free_exception239.L24:240 call __cxa_end_catch241 movq %r12, %rdi242.L22:243 call __cxa_begin_catch244 movl $.LC2, %edi245.LEHB8:246 call puts247.LEHE8:248.LEHB9:249 call __cxa_end_catch250.LEHE9:251 movl %ebx, %edi252.LEHB10:253 call _Z11filter_onlyi254.LEHE10:255.L38:256 movq %rax, %r12257 jmp .L24258.L41:259 cmpq $4, %rdx260 movq %rax, %rdi261 movq %rdx, %rax262 jne .L29263 call __cxa_begin_catch264 movl $.LC3, %edi265.LEHB11:266 call puts267.LEHE11:268.L35:269 call __cxa_end_catch270 subl $1, %ebp271 jne .L18272.Lmyexit:273 popq %rdx274 .cfi_remember_state275 .cfi_def_cfa_offset 40276 popq %rbx277 .cfi_def_cfa_offset 32278 popq %rbp279 .cfi_def_cfa_offset 24280 popq %r12281 .cfi_def_cfa_offset 16282 xorl %eax, %eax283 popq %r13284 .cfi_def_cfa_offset 8285 ret286.L40:287 .cfi_restore_state288 movq %rax, %rbx289 call __cxa_end_catch290 movq %rbx, %rdi291.LEHB12:292 call _Unwind_Resume293.LEHE12:294.L42:295 movq %rax, %r13296 movq %rdx, %r12297 call __cxa_end_catch298 movq %r13, %rdi299 movq %r12, %rax300.L29:301 cmpq $3, %rax302 jne .L46303 call __cxa_begin_catch304 movl $.LC4, %edi305.LEHB13:306 call puts307.LEHE13:308 jmp .L35309.L43:310 movq %rax, %rbx311 call __cxa_end_catch312 movq %rbx, %rdi313.L46:314.LEHB14:315 call _Unwind_Resume316 jmp .L43317.LEHE14:318 .cfi_endproc319.LFE15:320 .section .gcc_except_table,"a",@progbits321 .align 4322.LLSDA15:323 .byte 0xff324 .byte 0x3325 .uleb128 .LLSDATT15-.LLSDATTD15326.LLSDATTD15:327 .byte 0x1328 .uleb128 .LLSDACSE15-.LLSDACSB15329.LLSDACSB15:330 .uleb128 .LEHB4-.LFB15331 .uleb128 .LEHE4-.LEHB4332 .uleb128 .L37-.LFB15333 .uleb128 0x3334 .uleb128 .LEHB5-.LFB15335 .uleb128 .LEHE5-.LEHB5336 .uleb128 .L38-.LFB15337 .uleb128 0x5338 .uleb128 .LEHB6-.LFB15339 .uleb128 .LEHE6-.LEHB6340 .uleb128 .L39-.LFB15341 .uleb128 0x5342 .uleb128 .LEHB7-.LFB15343 .uleb128 .LEHE7-.LEHB7344 .uleb128 .L38-.LFB15345 .uleb128 0x5346 .uleb128 .LEHB8-.LFB15347 .uleb128 .LEHE8-.LEHB8348 .uleb128 .L40-.LFB15349 .uleb128 0350 .uleb128 .LEHB9-.LFB15351 .uleb128 .LEHE9-.LEHB9352 .uleb128 0353 .uleb128 0354 .uleb128 .LEHB10-.LFB15355 .uleb128 .LEHE10-.LEHB10356 .uleb128 .L41-.LFB15357 .uleb128 0x9358 .uleb128 .LEHB11-.LFB15359 .uleb128 .LEHE11-.LEHB11360 .uleb128 .L42-.LFB15361 .uleb128 0xb362 .uleb128 .LEHB12-.LFB15363 .uleb128 .LEHE12-.LEHB12364 .uleb128 0365 .uleb128 0366 .uleb128 .LEHB13-.LFB15367 .uleb128 .LEHE13-.LEHB13368 .uleb128 .L43-.LFB15369 .uleb128 0370 .uleb128 .LEHB14-.LFB15371 .uleb128 .LEHE14-.LEHB14372 .uleb128 0373 .uleb128 0374.LLSDACSE15:375 .byte 0x1376 .byte 0377 .byte 0x2378 .byte 0x7d379 .byte 0380 .byte 0x7b381 .byte 0x3382 .byte 0383 .byte 0x4384 .byte 0x7d385 .byte 0386 .byte 0x7b387 .align 4388 .long _ZTI4ExcC389 .long _ZTI4ExcG390 .long _ZTI4ExcA391 .long 0392 393.LLSDATT15:394 .section .text.startup395 .size main, .-main396 .weak _ZTI4ExcG397 .section .rodata._ZTI4ExcG,"aG",@progbits,_ZTI4ExcG,comdat398 .align 16399 .type _ZTI4ExcG, @object400 .size _ZTI4ExcG, 16401_ZTI4ExcG:402 .quad _ZTVN10__cxxabiv117__class_type_infoE+16403 .quad _ZTS4ExcG404 .weak _ZTS4ExcG405 .section .rodata._ZTS4ExcG,"aG",@progbits,_ZTS4ExcG,comdat406 .type _ZTS4ExcG, @object407 .size _ZTS4ExcG, 6408_ZTS4ExcG:409 .string "4ExcG"410 .weak _ZTI4ExcC411 .section .rodata._ZTI4ExcC,"aG",@progbits,_ZTI4ExcC,comdat412 .align 16413 .type _ZTI4ExcC, @object414 .size _ZTI4ExcC, 16415_ZTI4ExcC:416 .quad _ZTVN10__cxxabiv117__class_type_infoE+16417 .quad _ZTS4ExcC418 .weak _ZTS4ExcC419 .section .rodata._ZTS4ExcC,"aG",@progbits,_ZTS4ExcC,comdat420 .type _ZTS4ExcC, @object421 .size _ZTS4ExcC, 6422_ZTS4ExcC:423 .string "4ExcC"424 .weak _ZTI4ExcA425 .section .rodata._ZTI4ExcA,"aG",@progbits,_ZTI4ExcA,comdat426 .align 16427 .type _ZTI4ExcA, @object428 .size _ZTI4ExcA, 16429_ZTI4ExcA:430 .quad _ZTVN10__cxxabiv117__class_type_infoE+16431 .quad _ZTS4ExcA432 .weak _ZTS4ExcA433 .section .rodata._ZTS4ExcA,"aG",@progbits,_ZTS4ExcA,comdat434 .type _ZTS4ExcA, @object435 .size _ZTS4ExcA, 6436_ZTS4ExcA:437 .string "4ExcA"438 .weak _ZTI4ExcB439 .section .rodata._ZTI4ExcB,"aG",@progbits,_ZTI4ExcB,comdat440 .align 16441 .type _ZTI4ExcB, @object442 .size _ZTI4ExcB, 16443_ZTI4ExcB:444 .quad _ZTVN10__cxxabiv117__class_type_infoE+16445 .quad _ZTS4ExcB446 .weak _ZTS4ExcB447 .section .rodata._ZTS4ExcB,"aG",@progbits,_ZTS4ExcB,comdat448 .type _ZTS4ExcB, @object449 .size _ZTS4ExcB, 6450_ZTS4ExcB:451 .string "4ExcB"452 .weak _ZTI4ExcD453 .section .rodata._ZTI4ExcD,"aG",@progbits,_ZTI4ExcD,comdat454 .align 16455 .type _ZTI4ExcD, @object456 .size _ZTI4ExcD, 16457_ZTI4ExcD:458 .quad _ZTVN10__cxxabiv117__class_type_infoE+16459 .quad _ZTS4ExcD460 .weak _ZTS4ExcD461 .section .rodata._ZTS4ExcD,"aG",@progbits,_ZTS4ExcD,comdat462 .type _ZTS4ExcD, @object463 .size _ZTS4ExcD, 6464_ZTS4ExcD:465 .string "4ExcD"466 .weak _ZTI4ExcE467 .section .rodata._ZTI4ExcE,"aG",@progbits,_ZTI4ExcE,comdat468 .align 16469 .type _ZTI4ExcE, @object470 .size _ZTI4ExcE, 16471_ZTI4ExcE:472 .quad _ZTVN10__cxxabiv117__class_type_infoE+16473 .quad _ZTS4ExcE474 .weak _ZTS4ExcE475 .section .rodata._ZTS4ExcE,"aG",@progbits,_ZTS4ExcE,comdat476 .type _ZTS4ExcE, @object477 .size _ZTS4ExcE, 6478_ZTS4ExcE:479 .string "4ExcE"480 .weak _ZTI4ExcF481 .section .rodata._ZTI4ExcF,"aG",@progbits,_ZTI4ExcF,comdat482 .align 16483 .type _ZTI4ExcF, @object484 .size _ZTI4ExcF, 16485_ZTI4ExcF:486 .quad _ZTVN10__cxxabiv117__class_type_infoE+16487 .quad _ZTS4ExcF488 .weak _ZTS4ExcF489 .section .rodata._ZTS4ExcF,"aG",@progbits,_ZTS4ExcF,comdat490 .type _ZTS4ExcF, @object491 .size _ZTS4ExcF, 6492_ZTS4ExcF:493 .string "4ExcF"494