12.168 --vfemode=mode

Specifies how Virtual Function Elimination (VFE), and RunTime Type Information (RTTI) objects, are eliminated. VFE is a technique that enables the linker to identify more unused sections.

Syntax

--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. This is the default and only mode supported when using --shared or --dll.
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.

Default

The default is --vfemode=on when not using --shared or --dll. When using --shared or --dll the default is --vfemode=off.

Non-ConfidentialPDF file icon PDF versionARM DUI0474M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.