Selection of ARM C and C++ library variants based on build options

When you build your application, you must make certain choices. For example:

Target Architecture and instruction set

ARM, Thumb®, or Thumb-2.

Byte order

Big-endian or little-endian.

Floating-point support

Software (SoftVFP), hardware (VFP), software or hardware with half-precision or double-precision extensions, or no floating-point support.

Position independence

Different ways to access your data are as follows:

  • by absolute address

  • relative to sb (read/write position-independent)

  • relative to pc (fpic).

Different ways to access your code are as follows:

  • by absolute address when appropriate

  • relative to pc (read-only position independent).

The standard C libraries provide variants to support all of these options.

Position-independent C++ code can only be achieved with --apcs=/fpic.

Note

Position independence is not supported in microlib.

When you link your assembler code, C or C++ code, the linker selects appropriate C and C++ library variants compatible with the build options you specified. There is a variant of the ISO C library for each combination of major build options.

Show/hideSee also

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0475C
Non-ConfidentialID080411