C and C++ library naming conventions
The library filename identifies how the variant was built.
NoteThe library naming convention described in this documentation applies to the current release of the ARM compilation tools. Do not rely on C and C++ library names. They might change in future releases.
Normally, you do not have to list any of the C and C++ libraries explicitly on the linker command line. The ARM linker automatically selects the correct C or C++ libraries to use, and it might use several, based on the accumulation of the object attributes.
The values for the fields of the filename, and the relevant build options are:
An ARM C library.
An ARM C++ library.
A libc++ library.
ISO C and C++ basic runtime support.
The libc++ library.
The libc++abi runtime library.
Rogue Wave C++ library.
NoteThe Rogue Wave C++ libraries are deprecated.
The ARM C++ runtime libraries.
IEEE-compliant library with a fixed rounding mode (round to nearest) and no inexact exceptions.
IEEE-compliant library with a fixed rounding mode (round to nearest) and no exceptions.
Behaves like the
fjlibrary, but additionally flushes denormals and infinities to zero.
This library behaves like the ARM VFP in Fast mode. This is the default.
IEEE-compliant library with configurable rounding mode and all IEEE exceptions.
Compiler support (helper function) library.
Transcendental math functions.
Non ISO C-compliant ISO C micro-library basic runtime support.
Non IEEE 754 floating-point compliant micro-library support.
An A32 only library for use with ARMv4.
An A32/T32 interworking library for use with ARMv4T.
An A32/T32 interworking library for use with ARMv5T and later.
A T32 only library for use with ARMv6-M.
A T32 only library for use with ARMv7-M.
A combined A32 and T32 library for use with Cortex-A and Cortex-R series processors. You can prevent this library being selected using the linker option
An A32/T32 interworking library for use with ARMv8, AArch32 state.
An A64 library for use with ARMv8, AArch64 state.
A variant of the library for processors that have single-precision hardware floating-point only, such as Cortex-M4.
Uses VFP instruction set.
NoteIf none of v, m, or s are present in a library name, the library provides no floating-point support.
Position-independent access to static data.
FPIC addressing is enabled (used by armclang option
NotePosition independence is only supported in AArch32 state. If both
fare not present in a library name, the library uses position-dependent access to static data.
Compatible with the default compiler option,
Indicates the size of
wchar_t.When present, the library is compatible with the compiler option,
-fno-short-wchar. Otherwise, it is compatible with
NoteNot all variant/name combinations are valid. See the
libcppdirectories for the libraries that are supplied with the ARM Compiler.
The linker command-line option
--info libraries provides information on
every library that is automatically selected for the link stage.