Virtual Function Elimination (VFE) is a technique that enables the linker to identify more unused sections.
Use this option to specify how VFE, and Runtime Type Information (RTTI) objects, are eliminated.
--vfemode=mode
where
is
one of the following:mode
on
Use the command-line option
--vfemode=on
to make the linker VFE aware.In this mode the linker chooses
force
oroff
mode based on the content of object files:Where every object file contains VFE information or does not refer to a symbol with a mangled C++ name, the linker assumes
force
mode and continues with the elimination.If any object file is missing VFE information and refers to a symbol with a mangled C++ name, for example, where code has been compiled with a previous release of the ARM tools, the linker assumes
off
mode, and VFE is disabled silently. Choosingoff
mode to disable VFE in this situation ensures that the linker does not remove a virtual function that is used by an object with no VFE information.
off
Use the command-line option
--vfemode=off
to make armlink ignore any extra information supplied by the compiler. In this mode, the final image is the same as that produced by compiling and linking without VFE awareness.force
Use the command-line option
--vfemode=force
to make the linker VFE aware and force the VFE algorithm to be applied. If some of the object files do not contain VFE information, for example, where they have been compiled with a previous release of the ARM tools, the linker continues with the elimination but displays a warning to alert you to possible errors.force_no_rtti
Use the command-line option
--vfemode=force_no_rtti
to make the linker VFE aware and force the removal of all RTTI objects. In this mode all virtual functions are retained.