| |||
Home > The ARM C and C++ libraries > C and C++ library naming conventions |
The library filename identifies how the variant was built. The values for the fields of the filename, and the relevant build options are:
*root
/prefix
_arch
[fpu]
[entrant]
[enum]
[wchar]
.endian
root
armlib
An ARM C library. The arm_linux
subdirectory
contains libraries used for building ARM Linux applications.
cpplib
An ARM C++ library.
prefix
armlinux
Libraries used when building ARM Linux applications.
c
ISO C and C++ basic runtime support.
cpp
Rogue Wave C++ library.
cpprt
The ARM C++ runtime libraries.
f
--fpmode=ieee_fixed
.
IEEE-compliant library with a fixed rounding mode (round to nearest) and no inexact exceptions.
fj
--fpmode=ieee_no_fenv
.
IEEE-compliant library with a fixed rounding mode (round to nearest) and no exceptions.
fz
--fpmode=fast
or --fpmode=std
.
Behaves like the fj
library, but additionally
flushes denormals and infinities to zero.
This library behaves like the ARM VFP in Fast mode. This is the default.
g
--fpmode=ieee_full
.
IEEE-compliant library with configurable rounding mode and all IEEE exceptions.
h
Compiler support (helper) library.
m
Transcendental math functions.
mc
Non ISO C-compliant ISO C micro-library basic runtime support.
mf
Non IEEE 754 floating-point compliant micro-library support.
arch
4
An ARM only library for use with ARMv4.
t
An ARM/Thumb interworking library for use with ARMv4T.
5
An ARM/Thumb interworking library for use with ARMv5T and later.
w
A Thumb only library for use with Cortex-M3.
p
A Thumb only library for use with Cortex-M1 and Cortex-M0.
2
A
combined ARM and Thumb library for use with Cortex-A and Cortex-R
series processor cores. You can prevent this library being selected
using the linker option --no_thumb2_library
.
fpu
m
A variant of the library for processors that have single-precision hardware floating-point only, such as Cortex-M4.
v
Uses VFP instruction set.
s
Soft VFP.
If neither v
nor s
is
present in a library name, the library provides no floating-point
support.
entrant
e
Position-independent access to static data.
f
FPIC addressing is enabled.
If neither e
nor f
is
present in a library name, the library uses position-dependent access
to static data.
enum
n
Compatible with the compiler option, --enum_is_int
.
wchar
u
Indicates the size of wchar_t
.When
present, the library is compatible with the compiler option, --wchar32
.
Otherwise, it is compatible with --wchar16
endian
l
Little-endian.
b
Big-endian.
For example:
*armlib/c_4.b *cpplib/cpprt_5f.l
Not all variant/name combinations are valid. See the armlib
and cpplib
directories
for the libraries that are supplied with the ARM compilation tools.
The linker command-line option --info libraries
provides
information on every library that is automatically selected for
the link stage.
Introducing the ARM Compiler toolchain:
Linker Reference:
Compiler Reference: