Overview of the native build targets

Symbian platform natively runs on ARM processors that use the standard Application Binary Interface (ABI) to run the binary code. This standard interface enable the binaries created by different compilers (that meet the ABI standard) to operate together. For more information about the ABI specification, see http://www.arm.com/products/DevTools/ABI.html.

The Symbian platform build tools define native build targets that use either the ARM's RealView Compilation Tools (RVCT), or the GNU Compiler Collection (GCC), known as GCCE. Where, ARM RVCT (http://www.arm.com/products/DevTools/RealViewDevSuite.html) is particularly intended for licensees building ROMs for phones. GCCE is delivered on Symbian platform kits, and is also freely available from http://www.codesourcery.com.

There are two versions of the ARM ABI, referred to as v1 and v2 respectively. RVCT can be used to build for either of these ABI versions, and GCCE can only be used to build for ARM ABI v2.

In addition, the toolchain supports building to three versions of the ARM architecture; v5, v6, and v7. See http://www.arm.com/products/CPUs/architecture.html for details of the ARM architectures.

The build targets are intended to generate generic code suitable for execution on processors based on these architectures. The toolchain allows customisation by licensees, for example, in order to target a specific processor more closely: see ARMV5 build customisation.

A summary of the available targets is shown below:

Target name

Instruction set

Compiler

ABI

ARMV5

v5

RVCT 2.2

v1

ARMV5_ABIv2

v5

RVCT 2.2

v2

ARMV6

v6

RVCT 2.2

v1

ARMV6_ABIv2

v6

RVCT 2.2

v2

ARMV6t2

v6

RVCT 2.2

v2

ARMV7

v7

RVCT 3.1

v2

GCCE

v5

GCCE 3.4

v2

GCCEV6

v6

GCCE 3.4

v2

GCCEv6t2

v6

GCCE 3.4

v2

GCCEv7

v7

GCCE 4.2

v2

Notes:

  • The Symbian platform that you build using RVCT 4.0 provides run-time support for executables built using the RVCT 2.2, RVCT 3.1 and RVCT 4.0 toolchains.

  • From Symbian OS v9.4 onwards, the target names to build a binary conforming to ABIv2 are ARMV5 and ARMV6, and for ABIv1 they are ARMV5_ABIv1 and ARMV6_ABIv1. You can switch back to the conventional approach described in the table above. For more details, refer to Switching between ABI modes.

For details of these targets, see: