Technical Support
On-Line Manuals
Libraries and Floating Point Support Guide
The following topics describe the ARM C and C++ libraries:
Mandatory linkage with the C library
C and C++ runtime libraries
C and C++ library features
Library heap usage requirements of the ARM C and C++ libraries
Compliance with the Application Binary Interface (ABI) for the ARM architecture
Increasing portability of object files to other CLIBABI implementations
ARM C and C++ library directory structure
Selection of ARM C and C++ library variants based on build options
Thumb C libraries
C++ and C libraries and the std namespace
ARM C libraries and multithreading
ARM C libraries and reentrant functions
ARM C libraries and thread-safe functions
Use of static data in the C libraries
Use of the __user_libspace static data area by the C libraries
C library functions to access subsections of the __user_libspace static data area
Re-implementation of legacy function __user_libspace() in the C library
Management of locks in multithreaded applications
How to ensure re-implemented mutex functions are called
Using the ARM C library in a multithreaded environment
Thread safety in the ARM C library
Thread safety in the ARM C++ library
The floating-point status word in a multithreaded environment
Using the C library with an application
Using the C and C++ libraries with an application in a semihosting environment
Using $Sub$$ to mix semihosted and nonsemihosted I/O functionality
Using the libraries in a nonsemihosting environment
C++ exceptions in a non-semihosting environment
Direct semihosting C library function dependencies
Indirect semihosting C library function dependencies
C library API definitions for targeting a different environment
Building an application without the C library
Creating an application as bare machine C without the C library
Integer and floating-point compiler functions and building an application without the C library
Bare machine integer C
Bare machine C with floating-point processing
Customized C library startup code and access to C library functions
Program design when exploiting the C library
Using low-level functions when exploiting the C library
Using high-level functions when exploiting the C library
Using malloc() when exploiting the C library
Tailoring the C library to a new execution environment
How C and C++ programs use the library functions
Initialization of the execution environment and execution of the application
C++ initialization, construction and destruction
Legacy support for C$$pi_ctorvec instead of .init_array
Exceptions system initialization
Emergency buffer memory for exceptions
Library functions called from main()
Program exit and the assert macro
Assembler macros that tailor locale functions in the C library
Link time selection of the locale subsystem in the C library
ISO8859-1 implementation
Shift-JIS and UTF-8 implementation
Runtime selection of the locale subsystem in the C library
Definition of locale data blocks in the C library
LC_CTYPE data block
LC_COLLATE data block
LC_MONETARY data block
LC_NUMERIC data block
LC_TIME data block
Modification of C library functions for error signaling, error handling, and program exit
Modification of memory management functions in the C library
Avoiding the heap and heap-using library functions supplied by ARM
C library support for memory allocation functions
Heap1, standard heap implementation
Heap2, alternative heap implementation
Using a heap implementation from bare machine C
Stack pointer initialization and heap bounds
Defining __initial_sp, __heap_base and __heap_limit
Extending heap size at runtime
Legacy support for __user_initial_stackheap()
Tailoring input/output functions in the C and C++ libraries
Target dependencies on low-level functions in the C and C++ libraries
The C library printf family of functions
The C library scanf family of functions
Redefining low-level library functions to enable direct use of high-level library functions in the C library
The C library functions fread(), fgets() and gets()
Re-implementing __backspace() in the C library
Re-implementing __backspacewc() in the C library
Redefining target-dependent system I/O functions in the C library
Tailoring non-input/output C library functions
Real-time integer division in the ARM libraries
Selecting real-time division in the ARM libraries
How the ARM C library fulfills ISO C specification requirements
mathlib error handling
ISO-compliant implementation of signals supported by the signal() function in the C library and additional type arguments
ISO-compliant C library input/output characteristics
Standard C++ library implementation definition
C library functions and extensions
Persistence of C and C++ library names across releases of the ARM compilation tools
Link time selection of C and C++ libraries
Managing projects that have explicit C or C++ library names in makefiles
Compiler generated and library-resident helper functions
C and C++ library naming conventions
Using macro__ARM_WCHAR_NO_IO to disable FILE declaration and wide I/O function prototypes.