.file "inheri.c" .globl x .bss .align 4 .type x, @object .size x, 4 x: .zero 4 .section .ctors,"aw",@progbits .align 4 .long _GLOBAL__I__ZN1XC2Ev .local _ZSt8__ioinit .comm _ZSt8__ioinit,1,1 .weak _ZTV1Y .section .gnu.linkonce.r._ZTV1Y,"aG",@progbits,_ZTV1Y,comdat .align 8 .type _ZTV1Y, @object .size _ZTV1Y, 16 _ZTV1Y: .long 0 .long _ZTI1Y .long _ZN1Y3fooEv .long _ZN1Y3barEv .weak _ZTI1Y .section .gnu.linkonce.r._ZTI1Y,"aG",@progbits,_ZTI1Y,comdat .align 4 .type _ZTI1Y, @object .size _ZTI1Y, 12 _ZTI1Y: .long _ZTVN10__cxxabiv120__si_class_type_infoE+8 .long _ZTS1Y .long _ZTI1X .weak _ZTI1X .section .gnu.linkonce.r._ZTI1X,"aG",@progbits,_ZTI1X,comdat .align 4 .type _ZTI1X, @object .size _ZTI1X, 8 _ZTI1X: .long _ZTVN10__cxxabiv117__class_type_infoE+8 .long _ZTS1X .weak _ZTS1X .section .gnu.linkonce.r._ZTS1X,"aG",@progbits,_ZTS1X,comdat .type _ZTS1X, @object .size _ZTS1X, 3 _ZTS1X: .string "1X" .weak _ZTS1Y .section .gnu.linkonce.r._ZTS1Y,"aG",@progbits,_ZTS1Y,comdat .type _ZTS1Y, @object .size _ZTS1Y, 3 _ZTS1Y: .string "1Y" .weak _ZTV1X .section .gnu.linkonce.r._ZTV1X,"aG",@progbits,_ZTV1X,comdat .align 8 .type _ZTV1X, @object .size _ZTV1X, 16 _ZTV1X: .long 0 .long _ZTI1X .long _ZN1X3fooEv .long _ZN1X3barEv .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "ctor X" .text .align 2 .p2align 4,,15 .globl _ZN1XC2Ev .type _ZN1XC2Ev, @function _ZN1XC2Ev: .LFB1472: pushl %ebx .LCFI0: subl $8, %esp .LCFI1: movl 16(%esp), %ebx movl $_ZTV1X+8, (%ebx) movl $.LC0, (%esp) call puts movl $0, 4(%ebx) addl $8, %esp popl %ebx ret .LFE1472: .size _ZN1XC2Ev, .-_ZN1XC2Ev .align 2 .p2align 4,,15 .globl _ZN1XC1Ev .type _ZN1XC1Ev, @function _ZN1XC1Ev: .LFB1473: pushl %ebx .LCFI2: subl $8, %esp .LCFI3: movl 16(%esp), %ebx movl $_ZTV1X+8, (%ebx) movl $.LC0, (%esp) call puts movl $0, 4(%ebx) addl $8, %esp popl %ebx ret .LFE1473: .size _ZN1XC1Ev, .-_ZN1XC1Ev .align 2 .p2align 4,,15 .globl _Z3mooP1X .type _Z3mooP1X, @function _Z3mooP1X: .LFB1477: pushl %ebx .LCFI4: subl $8, %esp .LCFI5: movl 16(%esp), %ebx movl (%ebx), %eax movl %ebx, (%esp) call *(%eax) movl (%ebx), %eax movl %ebx, (%esp) call *4(%eax) xorl %eax, %eax movl %eax, x addl $8, %esp popl %ebx ret .LFE1477: .size _Z3mooP1X, .-_Z3mooP1X .align 2 .p2align 4,,15 .type __tcf_0, @function __tcf_0: .LFB1632: movl $_ZSt8__ioinit, %edx movl %edx, 4(%esp) jmp _ZNSt8ios_base4InitD1Ev .LFE1632: .size __tcf_0, .-__tcf_0 .align 2 .p2align 4,,15 .type _Z41__static_initialization_and_destruction_0ii, @function _Z41__static_initialization_and_destruction_0ii: .LFB1631: subl $12, %esp .LCFI6: cmpl $65535, %edx sete %dl decl %eax sete %al testb %al, %dl jne .L14 addl $12, %esp ret .p2align 4,,7 .L14: movl $_ZSt8__ioinit, (%esp) call _ZNSt8ios_base4InitC1Ev movl $__dso_handle, %eax xorl %ecx, %ecx movl %eax, 8(%esp) movl %ecx, 4(%esp) movl $__tcf_0, (%esp) call __cxa_atexit addl $12, %esp ret .LFE1631: .size _Z41__static_initialization_and_destruction_0ii, .-_Z41__static_initialization_and_destruction_0ii .align 2 .p2align 4,,15 .type _GLOBAL__I__ZN1XC2Ev, @function _GLOBAL__I__ZN1XC2Ev: .LFB1633: movl $65535, %edx movl $1, %eax jmp _Z41__static_initialization_and_destruction_0ii .LFE1633: .size _GLOBAL__I__ZN1XC2Ev, .-_GLOBAL__I__ZN1XC2Ev .section .rodata.str1.1 .LC1: .string "foo X" .section .gnu.linkonce.t._ZN1X3fooEv,"axG",@progbits,_ZN1X3fooEv,comdat .align 2 .p2align 4,,15 .weak _ZN1X3fooEv .type _ZN1X3fooEv, @function _ZN1X3fooEv: .LFB1467: subl $12, %esp .LCFI7: movl $.LC1, %eax movl %eax, 4(%esp) movl $_ZSt4cout, (%esp) call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc movl %eax, 16(%esp) addl $12, %esp jmp _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ .LFE1467: .size _ZN1X3fooEv, .-_ZN1X3fooEv .section .rodata.str1.1 .LC2: .string "bar X" .section .gnu.linkonce.t._ZN1X3barEv,"axG",@progbits,_ZN1X3barEv,comdat .align 2 .p2align 4,,15 .weak _ZN1X3barEv .type _ZN1X3barEv, @function _ZN1X3barEv: .LFB1468: subl $12, %esp .LCFI8: movl $.LC2, %eax movl %eax, 4(%esp) movl $_ZSt4cout, (%esp) call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc movl %eax, 16(%esp) addl $12, %esp jmp _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ .LFE1468: .size _ZN1X3barEv, .-_ZN1X3barEv .section .rodata.str1.1 .LC3: .string "bar Y" .section .gnu.linkonce.t._ZN1Y3fooEv,"axG",@progbits,_ZN1Y3fooEv,comdat .align 2 .p2align 4,,15 .weak _ZN1Y3fooEv .type _ZN1Y3fooEv, @function _ZN1Y3fooEv: .LFB1469: subl $12, %esp .LCFI9: movl $.LC3, %eax movl %eax, 4(%esp) movl $_ZSt4cout, (%esp) call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc movl %eax, 16(%esp) addl $12, %esp jmp _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ .LFE1469: .size _ZN1Y3fooEv, .-_ZN1Y3fooEv .section .gnu.linkonce.t._ZN1Y3barEv,"axG",@progbits,_ZN1Y3barEv,comdat .align 2 .p2align 4,,15 .weak _ZN1Y3barEv .type _ZN1Y3barEv, @function _ZN1Y3barEv: .LFB1470: subl $12, %esp .LCFI10: movl $.LC3, %eax movl %eax, 4(%esp) movl $_ZSt4cout, (%esp) call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc movl %eax, 16(%esp) addl $12, %esp jmp _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ .LFE1470: .size _ZN1Y3barEv, .-_ZN1Y3barEv .section .rodata.str1.1 .LC4: .string "ctor Y" .text .align 2 .p2align 4,,15 .globl _ZN1YC2Ev .type _ZN1YC2Ev, @function _ZN1YC2Ev: .LFB1475: pushl %ebx .LCFI11: subl $8, %esp .LCFI12: movl 16(%esp), %ebx movl $_ZTV1X+8, (%ebx) movl $.LC0, (%esp) call puts movl $0, 4(%ebx) movl $_ZTV1Y+8, (%ebx) movl $.LC4, (%esp) call perror movl $0, 8(%ebx) addl $8, %esp popl %ebx ret .LFE1475: .size _ZN1YC2Ev, .-_ZN1YC2Ev .align 2 .p2align 4,,15 .globl _ZN1YC1Ev .type _ZN1YC1Ev, @function _ZN1YC1Ev: .LFB1476: pushl %ebx .LCFI13: subl $8, %esp .LCFI14: movl 16(%esp), %ebx movl $_ZTV1X+8, (%ebx) movl $.LC0, (%esp) call puts movl $0, 4(%ebx) movl $_ZTV1Y+8, (%ebx) movl $.LC4, (%esp) call perror movl $0, 8(%ebx) addl $8, %esp popl %ebx ret .LFE1476: .size _ZN1YC1Ev, .-_ZN1YC1Ev .section .rodata.str1.1 .LC5: .string "sizeof(X)=" .LC6: .string "sizeof(Y)=" .text .align 2 .p2align 4,,15 .globl main .type main, @function main: .LFB1478: pushl %ebp .LCFI15: movl %esp, %ebp .LCFI16: pushl %ebx .LCFI17: subl $36, %esp .LCFI18: andl $-16, %esp subl $16, %esp movl $_ZTV1X+8, -16(%ebp) leal -16(%ebp), %ebx movl $.LC0, (%esp) call puts movl $0, -12(%ebp) movl $_ZTV1Y+8, -16(%ebp) movl $.LC4, (%esp) call perror movl -16(%ebp), %eax movl %ebx, (%esp) movl $0, -8(%ebp) call *(%eax) movl -16(%ebp), %eax movl %ebx, (%esp) movl $8, %ebx call *4(%eax) xorl %eax, %eax movl %eax, x movl $.LC5, %eax movl %eax, 4(%esp) movl $_ZSt4cout, (%esp) call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc movl %ebx, 4(%esp) movl %eax, (%esp) call _ZNSolsEm movl %eax, (%esp) call _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ movl $.LC6, %ecx movl %ecx, 4(%esp) movl $_ZSt4cout, (%esp) call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc movl $12, %edx movl %edx, 4(%esp) movl %eax, (%esp) call _ZNSolsEm movl %eax, (%esp) call _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ movl -4(%ebp), %ebx xorl %eax, %eax leave ret .LFE1478: .size main, .-main .weak pthread_mutex_unlock .weak pthread_mutex_trylock .weak pthread_mutex_lock .weak pthread_cancel .weak pthread_setspecific .weak pthread_getspecific .weak pthread_key_delete .weak pthread_key_create .weak pthread_once .section .eh_frame,"a",@progbits .Lframe1: .long .LECIE1-.LSCIE1 .LSCIE1: .long 0x0 .byte 0x1 .string "zP" .uleb128 0x1 .sleb128 -4 .byte 0x8 .uleb128 0x5 .byte 0x0 .long __gxx_personality_v0 .byte 0xc .uleb128 0x4 .uleb128 0x4 .byte 0x88 .uleb128 0x1 .align 4 .LECIE1: .LSFDE1: .long .LEFDE1-.LASFDE1 .LASFDE1: .long .LASFDE1-.Lframe1 .long .LFB1472 .long .LFE1472-.LFB1472 .uleb128 0x0 .byte 0x4 .long .LCFI0-.LFB1472 .byte 0xe .uleb128 0x8 .byte 0x4 .long .LCFI1-.LCFI0 .byte 0xe .uleb128 0x10 .byte 0x83 .uleb128 0x2 .align 4 .LEFDE1: .LSFDE3: .long .LEFDE3-.LASFDE3 .LASFDE3: .long .LASFDE3-.Lframe1 .long .LFB1473 .long .LFE1473-.LFB1473 .uleb128 0x0 .byte 0x4 .long .LCFI2-.LFB1473 .byte 0xe .uleb128 0x8 .byte 0x4 .long .LCFI3-.LCFI2 .byte 0xe .uleb128 0x10 .byte 0x83 .uleb128 0x2 .align 4 .LEFDE3: .LSFDE5: .long .LEFDE5-.LASFDE5 .LASFDE5: .long .LASFDE5-.Lframe1 .long .LFB1477 .long .LFE1477-.LFB1477 .uleb128 0x0 .byte 0x4 .long .LCFI4-.LFB1477 .byte 0xe .uleb128 0x8 .byte 0x4 .long .LCFI5-.LCFI4 .byte 0xe .uleb128 0x10 .byte 0x83 .uleb128 0x2 .align 4 .LEFDE5: .LSFDE9: .long .LEFDE9-.LASFDE9 .LASFDE9: .long .LASFDE9-.Lframe1 .long .LFB1631 .long .LFE1631-.LFB1631 .uleb128 0x0 .byte 0x4 .long .LCFI6-.LFB1631 .byte 0xe .uleb128 0x10 .align 4 .LEFDE9: .LSFDE13: .long .LEFDE13-.LASFDE13 .LASFDE13: .long .LASFDE13-.Lframe1 .long .LFB1467 .long .LFE1467-.LFB1467 .uleb128 0x0 .byte 0x4 .long .LCFI7-.LFB1467 .byte 0xe .uleb128 0x10 .align 4 .LEFDE13: .LSFDE15: .long .LEFDE15-.LASFDE15 .LASFDE15: .long .LASFDE15-.Lframe1 .long .LFB1468 .long .LFE1468-.LFB1468 .uleb128 0x0 .byte 0x4 .long .LCFI8-.LFB1468 .byte 0xe .uleb128 0x10 .align 4 .LEFDE15: .LSFDE17: .long .LEFDE17-.LASFDE17 .LASFDE17: .long .LASFDE17-.Lframe1 .long .LFB1469 .long .LFE1469-.LFB1469 .uleb128 0x0 .byte 0x4 .long .LCFI9-.LFB1469 .byte 0xe .uleb128 0x10 .align 4 .LEFDE17: .LSFDE19: .long .LEFDE19-.LASFDE19 .LASFDE19: .long .LASFDE19-.Lframe1 .long .LFB1470 .long .LFE1470-.LFB1470 .uleb128 0x0 .byte 0x4 .long .LCFI10-.LFB1470 .byte 0xe .uleb128 0x10 .align 4 .LEFDE19: .LSFDE21: .long .LEFDE21-.LASFDE21 .LASFDE21: .long .LASFDE21-.Lframe1 .long .LFB1475 .long .LFE1475-.LFB1475 .uleb128 0x0 .byte 0x4 .long .LCFI11-.LFB1475 .byte 0xe .uleb128 0x8 .byte 0x4 .long .LCFI12-.LCFI11 .byte 0xe .uleb128 0x10 .byte 0x83 .uleb128 0x2 .align 4 .LEFDE21: .LSFDE23: .long .LEFDE23-.LASFDE23 .LASFDE23: .long .LASFDE23-.Lframe1 .long .LFB1476 .long .LFE1476-.LFB1476 .uleb128 0x0 .byte 0x4 .long .LCFI13-.LFB1476 .byte 0xe .uleb128 0x8 .byte 0x4 .long .LCFI14-.LCFI13 .byte 0xe .uleb128 0x10 .byte 0x83 .uleb128 0x2 .align 4 .LEFDE23: .LSFDE25: .long .LEFDE25-.LASFDE25 .LASFDE25: .long .LASFDE25-.Lframe1 .long .LFB1478 .long .LFE1478-.LFB1478 .uleb128 0x0 .byte 0x4 .long .LCFI15-.LFB1478 .byte 0xe .uleb128 0x8 .byte 0x85 .uleb128 0x2 .byte 0x4 .long .LCFI16-.LCFI15 .byte 0xd .uleb128 0x5 .byte 0x4 .long .LCFI18-.LCFI16 .byte 0x83 .uleb128 0x3 .align 4 .LEFDE25: .ident "GCC: (GNU) 4.0.2" .section .note.GNU-stack,"",@progbits