4.15. Library naming conventions

The filename identifies how the variant was built as follows:


root_<arch><fpu><stack><entrant>.<endian>

The values for the fields of the name and the relevant buildoptions are listed below:

root
c

ANSI C and C++ basic runtime support

f

C/Java rounding and exception options for fp arithmetic

g

Full IEEE rounding and exception options for fp arithmetic

m

Transcendental math functions

cpp

High-level C++ functions that do not require fp arithmetic

cppfp

High-level C++ functions that do require fp arithmetic.

arch
a

An ARM library

t

A Thumb library (-apcs interworking).

fpu
fm

Uses FPA instruction set (-fpu fpa)

vp

Uses VFP instruction set (-fpu vfp)

_m

Soft fp with mixed-endian double format (-fpu softfpa)

_p

Soft vfp (-fpu softvfp)

__

Does not use floating-point instructions (-fpu none).

stack
u

Does not use software stack checking (-apcs /noswst)

s

Uses software stack checking (-apcs /swst)

_

Not applicable.

entrant
n

The functions are not reentrant (-apcs /norwpi)

e

The functions are reentrant (-apcs /rwpi)

_

Not applicable.

endian
l

Little-endian (-li)

b

Big-endian (-bi).

The C library names are c_{a,t}__{s,u}{e,n}

c_a__se

ARM, stack checking, reentrant

c_a__sn

ARM, stack checking, not reentrant

c_a__ue

ARM, no stack checking, reentrant

c_a__un

ARM, no stack checking, not reentrant (base PCS)

c_t__se

Thumb, stack checking, reentrant

c_t__sn

Thumb, stack checking, not reentrant

c_t__ue

Thumb, no stack checking, reentrant

c_t__un

Thumb, no stack checking, not reentrant (base PCS).

The standard FPLIB names are f_{a,t}[fm, vp, _m, _p]

f_afm

ARM, FPA, mixed-endian double

f_avp

ARM, VFP, pure-endian double

f_a_m

ARM, soft FPA, mixed-endian

f_a_p

ARM, soft VFP, pure-endian

f_a

ARM, used with -fpu none

f_tfm

Thumb, FPA, mixed-endian double

f_tvp

Thumb, VFP, pure-endian double

f_t_m

Thumb, soft FPA, mixed-endian double

f_t_p

Thumb, soft FPA, pure-endian double

f_t

Thumb, used with -fpu none.

The standard IEEE names are g_{a,t}{fm, vp, _m, _p}

g_afm

ARM, FPA, mixed-endian double

g_avp

ARM, VFP, pure-endian double

g_a_m

ARM, soft FPA

g_a_p

ARM, soft VFP

g_tfm

Thumb, FPA, mixed-endian double

g_tvp

Thumb, VFP, pure-endian double

g_t_m

Thumb, mixed-endian double

g_t_p

Thumb, pure-endian double

The MATHLIB names are m_{a,t}{fm, vp, _m, _p}{s,u}

m_afms

ARM, FPA, mixed-endian, stack checking

m_afmu

ARM, FPA, mixed-endian, no stack checking

m_avps

ARM, VFP, pure-endian, stack checking

m_avpu

ARM, VFP, pure-endian, no stack checking

m_a_ms

ARM, soft FPA, mixed-endian, stack checking

m_a_mu

ARM, soft FPA, mixed-endian, no stack checking

m_a_ps

ARM, soft FPA, pure-endian, stack checking

m_a_pu

ARM, soft FPA, pure-endian, no stack checking

m_tfms

Thumb, FPA, mixed-endian, stack checking

m_tfmu

Thumb, FPA, mixed-endian, no stack checking

m_tvps

Thumb, VFP, pure-endian, stack checking

m_tvpu

Thumb, VFP, pure-endian, no stack checking

m_t_ms

Thumb, soft FPA, mixed-endian, stack checking

m_t_mu

Thumb, soft FPA, mixed-endian, no stack checking

m_t_ps

Thumb, soft FPA, pure-endian, stack checking

m_t_pu

Thumb, soft FPA, pure-endian, no stack checking.

See Specifying the target processor or architecture for details on selecting a specific architecture or processor selection.

Copyright © 1999-2001 ARM Limited. All rights reserved.ARM DUI 0067D
Non-Confidential