Thank you.

Actually i had some incomplete declarations/definitions of virtual methods.


Regards,

Markus Neu

________________________________
Von: gem5-users <gem5-users-boun...@gem5.org> im Auftrag von Oscar Rosell 
<oscar.ros...@metempsy.com>
Gesendet: Samstag, 15. Juli 2017 18:39
An: gem5 users mailing list
Cc: m5-us...@m5sim.org
Betreff: Re: [gem5-users] undefined reference to `vtable for Port

Hi,

This looks just like a C++ error. Check solution for: 
https://stackoverflow.com/questions/3065154/undefined-reference-to-vtable

Regards,

   Oscar

On 15 Jul 2017, at 17:47, Neu, Markus 
<m....@campus.tu-berlin.de<mailto:m....@campus.tu-berlin.de>> wrote:

Hallo,

at the moment i try to add a additional port to the 
cache.cc/.hh<http://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<mailto:gem5-users@gem5.org>
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

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

Reply via email to