You copied the Doc URL to your clipboard.

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.

cpplib

An ARM C++ library.

prefix
armlinux

Libraries used when building ARM Linux applications.

Building for ARM Linux is not supported in AArch64 state.

c

ISO C and C++ basic runtime support.

cpp

Rogue Wave C++ library.

cpprt

The ARM C++ runtime libraries.

f

IEEE-compliant library with a fixed rounding mode (round to nearest) and no inexact exceptions.

fj

IEEE-compliant library with a fixed rounding mode (round to nearest) and no exceptions.

fz

Behaves like the fj library, but additionally flushes denormals and infinities to zero.

This library behaves like the ARM VFP in Fast mode.

g

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 A32 only library for use with ARMv4.

t

An A32/T32 interworking library for use with ARMv4T.

5

An A32/T32 interworking library for use with ARMv5T and later.

w

A T32 only library for use with ARMv7-M.

p

A T32 only library for use with ARMv6-M.

2

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 --no_thumb2_library.

8

An A32/T32 interworking library for use with ARMv8, AArch32 state.

o

An A64 library for use with ARMv8, AArch64 state.

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 both v and s are not present in a library name, the library provides no floating-point support.

entrant
e

Position-independent access to static data.

f

Not supported.

Note

Position independence is only supported in AArch32 state. If both e and f are not present in a library name, the library uses position-dependent access to static data.

enum
n

Compatible with the default compiler option -fno-short-enums.

wchar
u

Indicates the size of wchar_t.When present, the library is compatible with the compiler option, -fno-short-wchar. Otherwise, it is compatible with -fshort-wchar

endian
l

Little-endian.

b

Big-endian (not supported).

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.

See also

Reference
Was this page helpful? Yes No