1 .file "t4.C" 2 .section .text$_ZN5VBase1fEv,"x" 3 .linkonce discard 4 .align 2 5 .globl _ZN5VBase1fEv 6 .def _ZN5VBase1fEv; .scl 2; .type 32; .endef 7 .seh_proc _ZN5VBase1fEv 8_ZN5VBase1fEv: 9.LFB0: 10 pushq %rbp 11 .seh_pushreg %rbp 12 movq %rsp, %rbp 13 .seh_setframe %rbp, 0 14 .seh_endprologue 15 movq %rcx, 16(%rbp) 16 nop 17 popq %rbp 18 ret 19 .seh_endproc 20 .section .text$_ZN10StreamBaseD2Ev,"x" 21 .linkonce discard 22 .align 2 23 .globl _ZN10StreamBaseD2Ev 24 .def _ZN10StreamBaseD2Ev; .scl 2; .type 32; .endef 25 .seh_proc _ZN10StreamBaseD2Ev 26_ZN10StreamBaseD2Ev: 27.LFB2: 28 pushq %rbp 29 .seh_pushreg %rbp 30 movq %rsp, %rbp 31 .seh_setframe %rbp, 0 32 subq $32, %rsp 33 .seh_stackalloc 32 34 .seh_endprologue 35 movq %rcx, 16(%rbp) 36 movq 16(%rbp), %rax 37 leaq 16+_ZTV10StreamBase(%rip), %rdx 38 movq %rdx, (%rax) 39 movl $0, %eax 40 andl $1, %eax 41 testb %al, %al 42 je .L2 43 movq 16(%rbp), %rcx 44 call _ZdlPv 45.L2: 46 nop 47 addq $32, %rsp 48 popq %rbp 49 ret 50 .seh_endproc 51 .section .text$_ZN10StreamBaseD1Ev,"x" 52 .linkonce discard 53 .align 2 54 .globl _ZN10StreamBaseD1Ev 55 .def _ZN10StreamBaseD1Ev; .scl 2; .type 32; .endef 56 .seh_proc _ZN10StreamBaseD1Ev 57_ZN10StreamBaseD1Ev: 58.LFB3: 59 pushq %rbp 60 .seh_pushreg %rbp 61 movq %rsp, %rbp 62 .seh_setframe %rbp, 0 63 subq $32, %rsp 64 .seh_stackalloc 32 65 .seh_endprologue 66 movq %rcx, 16(%rbp) 67 movq 16(%rbp), %rax 68 leaq 16+_ZTV10StreamBase(%rip), %rdx 69 movq %rdx, (%rax) 70 movl $2, %eax 71 andl $1, %eax 72 testb %al, %al 73 je .L5 74 movq 16(%rbp), %rcx 75 call _ZdlPv 76.L5: 77 nop 78 addq $32, %rsp 79 popq %rbp 80 ret 81 .seh_endproc 82 .section .text$_ZN10StreamBaseD0Ev,"x" 83 .linkonce discard 84 .align 2 85 .globl _ZN10StreamBaseD0Ev 86 .def _ZN10StreamBaseD0Ev; .scl 2; .type 32; .endef 87 .seh_proc _ZN10StreamBaseD0Ev 88_ZN10StreamBaseD0Ev: 89.LFB4: 90 pushq %rbp 91 .seh_pushreg %rbp 92 movq %rsp, %rbp 93 .seh_setframe %rbp, 0 94 subq $32, %rsp 95 .seh_stackalloc 32 96 .seh_endprologue 97 movq %rcx, 16(%rbp) 98 movq 16(%rbp), %rcx 99 call _ZN10StreamBaseD1Ev 100 movq 16(%rbp), %rcx 101 call _ZdlPv 102 nop 103 addq $32, %rsp 104 popq %rbp 105 ret 106 .seh_endproc 107 .section .text$_ZN6StreamD2Ev,"x" 108 .linkonce discard 109 .align 2 110 .globl _ZN6StreamD2Ev 111 .def _ZN6StreamD2Ev; .scl 2; .type 32; .endef 112 .seh_proc _ZN6StreamD2Ev 113_ZN6StreamD2Ev: 114.LFB6: 115 pushq %rbp 116 .seh_pushreg %rbp 117 movq %rsp, %rbp 118 .seh_setframe %rbp, 0 119 subq $32, %rsp 120 .seh_stackalloc 32 121 .seh_endprologue 122 movq %rcx, 16(%rbp) 123 movq %rdx, 24(%rbp) 124 movq 24(%rbp), %rax 125 movq (%rax), %rdx 126 movq 16(%rbp), %rax 127 movq %rdx, (%rax) 128 movq 16(%rbp), %rax 129 movq (%rax), %rax 130 subq $24, %rax 131 movq (%rax), %rax 132 addq 16(%rbp), %rax 133 movq 24(%rbp), %rdx 134 addq $8, %rdx 135 movq (%rdx), %rdx 136 movq %rdx, (%rax) 137 movq 16(%rbp), %rcx 138 call _ZN10StreamBaseD2Ev 139 movl $0, %eax 140 andl $2, %eax 141 testl %eax, %eax 142 je .L11 143 movq 16(%rbp), %rax 144 addq $8, %rax 145 movq %rax, %rcx 146 call _ZN5VBaseD2Ev 147.L11: 148 movl $0, %eax 149 andl $1, %eax 150 testb %al, %al 151 je .L10 152 movq 16(%rbp), %rcx 153 call _ZdlPv 154.L10: 155 nop 156 addq $32, %rsp 157 popq %rbp 158 ret 159 .seh_endproc 160 .section .text$_ZN6StreamD1Ev,"x" 161 .linkonce discard 162 .align 2 163 .globl _ZN6StreamD1Ev 164 .def _ZN6StreamD1Ev; .scl 2; .type 32; .endef 165 .seh_proc _ZN6StreamD1Ev 166_ZN6StreamD1Ev: 167.LFB7: 168 pushq %rbp 169 .seh_pushreg %rbp 170 movq %rsp, %rbp 171 .seh_setframe %rbp, 0 172 subq $32, %rsp 173 .seh_stackalloc 32 174 .seh_endprologue 175 movq %rcx, 16(%rbp) 176 leaq 24+_ZTV6Stream(%rip), %rdx 177 movq 16(%rbp), %rax 178 movq %rdx, (%rax) 179 movl $8, %eax 180 addq 16(%rbp), %rax 181 leaq 64+_ZTV6Stream(%rip), %rdx 182 movq %rdx, (%rax) 183 movq 16(%rbp), %rcx 184 call _ZN10StreamBaseD2Ev 185 movl $2, %eax 186 andl $2, %eax 187 testl %eax, %eax 188 je .L14 189 movq 16(%rbp), %rax 190 addq $8, %rax 191 movq %rax, %rcx 192 call _ZN5VBaseD2Ev 193.L14: 194 movl $2, %eax 195 andl $1, %eax 196 testb %al, %al 197 je .L13 198 movq 16(%rbp), %rcx 199 call _ZdlPv 200.L13: 201 nop 202 addq $32, %rsp 203 popq %rbp 204 ret 205 .seh_endproc 206 .section .text$_ZN6StreamD0Ev,"x" 207 .linkonce discard 208 .align 2 209 .globl _ZN6StreamD0Ev 210 .def _ZN6StreamD0Ev; .scl 2; .type 32; .endef 211 .seh_proc _ZN6StreamD0Ev 212_ZN6StreamD0Ev: 213.LFB8: 214 pushq %rbp 215 .seh_pushreg %rbp 216 movq %rsp, %rbp 217 .seh_setframe %rbp, 0 218 subq $32, %rsp 219 .seh_stackalloc 32 220 .seh_endprologue 221 movq %rcx, 16(%rbp) 222 movq 16(%rbp), %rcx 223 call _ZN6StreamD1Ev 224 movq 16(%rbp), %rcx 225 call _ZdlPv 226 nop 227 addq $32, %rsp 228 popq %rbp 229 ret 230 .seh_endproc 231 .globl r 232 .bss 233 .align 4 234r: 235 .space 4 236 .section .text$_ZN13DerivedStreamD1Ev,"x" 237 .linkonce discard 238 .align 2 239 .globl _ZN13DerivedStreamD1Ev 240 .def _ZN13DerivedStreamD1Ev; .scl 2; .type 32; .endef 241 .seh_proc _ZN13DerivedStreamD1Ev 242_ZN13DerivedStreamD1Ev: 243.LFB12: 244 pushq %rbp 245 .seh_pushreg %rbp 246 movq %rsp, %rbp 247 .seh_setframe %rbp, 0 248 pushq %rbx 249 .seh_pushreg %rbx 250 subq $40, %rsp 251 .seh_stackalloc 40 252 .seh_endprologue 253 movq %rcx, 16(%rbp) 254 leaq 24+_ZTV13DerivedStream(%rip), %rdx 255 movq 16(%rbp), %rax 256 movq %rdx, (%rax) 257 movl $8, %eax 258 addq 16(%rbp), %rax 259 leaq 64+_ZTV13DerivedStream(%rip), %rdx 260 movq %rdx, (%rax) 261 leaq _ZTT13DerivedStream(%rip), %rax 262 addq $8, %rax 263 movq %rax, %rdx 264 movq 16(%rbp), %rcx 265.LEHB0: 266 call _ZN6StreamD2Ev 267.LEHE0: 268 movl $2, %eax 269 andl $2, %eax 270 testl %eax, %eax 271 je .L19 272 movq 16(%rbp), %rax 273 addq $8, %rax 274 movq %rax, %rcx 275.LEHB1: 276 call _ZN5VBaseD2Ev 277.LEHE1: 278.L19: 279 movl $2, %eax 280 andl $1, %eax 281 testb %al, %al 282 je .L18 283 movq 16(%rbp), %rcx 284 call _ZdlPv 285 jmp .L18 286.L23: 287 movq %rax, %rbx 288 movl $2, %eax 289 andl $2, %eax 290 testl %eax, %eax 291 je .L22 292 movq 16(%rbp), %rax 293 addq $8, %rax 294 movq %rax, %rcx 295 call _ZN5VBaseD2Ev 296.L22: 297 movq %rbx, %rax 298 movq %rax, %rcx 299.LEHB2: 300 call _Unwind_Resume 301 nop 302.LEHE2: 303.L18: 304 nop 305 addq $40, %rsp 306 popq %rbx 307 popq %rbp 308 ret 309 .def __gxx_personality_v0; .scl 2; .type 32; .endef 310 .seh_handler _GCC_specific_handler, @unwind, @except 311 .seh_handlerdata 312 .rva __gxx_personality_v0 313 .section .text$_ZN13DerivedStreamD1Ev,"x" 314 .linkonce discard 315 .seh_handlerdata 316.LLSDA12: 317 .byte 0xff 318 .byte 0xff 319 .byte 0x1 320 .uleb128 .LLSDACSE12-.LLSDACSB12 321.LLSDACSB12: 322 .uleb128 .LEHB0-.LFB12 323 .uleb128 .LEHE0-.LEHB0 324 .uleb128 .L23-.LFB12 325 .uleb128 0 326 .uleb128 .LEHB1-.LFB12 327 .uleb128 .LEHE1-.LEHB1 328 .uleb128 0 329 .uleb128 0 330 .uleb128 .LEHB2-.LFB12 331 .uleb128 .LEHE2-.LEHB2 332 .uleb128 0 333 .uleb128 0 334.LLSDACSE12: 335 .section .text$_ZN13DerivedStreamD1Ev,"x" 336 .linkonce discard 337 .seh_endproc 338 .section .text$_ZN13DerivedStreamD0Ev,"x" 339 .linkonce discard 340 .align 2 341 .globl _ZN13DerivedStreamD0Ev 342 .def _ZN13DerivedStreamD0Ev; .scl 2; .type 32; .endef 343 .seh_proc _ZN13DerivedStreamD0Ev 344_ZN13DerivedStreamD0Ev: 345.LFB13: 346 pushq %rbp 347 .seh_pushreg %rbp 348 movq %rsp, %rbp 349 .seh_setframe %rbp, 0 350 subq $32, %rsp 351 .seh_stackalloc 32 352 .seh_endprologue 353 movq %rcx, 16(%rbp) 354 movq 16(%rbp), %rcx 355 call _ZN13DerivedStreamD1Ev 356 movq 16(%rbp), %rcx 357 call _ZdlPv 358 nop 359 addq $32, %rsp 360 popq %rbp 361 ret 362 .seh_endproc 363 .text 364 .globl _Z7ctor2_xv 365 .def _Z7ctor2_xv; .scl 2; .type 32; .endef 366 .seh_proc _Z7ctor2_xv 367_Z7ctor2_xv: 368.LFB9: 369 pushq %rbp 370 .seh_pushreg %rbp 371 movq %rsp, %rbp 372 .seh_setframe %rbp, 0 373 subq $48, %rsp 374 .seh_stackalloc 48 375 .seh_endprologue 376 leaq -16(%rbp), %rax 377 movq %rax, %rcx 378.LEHB3: 379 call _ZN13DerivedStreamC1Ev 380 leaq -16(%rbp), %rax 381 movq %rax, %rcx 382 call _ZN13DerivedStreamD1Ev 383.LEHE3: 384.L29: 385 movl r(%rip), %eax 386 testl %eax, %eax 387 je .L27 388.LEHB4: 389 call abort 390 nop 391.L27: 392 movl $0, %ecx 393 call exit 394 nop 395.L30: 396 movq %rax, %rcx 397 call __cxa_begin_catch 398 call __cxa_end_catch 399.LEHE4: 400 jmp .L29 401 .seh_handler _GCC_specific_handler, @unwind, @except 402 .seh_handlerdata 403 .rva __gxx_personality_v0 404 .text 405 .seh_handlerdata 406 .align 4 407.LLSDA9: 408 .byte 0xff 409 .byte 0x9b 410 .uleb128 .LLSDATT9-.LLSDATTD9 411.LLSDATTD9: 412 .byte 0x1 413 .uleb128 .LLSDACSE9-.LLSDACSB9 414.LLSDACSB9: 415 .uleb128 .LEHB3-.LFB9 416 .uleb128 .LEHE3-.LEHB3 417 .uleb128 .L30-.LFB9 418 .uleb128 0x1 419 .uleb128 .LEHB4-.LFB9 420 .uleb128 .LEHE4-.LEHB4 421 .uleb128 0 422 .uleb128 0 423.LLSDACSE9: 424 .byte 0x1 425 .byte 0 426 .align 4 427 .long 0 428 429.LLSDATT9: 430 .text 431 .seh_endproc 432 .globl _ZTV13DerivedStream 433 .section .data$_ZTV13DerivedStream,"w" 434 .linkonce same_size 435 .align 32 436_ZTV13DerivedStream: 437 .quad 8 438 .quad 0 439 .quad _ZTI13DerivedStream 440 .quad _ZN13DerivedStreamD1Ev 441 .quad _ZN13DerivedStreamD0Ev 442 .quad 0 443 .quad -8 444 .quad _ZTI13DerivedStream 445 .quad _ZN5VBase1fEv 446 .globl _ZTT13DerivedStream 447 .section .data$_ZTT13DerivedStream,"w" 448 .linkonce same_size 449 .align 32 450_ZTT13DerivedStream: 451 .quad _ZTV13DerivedStream+24 452 .quad _ZTC13DerivedStream0_6Stream+24 453 .quad _ZTC13DerivedStream0_6Stream+64 454 .quad _ZTV13DerivedStream+64 455 .globl _ZTC13DerivedStream0_6Stream 456 .section .data$_ZTC13DerivedStream0_6Stream,"w" 457 .linkonce same_size 458 .align 32 459_ZTC13DerivedStream0_6Stream: 460 .quad 8 461 .quad 0 462 .quad _ZTI6Stream 463 .quad _ZN6StreamD1Ev 464 .quad _ZN6StreamD0Ev 465 .quad 0 466 .quad -8 467 .quad _ZTI6Stream 468 .quad _ZN5VBase1fEv 469 .globl _ZTV6Stream 470 .section .data$_ZTV6Stream,"w" 471 .linkonce same_size 472 .align 32 473_ZTV6Stream: 474 .quad 8 475 .quad 0 476 .quad _ZTI6Stream 477 .quad _ZN6StreamD1Ev 478 .quad _ZN6StreamD0Ev 479 .quad 0 480 .quad -8 481 .quad _ZTI6Stream 482 .quad _ZN5VBase1fEv 483 .globl _ZTT6Stream 484 .section .data$_ZTT6Stream,"w" 485 .linkonce same_size 486 .align 16 487_ZTT6Stream: 488 .quad _ZTV6Stream+24 489 .quad _ZTV6Stream+64 490 .globl _ZTV10StreamBase 491 .section .data$_ZTV10StreamBase,"w" 492 .linkonce same_size 493 .align 32 494_ZTV10StreamBase: 495 .quad 0 496 .quad _ZTI10StreamBase 497 .quad _ZN10StreamBaseD1Ev 498 .quad _ZN10StreamBaseD0Ev 499 .globl _ZTS13DerivedStream 500 .section .rdata$_ZTS13DerivedStream,"dr" 501 .linkonce same_size 502 .align 16 503_ZTS13DerivedStream: 504 .ascii "13DerivedStream\0" 505 .globl _ZTI13DerivedStream 506 .section .data$_ZTI13DerivedStream,"w" 507 .linkonce same_size 508 .align 16 509_ZTI13DerivedStream: 510 .quad _ZTVN10__cxxabiv120__si_class_type_infoE+16 511 .quad _ZTS13DerivedStream 512 .quad _ZTI6Stream 513 .globl _ZTS6Stream 514 .section .rdata$_ZTS6Stream,"dr" 515 .linkonce same_size 516_ZTS6Stream: 517 .ascii "6Stream\0" 518 .globl _ZTI6Stream 519 .section .data$_ZTI6Stream,"w" 520 .linkonce same_size 521 .align 32 522_ZTI6Stream: 523 .quad _ZTVN10__cxxabiv121__vmi_class_type_infoE+16 524 .quad _ZTS6Stream 525 .long 0 526 .long 2 527 .quad _ZTI5VBase 528 .long -6141 529 .space 4 530 .quad _ZTI10StreamBase 531 .long 2 532 .space 4 533 .globl _ZTS10StreamBase 534 .section .rdata$_ZTS10StreamBase,"dr" 535 .linkonce same_size 536_ZTS10StreamBase: 537 .ascii "10StreamBase\0" 538 .globl _ZTI10StreamBase 539 .section .data$_ZTI10StreamBase,"w" 540 .linkonce same_size 541 .align 16 542_ZTI10StreamBase: 543 .quad _ZTVN10__cxxabiv117__class_type_infoE+16 544 .quad _ZTS10StreamBase 545 .globl _ZTS5VBase 546 .section .rdata$_ZTS5VBase,"dr" 547 .linkonce same_size 548_ZTS5VBase: 549 .ascii "5VBase\0" 550 .globl _ZTI5VBase 551 .section .data$_ZTI5VBase,"w" 552 .linkonce same_size 553 .align 16 554_ZTI5VBase: 555 .quad _ZTVN10__cxxabiv117__class_type_infoE+16 556 .quad _ZTS5VBase 557 .def _ZdlPv; .scl 2; .type 32; .endef 558 .def _ZN5VBaseD2Ev; .scl 2; .type 32; .endef 559 .def _Unwind_Resume; .scl 2; .type 32; .endef 560 .def _ZN13DerivedStreamC1Ev; .scl 2; .type 32; .endef 561 .def abort; .scl 2; .type 32; .endef 562 .def exit; .scl 2; .type 32; .endef 563 .def __cxa_begin_catch; .scl 2; .type 32; .endef 564 .def __cxa_end_catch; .scl 2; .type 32; .endef 565