GAS LISTING /tmp/ccgoSFFq.s page 1 1 .file "complex-multiple.cc" 2 .file 1 "complex-multiple.cc" 10 .Ltext0: 11 .file 2 "/usr/include/gconv.h" 12 .file 3 "/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h" 13 .file 4 "/usr/include/wchar.h" 14 .file 5 "/usr/include/libio.h" 15 .file 6 "/usr/include/bits/types.h" 16 .align 2 17 .globl _ZN5baseA8setDataAEi 19 _ZN5baseA8setDataAEi: 20 .LFB2: 1:complex-multiple.cc **** #include 2:complex-multiple.cc **** 3:complex-multiple.cc **** class baseA { 4:complex-multiple.cc **** int dataA; 5:complex-multiple.cc **** public: 6:complex-multiple.cc **** void setDataA(int a); 7:complex-multiple.cc **** virtual int getDataA() const; 8:complex-multiple.cc **** }; 9:complex-multiple.cc **** 10:complex-multiple.cc **** class baseB { 11:complex-multiple.cc **** int dataB; 12:complex-multiple.cc **** public: 13:complex-multiple.cc **** void setDataB(int b); 14:complex-multiple.cc **** virtual int getDataB() const; 15:complex-multiple.cc **** }; 16:complex-multiple.cc **** 17:complex-multiple.cc **** class subBoth : public baseA, public baseB { 18:complex-multiple.cc **** public: 19:complex-multiple.cc **** virtual int getSum() const; 20:complex-multiple.cc **** // Overrise get data methods for fun. 21:complex-multiple.cc **** virtual int getDataA() const; 22:complex-multiple.cc **** virtual int getDataB() const; 23:complex-multiple.cc **** }; 24:complex-multiple.cc **** 25:complex-multiple.cc **** void baseA::setDataA(int a) { 21 .loc 1 25 0 22 .LBB2: 23 0000 55 pushl %ebp 24 .LCFI0: 25 0001 89E5 movl %esp, %ebp 26 .LCFI1: 26:complex-multiple.cc **** dataA = a; 27 .loc 1 26 0 28 0003 8B5508 movl 8(%ebp), %edx 29 0006 8B450C movl 12(%ebp), %eax 30 0009 894204 movl %eax, 4(%edx) 27:complex-multiple.cc **** } 31 .loc 1 27 0 32 000c C9 leave 33 000d C3 ret 34 .LBE2: 35 .LFE2: 36 .Lfe1: 38 .align 2 39 .globl _ZNK5baseA8getDataAEv GAS LISTING /tmp/ccgoSFFq.s page 2 41 _ZNK5baseA8getDataAEv: 42 .LFB4: 28:complex-multiple.cc **** int baseA::getDataA() const { 43 .loc 1 28 0 44 .LBB3: 45 000e 55 pushl %ebp 46 .LCFI2: 47 000f 89E5 movl %esp, %ebp 48 .LCFI3: 29:complex-multiple.cc **** return dataA; 49 .loc 1 29 0 50 0011 8B4508 movl 8(%ebp), %eax 51 0014 8B4004 movl 4(%eax), %eax 52 .LBE3: 30:complex-multiple.cc **** } 53 .loc 1 30 0 54 0017 C9 leave 55 0018 C3 ret 56 .LFE4: 57 .Lfe2: 59 0019 90 .align 2 60 .globl _ZN5baseB8setDataBEi 62 _ZN5baseB8setDataBEi: 63 .LFB6: 31:complex-multiple.cc **** 32:complex-multiple.cc **** void baseB::setDataB(int b) { 64 .loc 1 32 0 65 .LBB4: 66 001a 55 pushl %ebp 67 .LCFI4: 68 001b 89E5 movl %esp, %ebp 69 .LCFI5: 33:complex-multiple.cc **** dataB = b; 70 .loc 1 33 0 71 001d 8B5508 movl 8(%ebp), %edx 72 0020 8B450C movl 12(%ebp), %eax 73 0023 894204 movl %eax, 4(%edx) 34:complex-multiple.cc **** } 74 .loc 1 34 0 75 0026 C9 leave 76 0027 C3 ret 77 .LBE4: 78 .LFE6: 79 .Lfe3: 81 .align 2 82 .globl _ZNK5baseB8getDataBEv 84 _ZNK5baseB8getDataBEv: 85 .LFB8: 35:complex-multiple.cc **** int baseB::getDataB() const { 86 .loc 1 35 0 87 .LBB5: 88 0028 55 pushl %ebp 89 .LCFI6: 90 0029 89E5 movl %esp, %ebp 91 .LCFI7: 36:complex-multiple.cc **** return dataB; 92 .loc 1 36 0 GAS LISTING /tmp/ccgoSFFq.s page 3 93 002b 8B4508 movl 8(%ebp), %eax 94 002e 8B4004 movl 4(%eax), %eax 95 .LBE5: 37:complex-multiple.cc **** } 96 .loc 1 37 0 97 0031 C9 leave 98 0032 C3 ret 99 .LFE8: 100 .Lfe4: 102 0033 90 .align 2 103 .globl _ZNK7subBoth6getSumEv 105 _ZNK7subBoth6getSumEv: 106 .LFB10: 38:complex-multiple.cc **** 39:complex-multiple.cc **** int subBoth::getSum() const { 107 .loc 1 39 0 108 .LBB6: 109 0034 55 pushl %ebp 110 .LCFI8: 111 0035 89E5 movl %esp, %ebp 112 .LCFI9: 113 0037 83EC08 subl $8, %esp 114 .LCFI10: 40:complex-multiple.cc **** int total = 0; 115 .loc 1 40 0 116 003a C745FC00 movl $0, -4(%ebp) 116 000000 41:complex-multiple.cc **** total += getDataA(); 117 .loc 1 41 0 118 0041 83EC0C subl $12, %esp 119 0044 8B4508 movl 8(%ebp), %eax 120 0047 8B00 movl (%eax), %eax 121 0049 FF7508 pushl 8(%ebp) 122 004c 8B00 movl (%eax), %eax 123 .LCFI11: 124 004e FFD0 call *%eax 125 0050 83C410 addl $16, %esp 126 0053 89C2 movl %eax, %edx 127 0055 8D45FC leal -4(%ebp), %eax 128 0058 0110 addl %edx, (%eax) 42:complex-multiple.cc **** total += getDataB(); 129 .loc 1 42 0 130 005a 83EC0C subl $12, %esp 131 005d 8B4508 movl 8(%ebp), %eax 132 0060 8B00 movl (%eax), %eax 133 0062 83C008 addl $8, %eax 134 0065 FF7508 pushl 8(%ebp) 135 0068 8B00 movl (%eax), %eax 136 006a FFD0 call *%eax 137 006c 83C410 addl $16, %esp 138 006f 89C2 movl %eax, %edx 139 0071 8D45FC leal -4(%ebp), %eax 140 0074 0110 addl %edx, (%eax) 43:complex-multiple.cc **** return total; 141 .loc 1 43 0 142 0076 8B45FC movl -4(%ebp), %eax 143 .LBE6: GAS LISTING /tmp/ccgoSFFq.s page 4 44:complex-multiple.cc **** } 144 .loc 1 44 0 145 0079 C9 leave 146 007a C3 ret 147 .LFE10: 148 .Lfe5: 150 .section .rodata 151 .LC0: 152 0000 63616C6C .string "calling getDataA()\n" 152 696E6720 152 67657444 152 61746141 152 28290A00 153 .text 154 007b 90 .align 2 155 .globl _ZNK7subBoth8getDataAEv 157 _ZNK7subBoth8getDataAEv: 158 .LFB12: 45:complex-multiple.cc **** 46:complex-multiple.cc **** int subBoth::getDataA() const { 159 .loc 1 46 0 160 .LBB7: 161 007c 55 pushl %ebp 162 .LCFI12: 163 007d 89E5 movl %esp, %ebp 164 .LCFI13: 165 007f 83EC08 subl $8, %esp 166 .LCFI14: 47:complex-multiple.cc **** printf("calling getDataA()\n"); 167 .loc 1 47 0 168 0082 83EC0C subl $12, %esp 169 0085 68000000 pushl $.LC0 169 00 170 .LCFI15: 171 008a E8FCFFFF call printf 171 FF 172 008f 83C410 addl $16, %esp 48:complex-multiple.cc **** return baseA::getDataA(); 173 .loc 1 48 0 174 0092 83EC0C subl $12, %esp 175 0095 FF7508 pushl 8(%ebp) 176 0098 E8FCFFFF call _ZNK5baseA8getDataAEv 176 FF 177 009d 83C410 addl $16, %esp 178 .LBE7: 49:complex-multiple.cc **** } 179 .loc 1 49 0 180 00a0 C9 leave 181 00a1 C3 ret 182 .LFE12: 183 .Lfe6: 185 .section .rodata 186 .LC1: 187 0014 63616C6C .string "calling getDataB()\n" 187 696E6720 187 67657444 187 61746142 GAS LISTING /tmp/ccgoSFFq.s page 5 187 28290A00 188 .text 189 .align 2 190 .globl _ZNK7subBoth8getDataBEv 192 _ZNK7subBoth8getDataBEv: 193 .LFB14: 50:complex-multiple.cc **** 51:complex-multiple.cc **** int subBoth::getDataB() const { 194 .loc 1 51 0 195 .LBB8: 196 00a2 55 pushl %ebp 197 .LCFI16: 198 00a3 89E5 movl %esp, %ebp 199 .LCFI17: 200 00a5 83EC08 subl $8, %esp 201 .LCFI18: 52:complex-multiple.cc **** printf("calling getDataB()\n"); 202 .loc 1 52 0 203 00a8 83EC0C subl $12, %esp 204 00ab 68140000 pushl $.LC1 204 00 205 .LCFI19: 206 00b0 E8FCFFFF call printf 206 FF 207 00b5 83C410 addl $16, %esp 53:complex-multiple.cc **** return baseB::getDataB(); 208 .loc 1 53 0 209 00b8 83EC0C subl $12, %esp 210 00bb 8B4508 movl 8(%ebp), %eax 211 00be 83C008 addl $8, %eax 212 00c1 50 pushl %eax 213 00c2 E8FCFFFF call _ZNK5baseB8getDataBEv 213 FF 214 00c7 83C410 addl $16, %esp 215 .LBE8: 54:complex-multiple.cc **** } 216 .loc 1 54 0 217 00ca C9 leave 218 00cb C3 ret 219 .LFE14: 220 .Lfe7: 222 .section .gnu.linkonce.t._ZThn8_NK7subBoth8getDataBEv,"ax",@progbits 223 .align 2 224 .weak _ZThn8_NK7subBoth8getDataBEv 226 _ZThn8_NK7subBoth8getDataBEv: 227 0000 83442404 addl $-8, 4(%esp) 227 F8 228 0005 E9FCFFFF jmp _ZNK7subBoth8getDataBEv 228 FF 229 .Lfe8: 231 .text 232 .align 2 233 .globl main 235 main: 236 .LFB26: 55:complex-multiple.cc **** 56:complex-multiple.cc **** GAS LISTING /tmp/ccgoSFFq.s page 6 57:complex-multiple.cc **** int main(int argc, char **argv) { 237 .loc 1 57 0 238 00cc 55 pushl %ebp 239 .LCFI20: 240 00cd 89E5 movl %esp, %ebp 241 .LCFI21: 242 00cf 83EC18 subl $24, %esp 243 .LCFI22: 244 00d2 83E4F0 andl $-16, %esp 245 00d5 B8000000 movl $0, %eax 245 00 246 00da 29C4 subl %eax, %esp 247 .LBB9: 58:complex-multiple.cc **** 59:complex-multiple.cc **** subBoth *sb = new subBoth; 248 .loc 1 59 0 249 00dc 83EC0C subl $12, %esp 250 00df 6A10 pushl $16 251 .LCFI23: 252 00e1 E8FCFFFF call _Znwj 252 FF 253 00e6 83C410 addl $16, %esp 254 00e9 8945EC movl %eax, -20(%ebp) 255 00ec 83EC0C subl $12, %esp 256 00ef FF75EC pushl -20(%ebp) 257 00f2 E8FCFFFF call _ZN7subBothC1Ev 257 FF 258 00f7 83C410 addl $16, %esp 259 00fa B000 movb $0, %al 260 00fc 8B55EC movl -20(%ebp), %edx 261 00ff 8955FC movl %edx, -4(%ebp) 262 0102 84C0 testb %al, %al 263 0104 740E je .L16 264 0106 83EC0C subl $12, %esp 265 0109 FF75EC pushl -20(%ebp) 266 010c E8FCFFFF call _ZdlPv 266 FF 267 0111 83C410 addl $16, %esp 268 .L16: 60:complex-multiple.cc **** 61:complex-multiple.cc **** int i = sb->getSum(); 269 .loc 1 61 0 270 0114 83EC0C subl $12, %esp 271 0117 8B45FC movl -4(%ebp), %eax 272 011a 8B00 movl (%eax), %eax 273 011c 83C004 addl $4, %eax 274 011f FF75FC pushl -4(%ebp) 275 0122 8B00 movl (%eax), %eax 276 0124 FFD0 call *%eax 277 0126 83C410 addl $16, %esp 278 0129 8945F8 movl %eax, -8(%ebp) 62:complex-multiple.cc **** 63:complex-multiple.cc **** baseA *ba = sb; 279 .loc 1 63 0 280 012c 8B45FC movl -4(%ebp), %eax 281 012f 8945F4 movl %eax, -12(%ebp) 64:complex-multiple.cc **** GAS LISTING /tmp/ccgoSFFq.s page 7 65:complex-multiple.cc **** ba->setDataA(12); 282 .loc 1 65 0 283 0132 83EC08 subl $8, %esp 284 0135 6A0C pushl $12 285 0137 FF75F4 pushl -12(%ebp) 286 013a E8FCFFFF call _ZN5baseA8setDataAEi 286 FF 287 013f 83C410 addl $16, %esp 66:complex-multiple.cc **** ba->getDataA(); 288 .loc 1 66 0 289 0142 83EC0C subl $12, %esp 290 0145 8B45F4 movl -12(%ebp), %eax 291 0148 8B00 movl (%eax), %eax 292 014a FF75F4 pushl -12(%ebp) 293 014d 8B00 movl (%eax), %eax 294 014f FFD0 call *%eax 295 0151 83C410 addl $16, %esp 67:complex-multiple.cc **** 68:complex-multiple.cc **** baseB *bb = sb; 296 .loc 1 68 0 297 0154 837DFC00 cmpl $0, -4(%ebp) 298 0158 740B je .L17 299 015a 8B45FC movl -4(%ebp), %eax 300 015d 83C008 addl $8, %eax 301 0160 8945E8 movl %eax, -24(%ebp) 302 0163 EB07 jmp .L18 303 .L17: 304 0165 C745E800 movl $0, -24(%ebp) 304 000000 305 .L18: 306 016c 8B55E8 movl -24(%ebp), %edx 307 016f 8955F0 movl %edx, -16(%ebp) 69:complex-multiple.cc **** 70:complex-multiple.cc **** bb->setDataB(13); 308 .loc 1 70 0 309 0172 83EC08 subl $8, %esp 310 0175 6A0D pushl $13 311 0177 FF75F0 pushl -16(%ebp) 312 017a E8FCFFFF call _ZN5baseB8setDataBEi 312 FF 313 017f 83C410 addl $16, %esp 71:complex-multiple.cc **** bb->getDataB(); 314 .loc 1 71 0 315 0182 83EC0C subl $12, %esp 316 0185 8B45F0 movl -16(%ebp), %eax 317 0188 8B00 movl (%eax), %eax 318 018a FF75F0 pushl -16(%ebp) 319 018d 8B00 movl (%eax), %eax 320 018f FFD0 call *%eax 321 0191 83C410 addl $16, %esp 72:complex-multiple.cc **** 73:complex-multiple.cc **** return 0; 322 .loc 1 73 0 323 0194 B8000000 movl $0, %eax 323 00 324 .LBE9: 74:complex-multiple.cc **** GAS LISTING /tmp/ccgoSFFq.s page 8 75:complex-multiple.cc **** } 325 .loc 1 75 0 326 0199 C9 leave 327 019a C3 ret 328 .LFE26: 329 .Lfe9: 331 .weak _ZTV7subBoth 332 .section .gnu.linkonce.d._ZTV7subBoth,"aw",@progbits 333 .align 32 336 _ZTV7subBoth: 337 0000 00000000 .long 0 338 0004 00000000 .long _ZTI7subBoth 339 0008 00000000 .long _ZNK7subBoth8getDataAEv 340 000c 00000000 .long _ZNK7subBoth6getSumEv 341 0010 00000000 .long _ZNK7subBoth8getDataBEv 342 0014 F8FFFFFF .long -8 343 0018 00000000 .long _ZTI7subBoth 344 001c 00000000 .long _ZThn8_NK7subBoth8getDataBEv 345 .weak _ZTV5baseB 346 .section .gnu.linkonce.d._ZTV5baseB,"aw",@progbits 347 .align 8 350 _ZTV5baseB: 351 0000 00000000 .long 0 352 0004 00000000 .long _ZTI5baseB 353 0008 00000000 .long _ZNK5baseB8getDataBEv 354 .weak _ZTV5baseA 355 .section .gnu.linkonce.d._ZTV5baseA,"aw",@progbits 356 .align 8 359 _ZTV5baseA: 360 0000 00000000 .long 0 361 0004 00000000 .long _ZTI5baseA 362 0008 00000000 .long _ZNK5baseA8getDataAEv 363 .section .gnu.linkonce.t._ZN7subBothC1Ev,"ax",@progbits 364 .align 2 365 .weak _ZN7subBothC1Ev 367 _ZN7subBothC1Ev: 368 .LFB27: 369 .loc 1 59 0 370 .LBB10: 371 0000 55 pushl %ebp 372 .LCFI24: 373 0001 89E5 movl %esp, %ebp 374 .LCFI25: 375 0003 83EC08 subl $8, %esp 376 .LCFI26: 377 .loc 1 59 0 378 0006 83EC0C subl $12, %esp 379 0009 FF7508 pushl 8(%ebp) 380 .LCFI27: 381 000c E8FCFFFF call _ZN5baseAC2Ev 381 FF 382 0011 83C410 addl $16, %esp 383 0014 83EC0C subl $12, %esp 384 0017 8B4508 movl 8(%ebp), %eax 385 001a 83C008 addl $8, %eax 386 001d 50 pushl %eax 387 001e E8FCFFFF call _ZN5baseBC2Ev GAS LISTING /tmp/ccgoSFFq.s page 9 387 FF 388 0023 83C410 addl $16, %esp 389 0026 8B4508 movl 8(%ebp), %eax 390 0029 C7000800 movl $_ZTV7subBoth+8, (%eax) 390 0000 391 002f 8B4508 movl 8(%ebp), %eax 392 0032 83C008 addl $8, %eax 393 0035 C7001C00 movl $_ZTV7subBoth+28, (%eax) 393 0000 394 003b C9 leave 395 003c C3 ret 396 .LBE10: 397 .LFE27: 398 .Lfe10: 400 .weak _ZTI5baseA 401 .section .gnu.linkonce.d._ZTI5baseA,"aw",@progbits 402 .align 4 405 _ZTI5baseA: 406 0000 08000000 .long _ZTVN10__cxxabiv117__class_type_infoE+8 407 0004 00000000 .long _ZTS5baseA 408 .weak _ZTI5baseB 409 .section .gnu.linkonce.d._ZTI5baseB,"aw",@progbits 410 .align 4 413 _ZTI5baseB: 414 0000 08000000 .long _ZTVN10__cxxabiv117__class_type_infoE+8 415 0004 00000000 .long _ZTS5baseB 416 .weak _ZTI7subBoth 417 .section .gnu.linkonce.d._ZTI7subBoth,"aw",@progbits 418 .align 32 421 _ZTI7subBoth: 422 0000 08000000 .long _ZTVN10__cxxabiv121__vmi_class_type_infoE+8 423 0004 00000000 .long _ZTS7subBoth 424 0008 08000000 .long 8 425 000c 02000000 .long 2 426 0010 00000000 .long _ZTI5baseA 427 0014 02000000 .long 2 428 0018 00000000 .long _ZTI5baseB 429 001c 02080000 .long 2050 430 0020 00000000 .zero 8 430 00000000 431 .weak _ZTS7subBoth 432 .section .gnu.linkonce.r._ZTS7subBoth,"a",@progbits 435 _ZTS7subBoth: 436 0000 37737562 .string "7subBoth" 436 426F7468 436 00 437 .weak _ZTS5baseB 438 .section .gnu.linkonce.r._ZTS5baseB,"a",@progbits 441 _ZTS5baseB: 442 0000 35626173 .string "5baseB" 442 654200 443 .weak _ZTS5baseA 444 .section .gnu.linkonce.r._ZTS5baseA,"a",@progbits 447 _ZTS5baseA: 448 0000 35626173 .string "5baseA" 448 654100 449 .section .gnu.linkonce.t._ZN5baseAC2Ev,"ax",@progbits GAS LISTING /tmp/ccgoSFFq.s page 10 450 .align 2 451 .weak _ZN5baseAC2Ev 453 _ZN5baseAC2Ev: 454 .LFB28: 455 .loc 1 59 0 456 .LBB11: 457 0000 55 pushl %ebp 458 .LCFI28: 459 0001 89E5 movl %esp, %ebp 460 .LCFI29: 461 .loc 1 59 0 462 0003 8B4508 movl 8(%ebp), %eax 463 0006 C7000800 movl $_ZTV5baseA+8, (%eax) 463 0000 464 000c C9 leave 465 000d C3 ret 466 .LBE11: 467 .LFE28: 468 .Lfe11: 470 .section .gnu.linkonce.t._ZN5baseBC2Ev,"ax",@progbits 471 .align 2 472 .weak _ZN5baseBC2Ev 474 _ZN5baseBC2Ev: 475 .LFB29: 476 .loc 1 59 0 477 .LBB12: 478 0000 55 pushl %ebp 479 .LCFI30: 480 0001 89E5 movl %esp, %ebp 481 .LCFI31: 482 .loc 1 59 0 483 0003 8B4508 movl 8(%ebp), %eax 484 0006 C7000800 movl $_ZTV5baseB+8, (%eax) 484 0000 485 000c C9 leave 486 000d C3 ret 487 .LBE12: 488 .LFE29: 489 .Lfe12: 491 .file 7 "/usr/include/stdio.h" 492 .file 8 "/usr/include/_G_config.h" 493 .file 9 "/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h" 730 .Lframe1: 731 0000 18000000 .long .LECIE1-.LSCIE1 732 .LSCIE1: 733 0004 00000000 .long 0x0 734 0008 01 .byte 0x1 735 0009 7A5000 .string "zP" 736 000c 01 .uleb128 0x1 737 000d 7C .sleb128 -4 738 000e 08 .byte 0x8 739 000f 05 .uleb128 0x5 740 0010 00 .byte 0x0 741 0011 00000000 .long __gxx_personality_v0 742 0015 0C .byte 0xc 743 0016 04 .uleb128 0x4 744 0017 04 .uleb128 0x4 GAS LISTING /tmp/ccgoSFFq.s page 11 745 0018 88 .byte 0x88 746 0019 01 .uleb128 0x1 747 001a 0000 .align 4 748 .LECIE1: 749 .LSFDE9: 750 001c 24000000 .long .LEFDE9-.LASFDE9 751 .LASFDE9: 752 0020 20000000 .long .LASFDE9-.Lframe1 753 0024 34000000 .long .LFB10 754 0028 47000000 .long .LFE10-.LFB10 755 002c 00 .uleb128 0x0 756 002d 04 .byte 0x4 757 002e 01000000 .long .LCFI8-.LFB10 758 0032 0E .byte 0xe 759 0033 08 .uleb128 0x8 760 0034 85 .byte 0x85 761 0035 02 .uleb128 0x2 762 0036 04 .byte 0x4 763 0037 02000000 .long .LCFI9-.LCFI8 764 003b 0D .byte 0xd 765 003c 05 .uleb128 0x5 766 003d 04 .byte 0x4 767 003e 17000000 .long .LCFI11-.LCFI9 768 0042 2E .byte 0x2e 769 0043 10 .uleb128 0x10 770 .align 4 771 .LEFDE9: 772 .LSFDE15: 773 0044 24000000 .long .LEFDE15-.LASFDE15 774 .LASFDE15: 775 0048 48000000 .long .LASFDE15-.Lframe1 776 004c CC000000 .long .LFB26 777 0050 CF000000 .long .LFE26-.LFB26 778 0054 00 .uleb128 0x0 779 0055 04 .byte 0x4 780 0056 01000000 .long .LCFI20-.LFB26 781 005a 0E .byte 0xe 782 005b 08 .uleb128 0x8 783 005c 85 .byte 0x85 784 005d 02 .uleb128 0x2 785 005e 04 .byte 0x4 786 005f 02000000 .long .LCFI21-.LCFI20 787 0063 0D .byte 0xd 788 0064 05 .uleb128 0x5 789 0065 04 .byte 0x4 790 0066 12000000 .long .LCFI23-.LCFI21 791 006a 2E .byte 0x2e 792 006b 10 .uleb128 0x10 793 .align 4 794 .LEFDE15: 795 .text 796 .Letext0: GAS LISTING /tmp/ccgoSFFq.s page 12 DEFINED SYMBOLS *ABS*:00000000 complex-multiple.cc /tmp/ccgoSFFq.s:19 .text:00000000 _ZN5baseA8setDataAEi /tmp/ccgoSFFq.s:41 .text:0000000e _ZNK5baseA8getDataAEv /tmp/ccgoSFFq.s:62 .text:0000001a _ZN5baseB8setDataBEi /tmp/ccgoSFFq.s:84 .text:00000028 _ZNK5baseB8getDataBEv /tmp/ccgoSFFq.s:105 .text:00000034 _ZNK7subBoth6getSumEv /tmp/ccgoSFFq.s:157 .text:0000007c _ZNK7subBoth8getDataAEv /tmp/ccgoSFFq.s:192 .text:000000a2 _ZNK7subBoth8getDataBEv /tmp/ccgoSFFq.s:226 .gnu.linkonce.t._ZThn8_NK7subBoth8getDataBEv:00000000 _ZThn8_NK7subBoth8getDataBEv /tmp/ccgoSFFq.s:235 .text:000000cc main /tmp/ccgoSFFq.s:367 .gnu.linkonce.t._ZN7subBothC1Ev:00000000 _ZN7subBothC1Ev /tmp/ccgoSFFq.s:336 .gnu.linkonce.d._ZTV7subBoth:00000000 _ZTV7subBoth /tmp/ccgoSFFq.s:421 .gnu.linkonce.d._ZTI7subBoth:00000000 _ZTI7subBoth /tmp/ccgoSFFq.s:350 .gnu.linkonce.d._ZTV5baseB:00000000 _ZTV5baseB /tmp/ccgoSFFq.s:413 .gnu.linkonce.d._ZTI5baseB:00000000 _ZTI5baseB /tmp/ccgoSFFq.s:359 .gnu.linkonce.d._ZTV5baseA:00000000 _ZTV5baseA /tmp/ccgoSFFq.s:405 .gnu.linkonce.d._ZTI5baseA:00000000 _ZTI5baseA /tmp/ccgoSFFq.s:453 .gnu.linkonce.t._ZN5baseAC2Ev:00000000 _ZN5baseAC2Ev /tmp/ccgoSFFq.s:474 .gnu.linkonce.t._ZN5baseBC2Ev:00000000 _ZN5baseBC2Ev /tmp/ccgoSFFq.s:447 .gnu.linkonce.r._ZTS5baseA:00000000 _ZTS5baseA /tmp/ccgoSFFq.s:441 .gnu.linkonce.r._ZTS5baseB:00000000 _ZTS5baseB /tmp/ccgoSFFq.s:435 .gnu.linkonce.r._ZTS7subBoth:00000000 _ZTS7subBoth UNDEFINED SYMBOLS printf _Znwj _ZdlPv _ZTVN10__cxxabiv117__class_type_infoE _ZTVN10__cxxabiv121__vmi_class_type_infoE __gxx_personality_v0