GAS LISTING /tmp/ccZhh1h7.s 			page 1


   1              		.file	"basic-vtable.cc"
   2              		.file 1 "basic-vtable.cc"
  10              	.Ltext0:
  11              		.align 2
  12              	.globl main
  14              	main:
  15              	.LFB5:
   1:basic-vtable.cc **** class onefield {
   2:basic-vtable.cc ****   private:
   3:basic-vtable.cc ****     int field;
   4:basic-vtable.cc ****   public:
   5:basic-vtable.cc ****     virtual void setField(int f);
   6:basic-vtable.cc ****     virtual int getField() const;
   7:basic-vtable.cc **** };
   8:basic-vtable.cc **** 
   9:basic-vtable.cc **** int main(int argc, char **argv) {
  16              		.loc 1 9 0
  17 0000 55       		pushl	%ebp
  18              	.LCFI0:
  19 0001 89E5     		movl	%esp, %ebp
  20              	.LCFI1:
  21 0003 83EC28   		subl	$40, %esp
  22              	.LCFI2:
  23 0006 83E4F0   		andl	$-16, %esp
  24 0009 B8000000 		movl	$0, %eax
  24      00
  25 000e 29C4     		subl	%eax, %esp
  26              	.LBB2:
  10:basic-vtable.cc ****     onefield of;
  27              		.loc 1 10 0
  28 0010 83EC0C   		subl	$12, %esp
  29 0013 8D45E8   		leal	-24(%ebp), %eax
  30 0016 50       		pushl	%eax
  31              	.LCFI3:
  32 0017 E8FCFFFF 		call	_ZN8onefieldC1Ev
  32      FF
  33 001c 83C410   		addl	$16, %esp
  11:basic-vtable.cc **** 
  12:basic-vtable.cc ****     of.setField(13);
  34              		.loc 1 12 0
  35 001f 83EC08   		subl	$8, %esp
  36 0022 6A0D     		pushl	$13
  37 0024 8D45E8   		leal	-24(%ebp), %eax
  38 0027 50       		pushl	%eax
  39 0028 E8FCFFFF 		call	_ZN8onefield8setFieldEi
  39      FF
  40 002d 83C410   		addl	$16, %esp
  13:basic-vtable.cc **** 
  14:basic-vtable.cc ****     onefield *ofp = new onefield;
  41              		.loc 1 14 0
  42 0030 83EC0C   		subl	$12, %esp
  43 0033 6A08     		pushl	$8
  44 0035 E8FCFFFF 		call	_Znwj
  44      FF
  45 003a 83C410   		addl	$16, %esp
  46 003d 8945DC   		movl	%eax, -36(%ebp)
  47 0040 83EC0C   		subl	$12, %esp
GAS LISTING /tmp/ccZhh1h7.s 			page 2


  48 0043 FF75DC   		pushl	-36(%ebp)
  49 0046 E8FCFFFF 		call	_ZN8onefieldC1Ev
  49      FF
  50 004b 83C410   		addl	$16, %esp
  51 004e B000     		movb	$0, %al
  52 0050 8B55DC   		movl	-36(%ebp), %edx
  53 0053 8955E4   		movl	%edx, -28(%ebp)
  54 0056 84C0     		testb	%al, %al
  55 0058 740E     		je	.L9
  56 005a 83EC0C   		subl	$12, %esp
  57 005d FF75DC   		pushl	-36(%ebp)
  58 0060 E8FCFFFF 		call	_ZdlPv
  58      FF
  59 0065 83C410   		addl	$16, %esp
  60              	.L9:
  15:basic-vtable.cc **** 
  16:basic-vtable.cc ****     ofp->setField(27);
  61              		.loc 1 16 0
  62 0068 83EC08   		subl	$8, %esp
  63 006b 8B45E4   		movl	-28(%ebp), %eax
  64 006e 8B00     		movl	(%eax), %eax
  65 0070 6A1B     		pushl	$27
  66 0072 FF75E4   		pushl	-28(%ebp)
  67 0075 8B00     		movl	(%eax), %eax
  68 0077 FFD0     		call	*%eax
  69 0079 83C410   		addl	$16, %esp
  17:basic-vtable.cc **** 
  18:basic-vtable.cc ****     int i = ofp->getField();
  70              		.loc 1 18 0
  71 007c 83EC0C   		subl	$12, %esp
  72 007f 8B45E4   		movl	-28(%ebp), %eax
  73 0082 8B00     		movl	(%eax), %eax
  74 0084 83C004   		addl	$4, %eax
  75 0087 FF75E4   		pushl	-28(%ebp)
  76 008a 8B00     		movl	(%eax), %eax
  77 008c FFD0     		call	*%eax
  78 008e 83C410   		addl	$16, %esp
  79 0091 8945E0   		movl	%eax, -32(%ebp)
  19:basic-vtable.cc **** 
  20:basic-vtable.cc ****     delete ofp;
  80              		.loc 1 20 0
  81 0094 83EC0C   		subl	$12, %esp
  82 0097 FF75E4   		pushl	-28(%ebp)
  83 009a E8FCFFFF 		call	_ZdlPv
  83      FF
  84 009f 83C410   		addl	$16, %esp
  21:basic-vtable.cc **** 
  22:basic-vtable.cc ****     return i + of.getField();
  85              		.loc 1 22 0
  86 00a2 83EC0C   		subl	$12, %esp
  87 00a5 8D45E8   		leal	-24(%ebp), %eax
  88 00a8 50       		pushl	%eax
  89 00a9 E8FCFFFF 		call	_ZNK8onefield8getFieldEv
  89      FF
  90 00ae 83C410   		addl	$16, %esp
  91 00b1 0345E0   		addl	-32(%ebp), %eax
  92              	.LBE2:
GAS LISTING /tmp/ccZhh1h7.s 			page 3


  23:basic-vtable.cc **** }
  93              		.loc 1 23 0
  94 00b4 C9       		leave
  95 00b5 C3       		ret
  96              	.LFE5:
  97              	.Lfe1:
  99              		.align 2
 100              	.globl _ZN8onefield8setFieldEi
 102              	_ZN8onefield8setFieldEi:
 103              	.LFB7:
  24:basic-vtable.cc **** 
  25:basic-vtable.cc **** 
  26:basic-vtable.cc **** void onefield::setField(int f) {
 104              		.loc 1 26 0
 105              	.LBB3:
 106 00b6 55       		pushl	%ebp
 107              	.LCFI4:
 108 00b7 89E5     		movl	%esp, %ebp
 109              	.LCFI5:
  27:basic-vtable.cc ****     this->field = f;
 110              		.loc 1 27 0
 111 00b9 8B5508   		movl	8(%ebp), %edx
 112 00bc 8B450C   		movl	12(%ebp), %eax
 113 00bf 894204   		movl	%eax, 4(%edx)
  28:basic-vtable.cc **** }
 114              		.loc 1 28 0
 115 00c2 C9       		leave
 116 00c3 C3       		ret
 117              	.LBE3:
 118              	.LFE7:
 119              	.Lfe2:
 121              		.align 2
 122              	.globl _ZNK8onefield8getFieldEv
 124              	_ZNK8onefield8getFieldEv:
 125              	.LFB9:
  29:basic-vtable.cc **** int onefield::getField() const {
 126              		.loc 1 29 0
 127              	.LBB4:
 128 00c4 55       		pushl	%ebp
 129              	.LCFI6:
 130 00c5 89E5     		movl	%esp, %ebp
 131              	.LCFI7:
  30:basic-vtable.cc ****     return this->field;
 132              		.loc 1 30 0
 133 00c7 8B4508   		movl	8(%ebp), %eax
 134 00ca 8B4004   		movl	4(%eax), %eax
 135              	.LBE4:
  31:basic-vtable.cc **** }
 136              		.loc 1 31 0
 137 00cd C9       		leave
 138 00ce C3       		ret
 139              	.LFE9:
 140              	.Lfe3:
 142              		.weak	_ZTV8onefield
 143              		.section	.gnu.linkonce.d._ZTV8onefield,"aw",@progbits
 144              		.align 8
 147              	_ZTV8onefield:
