.file "reference.cpp"
.local _ZSt8__ioinit
.comm _ZSt8__ioinit,1,1
.text
.align 2
.globl _Z1f1B
.type _Z1f1B, @function
_Z1f1B:
.LFB1514:
pushl %ebp
.LCFI0:
movl %esp, %ebp
.LCFI1:
subl $8, %esp
.LCFI2:
movl 8(%ebp), %eax
movl %eax, (%esp)
call _ZNK1B7displayEv
leave
ret
.LFE1514:
.size _Z1f1B, .-_Z1f1B
.align 2
.globl _Z1rR1B
.type _Z1rR1B, @function
_Z1rR1B:
.LFB1516:
pushl %ebp
.LCFI3:
movl %esp, %ebp
.LCFI4:
subl $8, %esp
.LCFI5:
movl 8(%ebp), %eax
movl (%eax), %edx
movl 8(%ebp), %eax
movl %eax, (%esp)
movl (%edx), %eax
call *%eax
leave
ret
.LFE1516:
.size _Z1rR1B, .-_Z1rR1B
.align 2
.globl _Z1pP1B
.type _Z1pP1B, @function
_Z1pP1B:
.LFB1518:
pushl %ebp
.LCFI6:
movl %esp, %ebp
.LCFI7:
subl $8, %esp
.LCFI8:
movl 8(%ebp), %eax
movl (%eax), %edx
movl 8(%ebp), %eax
movl %eax, (%esp)
movl (%edx), %eax
call *%eax
leave
ret
.LFE1518:
.size _Z1pP1B, .-_Z1pP1B
.align 2
.globl main
.type main, @function
main:
.LFB1529:
pushl %ebp
.LCFI9:
movl %esp, %ebp
.LCFI10:
subl $56, %esp
.LCFI11:
andl $-16, %esp
movl $0, %eax
subl %eax, %esp
leal -24(%ebp), %eax
movl %eax, (%esp)
call _ZN1IC1Ev
leal -24(%ebp), %eax
movl %eax, 4(%esp)
leal -40(%ebp), %eax
movl %eax, (%esp)
call _ZN1BC1ERKS_
leal -40(%ebp), %eax
movl %eax, (%esp)
call _Z1f1B
leal -24(%ebp), %eax
movl %eax, (%esp)
call _Z1rR1B
leal -24(%ebp), %eax
movl %eax, (%esp)
call _Z1pP1B
movl $0, %eax
leave
ret
.LFE1529:
.size main, .-main
.align 2
.type _Z41__static_initialization_and_destruction_0ii, @function
_Z41__static_initialization_and_destruction_0ii:
.LFB1535:
pushl %ebp
.LCFI12:
movl %esp, %ebp
.LCFI13:
subl $24, %esp
.LCFI14:
cmpl $65535, 12(%ebp)
jne .L5
cmpl $1, 8(%ebp)
jne .L5
movl $_ZSt8__ioinit, (%esp)
call _ZNSt8ios_base4InitC1Ev
movl $__dso_handle, 8(%esp)
movl $0, 4(%esp)
movl $__tcf_0, (%esp)
call __cxa_atexit
.L5:
leave
ret
.LFE1535:
.size _Z41__static_initialization_and_destruction_0ii, .-_Z41__static_initialization_and_destruction_0ii
.section .gnu.linkonce.t._ZN1BC1ERKS_,"ax",@progbits
.align 2
.weak _ZN1BC1ERKS_
.type _ZN1BC1ERKS_, @function
_ZN1BC1ERKS_:
.LFB1536:
pushl %ebp
.LCFI15:
movl %esp, %ebp
.LCFI16:
movl 8(%ebp), %eax
movl $_ZTV1B+8, (%eax)
popl %ebp
ret
.L8:
.LFE1536:
.size _ZN1BC1ERKS_, .-_ZN1BC1ERKS_
.section .rodata
.LC0:
.string "B"
.section .gnu.linkonce.t._ZNK1B7displayEv,"ax",@progbits
.align 2
.weak _ZNK1B7displayEv
.type _ZNK1B7displayEv, @function
_ZNK1B7displayEv:
.LFB1537:
pushl %ebp
.LCFI17:
movl %esp, %ebp
.LCFI18:
subl $8, %esp
.LCFI19:
movl $.LC0, 4(%esp)
movl $_ZSt4cout, (%esp)
call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
movl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, 4(%esp)
movl %eax, (%esp)
call _ZNSolsEPFRSoS_E
leave
ret
.LFE1537:
.size _ZNK1B7displayEv, .-_ZNK1B7displayEv
.section .gnu.linkonce.t._ZN1IC1Ev,"ax",@progbits
.align 2
.weak _ZN1IC1Ev
.type _ZN1IC1Ev, @function
_ZN1IC1Ev:
.LFB1538:
pushl %ebp
.LCFI20:
movl %esp, %ebp
.LCFI21:
subl $8, %esp
.LCFI22:
movl 8(%ebp), %eax
movl %eax, (%esp)
call _ZN1BC2Ev
movl 8(%ebp), %eax
movl $_ZTV1I+8, (%eax)
leave
ret
.L12:
.LFE1538:
.size _ZN1IC1Ev, .-_ZN1IC1Ev
.text
.align 2
.type __tcf_0, @function
__tcf_0:
.LFB1539:
pushl %ebp
.LCFI23:
movl %esp, %ebp
.LCFI24:
subl $8, %esp
.LCFI25:
movl $_ZSt8__ioinit, (%esp)
call _ZNSt8ios_base4InitD1Ev
leave
ret
.LFE1539:
.size __tcf_0, .-__tcf_0
.weak _ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE
.section .gnu.linkonce.r._ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE,"a",@progbits
.align 4
.type _ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE, @object
.size _ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE, 4
_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE:
.long 1
.weak _ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE
.section .gnu.linkonce.r._ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE,"a",@progbits
.align 4
.type _ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE, @object
.size _ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE, 4
_ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE:
.long 1
.weak _ZTV1I
.section .gnu.linkonce.r._ZTV1I,"a",@progbits
.align 8
.type _ZTV1I, @object
.size _ZTV1I, 12
_ZTV1I:
.long 0
.long _ZTI1I
.long _ZNK1I7displayEv
.weak _ZTV1B
.section .gnu.linkonce.r._ZTV1B,"a",@progbits
.align 8
.type _ZTV1B, @object
.size _ZTV1B, 12
_ZTV1B:
.long 0
.long _ZTI1B
.long _ZNK1B7displayEv
.section .gnu.linkonce.t._ZN1BC2Ev,"ax",@progbits
.align 2
.weak _ZN1BC2Ev
.type _ZN1BC2Ev, @function
_ZN1BC2Ev:
.LFB1540:
pushl %ebp
.LCFI26:
movl %esp, %ebp
.LCFI27:
movl 8(%ebp), %eax
movl $_ZTV1B+8, (%eax)
popl %ebp
ret
.L16:
.LFE1540:
.size _ZN1BC2Ev, .-_ZN1BC2Ev
.section .rodata
.LC1:
.string "I"
.section .gnu.linkonce.t._ZNK1I7displayEv,"ax",@progbits
.align 2
.weak _ZNK1I7displayEv
.type _ZNK1I7displayEv, @function
_ZNK1I7displayEv:
.LFB1541:
pushl %ebp
.LCFI28:
movl %esp, %ebp
.LCFI29:
subl $8, %esp
.LCFI30:
movl $.LC1, 4(%esp)
movl $_ZSt4cout, (%esp)
call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
movl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, 4(%esp)
movl %eax, (%esp)
call _ZNSolsEPFRSoS_E
leave
ret
.LFE1541:
.size _ZNK1I7displayEv, .-_ZNK1I7displayEv
.weak _ZTI1B
.section .gnu.linkonce.r._ZTI1B,"a",@progbits
.align 4
.type _ZTI1B, @object
.size _ZTI1B, 8
_ZTI1B:
.long _ZTVN10__cxxabiv117__class_type_infoE+8
.long _ZTS1B
.weak _ZTI1I
.section .gnu.linkonce.r._ZTI1I,"a",@progbits
.align 4
.type _ZTI1I, @object
.size _ZTI1I, 12
_ZTI1I:
.long _ZTVN10__cxxabiv120__si_class_type_infoE+8
.long _ZTS1I
.long _ZTI1B
.weak _ZTS1I
.section .gnu.linkonce.r._ZTS1I,"a",@progbits
.type _ZTS1I, @object
.size _ZTS1I, 3
_ZTS1I:
.string "1I"
.weak _ZTS1B
.section .gnu.linkonce.r._ZTS1B,"a",@progbits
.type _ZTS1B, @object
.size _ZTS1B, 3
_ZTS1B:
.string "1B"
.text
.align 2
.type _GLOBAL__I__Z1f1B, @function
_GLOBAL__I__Z1f1B:
.LFB1543:
pushl %ebp
.LCFI31:
movl %esp, %ebp
.LCFI32:
subl $8, %esp
.LCFI33:
movl $65535, 4(%esp)
movl $1, (%esp)
call _Z41__static_initialization_and_destruction_0ii
leave
ret
.LFE1543:
.size _GLOBAL__I__Z1f1B, .-_GLOBAL__I__Z1f1B
.section .ctors,"aw",@progbits
.align 4
.long _GLOBAL__I__Z1f1B
.weak pthread_mutex_unlock
.weak pthread_mutex_trylock
.weak pthread_mutex_lock
.weak pthread_create
.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 .LFB1514
.long .LFE1514-.LFB1514
.uleb128 0x0
.byte 0x4
.long .LCFI0-.LFB1514
.byte 0xe
.uleb128 0x8
.byte 0x85
.uleb128 0x2
.byte 0x4
.long .LCFI1-.LCFI0
.byte 0xd
.uleb128 0x5
.align 4
.LEFDE1:
.LSFDE3:
.long .LEFDE3-.LASFDE3
.LASFDE3:
.long .LASFDE3-.Lframe1
.long .LFB1516
.long .LFE1516-.LFB1516
.uleb128 0x0
.byte 0x4
.long .LCFI3-.LFB1516
.byte 0xe
.uleb128 0x8
.byte 0x85
.uleb128 0x2
.byte 0x4
.long .LCFI4-.LCFI3
.byte 0xd
.uleb128 0x5
.align 4
.LEFDE3:
.LSFDE5:
.long .LEFDE5-.LASFDE5
.LASFDE5:
.long .LASFDE5-.Lframe1
.long .LFB1518
.long .LFE1518-.LFB1518
.uleb128 0x0
.byte 0x4
.long .LCFI6-.LFB1518
.byte 0xe
.uleb128 0x8
.byte 0x85
.uleb128 0x2
.byte 0x4
.long .LCFI7-.LCFI6
.byte 0xd
.uleb128 0x5
.align 4
.LEFDE5:
.LSFDE7:
.long .LEFDE7-.LASFDE7
.LASFDE7:
.long .LASFDE7-.Lframe1
.long .LFB1529
.long .LFE1529-.LFB1529
.uleb128 0x0
.byte 0x4
.long .LCFI9-.LFB1529
.byte 0xe
.uleb128 0x8
.byte 0x85
.uleb128 0x2
.byte 0x4
.long .LCFI10-.LCFI9
.byte 0xd
.uleb128 0x5
.align 4
.LEFDE7:
.LSFDE9:
.long .LEFDE9-.LASFDE9
.LASFDE9:
.long .LASFDE9-.Lframe1
.long .LFB1535
.long .LFE1535-.LFB1535
.uleb128 0x0
.byte 0x4
.long .LCFI12-.LFB1535
.byte 0xe
.uleb128 0x8
.byte 0x85
.uleb128 0x2
.byte 0x4
.long .LCFI13-.LCFI12
.byte 0xd
.uleb128 0x5
.align 4
.LEFDE9:
.LSFDE13:
.long .LEFDE13-.LASFDE13
.LASFDE13:
.long .LASFDE13-.Lframe1
.long .LFB1537
.long .LFE1537-.LFB1537
.uleb128 0x0
.byte 0x4
.long .LCFI17-.LFB1537
.byte 0xe
.uleb128 0x8
.byte 0x85
.uleb128 0x2
.byte 0x4
.long .LCFI18-.LCFI17
.byte 0xd
.uleb128 0x5
.align 4
.LEFDE13:
.LSFDE17:
.long .LEFDE17-.LASFDE17
.LASFDE17:
.long .LASFDE17-.Lframe1
.long .LFB1539
.long .LFE1539-.LFB1539
.uleb128 0x0
.byte 0x4
.long .LCFI23-.LFB1539
.byte 0xe
.uleb128 0x8
.byte 0x85
.uleb128 0x2
.byte 0x4
.long .LCFI24-.LCFI23
.byte 0xd
.uleb128 0x5
.align 4
.LEFDE17:
.LSFDE21:
.long .LEFDE21-.LASFDE21
.LASFDE21:
.long .LASFDE21-.Lframe1
.long .LFB1541
.long .LFE1541-.LFB1541
.uleb128 0x0
.byte 0x4
.long .LCFI28-.LFB1541
.byte 0xe
.uleb128 0x8
.byte 0x85
.uleb128 0x2
.byte 0x4
.long .LCFI29-.LCFI28
.byte 0xd
.uleb128 0x5
.align 4
.LEFDE21:
.LSFDE23:
.long .LEFDE23-.LASFDE23
.LASFDE23:
.long .LASFDE23-.Lframe1
.long .LFB1543
.long .LFE1543-.LFB1543
.uleb128 0x0
.byte 0x4
.long .LCFI31-.LFB1543
.byte 0xe
.uleb128 0x8
.byte 0x85
.uleb128 0x2
.byte 0x4
.long .LCFI32-.LCFI31
.byte 0xd
.uleb128 0x5
.align 4
.LEFDE23:
.section .note.GNU-stack,"",@progbits
.ident "GCC: (GNU) 3.3.5 (Debian 1:3.3.5-13)"