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 /media/uploads/maoqi8820/4.png /media/uploads/maoqi8820/3.png /media/uploads/maoqi8820/2.png /media/uploads/maoqi8820/1.png les, can anyone help me to solve this problem? thank you very much.

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

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.

Accepted Answer

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 Dan East 29 Nov 2014

Thank you for you reply, so i need modify both MSCFileSystem and FATFileSystem header file? um, i'm just a beginner about mbed, thus could you please tell me what should i do next.

posted by qi mao 29 Nov 2014

What platform are you building for?

posted by Dan East 30 Nov 2014

LPC 1768

posted by qi mao 30 Nov 2014