GAS LISTING /tmp/ccZhh1h7.s 			page 4


 148 0000 00000000 		.long	0
 149 0004 00000000 		.long	_ZTI8onefield
 150 0008 00000000 		.long	_ZN8onefield8setFieldEi
 151 000c 00000000 		.long	_ZNK8onefield8getFieldEv
 152              		.section	.gnu.linkonce.t._ZN8onefieldC1Ev,"ax",@progbits
 153              		.align 2
 154              		.weak	_ZN8onefieldC1Ev
 156              	_ZN8onefieldC1Ev:
 157              	.LFB10:
 158              		.loc 1 10 0
 159              	.LBB5:
 160 0000 55       		pushl	%ebp
 161              	.LCFI8:
 162 0001 89E5     		movl	%esp, %ebp
 163              	.LCFI9:
 164              		.loc 1 10 0
 165 0003 8B4508   		movl	8(%ebp), %eax
 166 0006 C7000800 		movl	$_ZTV8onefield+8, (%eax)
 166      0000
 167 000c C9       		leave
 168 000d C3       		ret
 169              	.LBE5:
 170              	.LFE10:
 171              	.Lfe4:
 173              		.weak	_ZTI8onefield
 174              		.section	.gnu.linkonce.d._ZTI8onefield,"aw",@progbits
 175              		.align 4
 178              	_ZTI8onefield:
 179 0000 08000000 		.long	_ZTVN10__cxxabiv117__class_type_infoE+8
 180 0004 00000000 		.long	_ZTS8onefield
 181              		.weak	_ZTS8onefield
 182              		.section	.gnu.linkonce.r._ZTS8onefield,"a",@progbits
 185              	_ZTS8onefield:
 186 0000 386F6E65 		.string	"8onefield"
 186      6669656C 
 186      6400
 281              	.Lframe1:
 282 0000 18000000 		.long	.LECIE1-.LSCIE1
 283              	.LSCIE1:
 284 0004 00000000 		.long	0x0
 285 0008 01       		.byte	0x1
 286 0009 7A5000   		.string	"zP"
 287 000c 01       		.uleb128 0x1
 288 000d 7C       		.sleb128 -4
 289 000e 08       		.byte	0x8
 290 000f 05       		.uleb128 0x5
 291 0010 00       		.byte	0x0
 292 0011 00000000 		.long	__gxx_personality_v0
 293 0015 0C       		.byte	0xc
 294 0016 04       		.uleb128 0x4
 295 0017 04       		.uleb128 0x4
 296 0018 88       		.byte	0x88
 297 0019 01       		.uleb128 0x1
 298 001a 0000     		.align 4
 299              	.LECIE1:
 300              	.LSFDE1:
 301 001c 24000000 		.long	.LEFDE1-.LASFDE1
