--vfemode=mode

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.

Show/hideSyntax

--vfemode=mode

where mode is one of the following:

on

Use the command-line option --vfemode=on to make the linker VFE aware.

In this mode the linker chooses force or off 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. Choosing off 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.

Show/hideDefault

The default is --vfemode=on.

Show/hideSee also

Copyright © 2008, 2011-2012 ARM. All rights reserved.ARM DUI 0458C
Non-ConfidentialID062912