Hi everyone,

i am trying to add an additional CPU port to the MinorCPU, which is similar
to a dcacheport, i have tried to implement it and i have gone to a point to
also edit the BaseCPU, so it can accept the new port, but when building
GEM5 I get the following errors, Would someone explain to me as to why I am
getting this errors? what is it that I am doing wrong?

build/X86/kern/lib.o.partial: In function `module_init(pybind11::module&)':
/home/weez/Desktop/gem5_86/gem5/ext/pybind11/include/pybind11/pybind11.h:1075:
undefined reference to `typeinfo for BaseCPU'
/home/weez/Desktop/gem5_86/gem5/ext/pybind11/include/pybind11/pybind11.h:1101:
undefined reference to `typeinfo for BaseCPU'
/home/weez/Desktop/gem5_86/gem5/ext/pybind11/include/pybind11/pybind11.h:1101:
undefined reference to `typeinfo for BaseCPU'
/home/weez/Desktop/gem5_86/gem5/ext/pybind11/include/pybind11/pybind11.h:1101:
undefined reference to `typeinfo for BaseCPU'
/home/weez/Desktop/gem5_86/gem5/ext/pybind11/include/pybind11/pybind11.h:1101:
undefined reference to `typeinfo for BaseCPU'
build/X86/kern/lib.o.partial:/home/weez/Desktop/gem5_86/gem5/ext/pybind11/include/pybind11/pybind11.h:1101:
more undefined references to `typeinfo for BaseCPU' follow
build/X86/cpu/simple/lib.o.partial:(.data.rel.ro._ZTV15AtomicSimpleCPU[_ZTV15AtomicSimpleCPU]+0x90):
undefined reference to `BaseCPU::getSPMDataPort()'
build/X86/cpu/simple/lib.o.partial:(.data.rel.ro._ZTV19NonCachingSimpleCPU[_ZTV19NonCachingSimpleCPU]+0x90):
undefined reference to `BaseCPU::getSPMDataPort()'
build/X86/cpu/simple/lib.o.partial:(.data.rel.ro._ZTV15TimingSimpleCPU[_ZTV15TimingSimpleCPU]+0x90):
undefined reference to `BaseCPU::getSPMDataPort()'
build/X86/cpu/simple/lib.o.partial:(.data.rel.ro._ZTI13BaseSimpleCPU[_ZTI13BaseSimpleCPU]+0x10):
undefined reference to `typeinfo for BaseCPU'
build/X86/cpu/simple/lib.o.partial:(.data.rel.ro._ZTV13BaseSimpleCPU[_ZTV13BaseSimpleCPU]+0x90):
undefined reference to `BaseCPU::getSPMDataPort()'
build/X86/cpu/o3/lib.o.partial: In function
`FullO3CPU<O3CPUImpl>::takeOverFrom(BaseCPU*)':
/home/weez/Desktop/gem5_86/gem5/build/X86/cpu/o3/cpu.cc:1149: undefined
reference to `typeinfo for BaseCPU'
build/X86/cpu/o3/lib.o.partial: In function
`FullO3CPU<O3CPUImpl>::FullO3CPU(DerivO3CPUParams*)':
/home/weez/Desktop/gem5_86/gem5/build/X86/cpu/o3/cpu.cc:152: undefined
reference to `typeinfo for BaseCPU'
build/X86/cpu/o3/lib.o.partial:(.data.rel.ro._ZTI9BaseO3CPU[_ZTI9BaseO3CPU]+0x10):
undefined reference to `typeinfo for BaseCPU'
build/X86/cpu/o3/lib.o.partial:(.data.rel.ro._ZTV9BaseO3CPU[_ZTV9BaseO3CPU]+0x90):
undefined reference to `BaseCPU::getSPMDataPort()'
build/X86/cpu/o3/lib.o.partial:(.data.rel.ro._ZTV9FullO3CPUI9O3CPUImplE[_ZTV9FullO3CPUI9O3CPUImplE]+0x90):
undefined reference to `BaseCPU::getSPMDataPort()'
build/X86/cpu/o3/lib.o.partial:(.data.rel.ro._ZTV10DerivO3CPU[_ZTV10DerivO3CPU]+0x90):
undefined reference to `BaseCPU::getSPMDataPort()'
build/X86/cpu/o3/lib.o.partial:(.data.rel.ro._ZTV7CheckerI9O3CPUImplE[_ZTV7CheckerI9O3CPUImplE]+0x90):
undefined reference to `BaseCPU::getSPMDataPort()'
build/X86/cpu/o3/lib.o.partial:(.data.rel.ro._ZTV9O3Checker[_ZTV9O3Checker]+0x90):
undefined reference to `BaseCPU::getSPMDataPort()'
build/X86/sim/lib.o.partial: In function `System::validKvmEnvironment()
const':
/home/weez/Desktop/gem5_86/gem5/build/X86/sim/system.cc:393: undefined
reference to `typeinfo for BaseCPU'
build/X86/cpu/minor/lib.o.partial:(.data.rel.ro._ZTI8MinorCPU[_ZTI8MinorCPU]+0x10):
undefined reference to `typeinfo for BaseCPU'
build/X86/cpu/kvm/lib.o.partial: In function `KvmVM::contextIdToVCpuId(int)
const':
/home/weez/Desktop/gem5_86/gem5/build/X86/cpu/kvm/vm.cc:544: undefined
reference to `typeinfo for BaseCPU'
build/X86/cpu/kvm/lib.o.partial:(.data.rel.ro._ZTI10BaseKvmCPU[_ZTI10BaseKvmCPU]+0x10):
undefined reference to `typeinfo for BaseCPU'
build/X86/cpu/kvm/lib.o.partial:(.data.rel.ro._ZTV10BaseKvmCPU[_ZTV10BaseKvmCPU]+0x90):
undefined reference to `BaseCPU::getSPMDataPort()'
build/X86/cpu/kvm/lib.o.partial:(.data.rel.ro._ZTV9X86KvmCPU[_ZTV9X86KvmCPU]+0x90):
undefined reference to `BaseCPU::getSPMDataPort()'
build/X86/cpu/trace/lib.o.partial:(.data.rel.ro._ZTI8TraceCPU[_ZTI8TraceCPU]+0x10):
undefined reference to `typeinfo for BaseCPU'
build/X86/cpu/trace/lib.o.partial:(.data.rel.ro._ZTV8TraceCPU[_ZTV8TraceCPU]+0x90):
undefined reference to `BaseCPU::getSPMDataPort()'
build/X86/cpu/lib.o.partial: In function `BaseCPU::~BaseCPU()':
/home/weez/Desktop/gem5_86/gem5/build/X86/cpu/base.cc:208: undefined
reference to `vtable for BaseCPU'
build/X86/cpu/lib.o.partial: In function `BaseCPU::BaseCPU(BaseCPUParams*,
bool)':
/home/weez/Desktop/gem5_86/gem5/build/X86/cpu/base.cc:144: undefined
reference to `vtable for BaseCPU'
build/X86/cpu/lib.o.partial:(.data.rel.ro._ZTI10CheckerCPU[_ZTI10CheckerCPU]+0x18):
undefined reference to `typeinfo for BaseCPU'
build/X86/cpu/lib.o.partial:(.data.rel.ro._ZTV10CheckerCPU[_ZTV10CheckerCPU]+0x90):
undefined reference to `BaseCPU::getSPMDataPort()'
build/X86/cpu/lib.o.partial:(.data.rel.ro._ZTV12DummyChecker[_ZTV12DummyChecker]+0x90):
undefined reference to `BaseCPU::getSPMDataPort()'
collect2: error: ld returned 1 exit status
scons: *** [build/X86/gem5.opt] Error 1
scons: building terminated because of errors.


>From what i understand from the errors, is that all the cpu models should
now also have the  implementation of the additional port that i have
created? i have not used a purely virtual function to initialise my new
port in the /src/cpu/base.hh file ,  Any help would be appreciated.

Thanks,
Aamir
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to