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.

Note

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.

Note

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

Note

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.

Show/hideSee also

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0475H
Non-ConfidentialID070912