4.2.1. Using the ANSI C library

The ANSI C library variants are listed in Table 4.1, and Table 4.2.

If you are building your C code with APCS options that are supported by one of the precompiled library variants, the linker selects a precompiled library version that is compatible.

If you select APCS options for which a suitable precompiled library variant does not exist, the linker warns that the library file cannot be found. In this case you must build a library variant that supports your APCS options, and name it appropriately so that the linker selects your library variant.

Refer to Retargeting the ANSI C library for more information on building a new library variant. Refer to Automatic inclusion of libraries for more information on library selection and naming.

Table 4.1. Precompiled Thumb library variants

Thumb librariesDescription
armlib.16l armlib.16bCompiled with no software stack checking.
armlib_i.16l armlib_i.16bCompiled for interworking.
armlib_s.16l armlib_s.16bCompiled with software stack checking.
armlib_si.16l armlib_si.16bCompiled for interworking, and with software stack checking.

Table 4.2. Precompiled ARM library variants

LibraryDescription
armlib.32l armlib.32bCompiled with software stack checking, frame pointer, and software floating-point.
armlib_c.32l armlib_c.32bCompiled with no software stack checking.
armlib_cn.32l armlib_cn.32bCompiled with no software stack checking and no frame pointer.
armlib_h.32l armlib_h.32bCompiled with hardware floating-point, software stack checking, and frame pointer.
armlib_hc.32l armlib_hc.32bCompiled with hardware floating-point and frame pointer, and with no software stack checking.
armlib_hcn.32l armlib_hcn.32bCompiled with hardware floating-point, no software stack checking, and no frame pointer.
armlib_r.32l armlib_r.32bCompiled with software stack checking, frame pointer, hardware floating-point, and fp arguments in fp registers.
armlib_rc.32l armlib_rc.32bCompiled with frame pointer, hardware floating-point, fp arguments in fp registers, and no software stack checking.
armlib_rcn.32l armlib_rcn.32bCompiled with hardware floating-point, fp arguments in fp registers, no software stack checking, and no frame pointer.
Copyright © 1997, 1998 ARM Limited. All rights reserved.ARM DUI 0041C