Hallo,

at the moment i try to add a additional port to the cache.cc/.hh. The idea is 
to send a copy of the packets to a new module.

I use a example from: 
learning.gem5.org/book/part2/memoryobject.html<http://learning.gem5.org/book/part2/memoryobject.html>
 as template for the port implementation. Now i have reached a point were the 
syntax generates no more problems. But the compiler stops with errors:



build/X86/mem/cache/lib.o.partial: In function 
`Cache::DapuSidePort::DapuSidePort(std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&, Cache*)':
/home/osboxes/gem5_raw/build/X86/mem/cache/cache.hh:204: undefined reference to 
`vtable for Cache::DapuSidePort'
build/X86/mem/cache/lib.o.partial: In function 
`Cache::DapuSidePort::~DapuSidePort()':
/home/osboxes/gem5_raw/build/X86/mem/cache/cache.hh:190: undefined reference to 
`vtable for Cache::DapuSidePort'
/home/osboxes/gem5_raw/build/X86/mem/cache/cache.hh:190: undefined reference to 
`vtable for Cache::DapuSidePort'
build/X86/exposed_obj/lib.o.partial: In function 
`Dapu::CPUSidePort::CPUSidePort(std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&, Dapu*)':
/home/osboxes/gem5_raw/build/X86/exposed_obj/Dapu.hh:43: undefined reference to 
`vtable for Dapu::CPUSidePort'
/home/osboxes/gem5_raw/build/X86/exposed_obj/Dapu.hh:43: undefined reference to 
`vtable for Dapu::CPUSidePort'
build/X86/exposed_obj/lib.o.partial: In function 
`Dapu::CPUSidePort::~CPUSidePort()':
/home/osboxes/gem5_raw/build/X86/exposed_obj/Dapu.hh:25: undefined reference to 
`vtable for Dapu::CPUSidePort'
/home/osboxes/gem5_raw/build/X86/exposed_obj/Dapu.hh:25: undefined reference to 
`vtable for Dapu::CPUSidePort'
/home/osboxes/gem5_raw/build/X86/exposed_obj/Dapu.hh:25: undefined reference to 
`vtable for Dapu::CPUSidePort'
build/X86/exposed_obj/lib.o.partial:/home/osboxes/gem5_raw/build/X86/exposed_obj/Dapu.hh:25:
 more undefined references to `vtable for Dapu::CPUSidePort' follow
collect2: error: ld returned 1 exit status
scons: *** [build/X86/gem5.opt] Error 1



The gem5 version which i use is from today but the template seems to be much 
older. The error massages point to the constructor and class definitions:



Dapu.hh:25 --> class CPUSidePort : public SlavePort


Dapu.hh:43 -->CPUSidePort(const std::string& name, Dapu *owner) :
                            SlavePort(name, owner), owner(owner), 
needRetry(false),
                            blockedPacket(nullptr)
                        { }



Unfortunately i don't understand what the compiler indicates but would assume a 
missing library. I would appreciate some hints.


Regards,

Markus Neu
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to