You copied the Doc URL to your clipboard.

General changes between RVCT v3.1 and RVCT v4.0

Various general changes have been made in RVCT v4.0.

The following changes affect multiple tools:

Restrictions on --fpu

--fpu=VFPv2 or --fpu=VFPv3 are only accepted if CPU architecture is greater than or equal to ARMv5TE. This affects all tools that accept --fpu.


The assembler assembles VFP instructions when you use the --unsafe option, so do not use --fpu when using --unsafe. If you use --fpu with --unsafe, the assembler downgrades the reported architecture error to a warning.

Remove support for v5TExP and derivatives, and all ARMv5 architectures without T

The following --cpu choices are obsolete and have been removed:

  • 5.

  • 5E.

  • 5ExP.

  • 5EJ.

  • 5EWMMX2.

  • 5EWMMX.

  • 5TEx.

  • ARM9E-S-rev0.

  • ARM946E-S-rev0.

  • ARM966E-S-rev0.

Compatibility of RVCT v4.0 with legacy objects and libraries

Backwards compatibility of RVCT v2.x, v3.x and v4.0 object and library code is supported provided you have not built them with --apcs /adsabi and use the RVCT v4.0 linker and C/C++ libraries. Forward compatibility is not guaranteed.

Given these restrictions, ARM strongly recommends that you rebuild your entire project, including any user, or third-party supplied libraries, with RVCT v4.0 and later. This is to avoid any potential incompatibilities, and to take full advantage of the improved optimization, enhancements, and new features provided by RVCT v4.0 and later.