GAS LISTING /tmp/ccZhh1h7.s 			page 5


 302              	.LASFDE1:
 303 0020 20000000 		.long	.LASFDE1-.Lframe1
 304 0024 00000000 		.long	.LFB5
 305 0028 B6000000 		.long	.LFE5-.LFB5
 306 002c 00       		.uleb128 0x0
 307 002d 04       		.byte	0x4
 308 002e 01000000 		.long	.LCFI0-.LFB5
 309 0032 0E       		.byte	0xe
 310 0033 08       		.uleb128 0x8
 311 0034 85       		.byte	0x85
 312 0035 02       		.uleb128 0x2
 313 0036 04       		.byte	0x4
 314 0037 02000000 		.long	.LCFI1-.LCFI0
 315 003b 0D       		.byte	0xd
 316 003c 05       		.uleb128 0x5
 317 003d 04       		.byte	0x4
 318 003e 14000000 		.long	.LCFI3-.LCFI1
 319 0042 2E       		.byte	0x2e
 320 0043 10       		.uleb128 0x10
 321              		.align 4
 322              	.LEFDE1:
 323              		.text
 324              	.Letext0:
GAS LISTING /tmp/ccZhh1h7.s 			page 6


DEFINED SYMBOLS
                            *ABS*:00000000 basic-vtable.cc
     /tmp/ccZhh1h7.s:14     .text:00000000 main
     /tmp/ccZhh1h7.s:156    .gnu.linkonce.t._ZN8onefieldC1Ev:00000000 _ZN8onefieldC1Ev
     /tmp/ccZhh1h7.s:102    .text:000000b6 _ZN8onefield8setFieldEi
     /tmp/ccZhh1h7.s:124    .text:000000c4 _ZNK8onefield8getFieldEv
     /tmp/ccZhh1h7.s:147    .gnu.linkonce.d._ZTV8onefield:00000000 _ZTV8onefield
     /tmp/ccZhh1h7.s:178    .gnu.linkonce.d._ZTI8onefield:00000000 _ZTI8onefield
     /tmp/ccZhh1h7.s:185    .gnu.linkonce.r._ZTS8onefield:00000000 _ZTS8onefield

UNDEFINED SYMBOLS
_Znwj
_ZdlPv
_ZTVN10__cxxabiv117__class_type_infoE
__gxx_personality_v0
