C and C++ library naming conventions
The library filename identifies how the variant was built.
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:
ARM C library. The
arm_linuxsubdirectory contains libraries used for building ARM Linux applications.
C++ library for ARM.
Libraries used when building ARM Linux applications.
ISO C and C++ basic runtime support.
Rogue Wave C++ library.
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 ARM only library for use with ARMv4.
An ARM/Thumb interworking library for use with ARMv4T.
An ARM/Thumb interworking library for use with ARMv5T and later.
A Thumb only library for use with ARMv6-M.
A Thumb only library for use with ARMv7-M.
A combined ARM and Thumb library for use with Cortex-A and Cortex-R series processors. You can prevent this library being selected using the linker option
A variant of the library for processors that have single-precision hardware floating-point only, such as Cortex-M4.
Uses VFP instruction set.
Soft VFP.Note If 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.Note If neither e nor f is present in a library name, the library either:
- Uses position-dependent access to static data. This is
the case for the main C libraries with prefixes
- Does not access static data, or does so only with the
help of the main C library. This is the case for
mathliblibraries with prefixes
- Uses position-dependent access to static data. This is the case for the main C libraries with prefixes
Compatible with the compiler option,
Indicates the size of
wchar_t.When present, the library is compatible with the compiler option,
--wchar32. Otherwise, it is compatible with
cpplibdirectories 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.