Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
9 years, 5 months ago.
The virtual function elimination information for i.disk_ioctl(diskio.cpp.lpc1768.arm.o)
I have built a program, which is to test the device temperature and store the data into the flash disk, but the error states that:
The virtual function elimination information for i.disk_ioctl(diskio.cpp.lpc1768.arm.o) incorrectly indicates that section .constdataZTV13MSCFileSystem(MSCFileSystem.cpp.LPC1768.o), offset 64 is a relocation (to a virtual function or RTTI), but there is no relocation at that offset. i imported the cpp mbed-App-USBFlash by Chris Sty les, can anyone help me to solve this problem? thank you very much.
1 Answer
9 years, 5 months ago.
It looks like MSCFileSystem.h defines disk_sectors() with a different return type than the base class. It is a pure virtual function thus it must be overridden. At least that is the case with the sources I found online. Perhaps yours are different in this regard.
MSCFileSystem.h:
virtual int disk_sectors();
FATFileSystem.h:
virtual uint64_t disk_sectors() = 0;
I would modify disk_sectors to return a 64 bit unsigned integer like the base class. You will have to modify both the header and the implementation.
Okay, the FatFileSystem.h in the mbed library has a return type of int as well. So that wouldn't be the problem (unless somehow you ended up with this other version of FATFileSystem.h). I was looking at this version at first: https://github.com/mbedmicro/mbed/blob/master/libraries/fs/fat/FATFileSystem.h
posted by 29 Nov 2014
L6647E
The virtual function elimination information for section <vcall_sectionname> (object <vcall_objectname>) incorrectly indicates that section <curr_sectionname> (object <curr_objectname>), offset <offset> is a relocation (to a virtual function or RTTI), but there is no relocation at that offset.
The above message might indicate a compiler fault. Contact your supplier.
posted by Dan East 29 Nov 2014