A.1 Revisions for ARM C and C++ Libraries and Floating-Point Support User Guide

The following technical changes have been made to the ARM C and C++ Libraries and Floating-Point Support User Guide.

Table A-1 Differences between issue L and issue M

Change

Topics affected

Replaced __user_setup_stackheap() with __user_initial_stackheap(). 1.6.6 Direct semihosting C library function dependencies
Added __user_setup_stackheap(). 1.6.7 Indirect semihosting C library function dependencies
Updated the note. 1.20 Redefining target-dependent system I/O functions in the C library
Added more information for stdin, stdout, and stderr list item. 1.23.4 ISO-compliant C library input/output characteristics
Updated the Restriction section for _sys_istty(). 4.43 _sys_istty()

Table A-2 Differences between issue K and issue L

Change

Topics affected

Clarified __use_X_ctype can accept only one symbol 4.32 setlocale()

Table A-3 Differences between issue J and issue K

Change

Topics affected

Improved the description and added an example. 4.53 __user_heap_extent()
Added more detail about __stdin_name, __stdout_name, and __stderr_name.

1.20 Redefining target-dependent system I/O functions in the C library.

Table A-4 Differences between issue I and issue J

Change

Topics affected

Added the chapters from the ARM C and C++ Libraries and Floating-Point Support Reference into the ARM C and C++ Libraries and Floating-Point Support User Guide. The ARM C and C++ Libraries and Floating-Point Support Reference is no longer being provided as a separate document.

Added a topic about using library functions with literal pools. 1.28 Using library functions with execute-only memory.

Table A-5 Differences between issue H and issue I

Change Topics affected
Where appropriate, changed the terminology that implied that 16-bit Thumb and 32-bit Thumb are separate instruction sets. Various topics.

Clarified the descriptions of signal handling behavior.

Table A-6 Differences between issue G and issue H

Change Topics affected

Noted the correct use of _init_alloc(base, top).

Using a heap implementation from bare machine C.

Added thread safety information about the Rogue Wave Standard C++ library.

1.5.12 Thread safety in the ARM C++ library.

Corrected the default behavior of __user_setup_stackheap(), and reworded the note.

4.54 __user_setup_stackheap().

Table A-7 Differences between issue F and issue G

Change Topics affected

Where appropriate, rather than 16-bit Thumb or 32-bit Thumb, referred instead to Thumb or Thumb-2 technology.

Various topics.
Explicitly stated that there are two ways to tailor I/O functions, with guidance about use. 1.12 Tailoring input/output functions in the C and C++ libraries.
Made the terms for system I/O functions more consistent, and gave an example of how to redefine the functions.
Clarified the type of division by zero in the example. Removed the incorrect floating point error values for type, and gave a reference for the correct ones. 1.23.3 ISO-compliant implementation of signals supported by the signal() function in the C library and additional type arguments.

Table A-8 Differences between issue E and issue F

Change Topics affected
Changed the ARMCCnnLIB environment variable to ARMCCnLIB. 1.2.4 ARM C and C++ library directory structure.
Added the values for the arguments to the SIGFPE signal. 1.23.3 ISO-compliant implementation of signals supported by the signal() function in the C library and additional type arguments.
Removed clock() from the list of unsupported ISO C features. 2.4 ISO C features missing from microlib.

Where appropriate:

  • prefixed Thumb with 16-bit

  • changed Thumb-1 to 16-bit Thumb

  • changed Thumb-2 to 32-bit Thumb.

Various topics

Table A-9 Differences between issue D and issue E

Change Topics affected
Corrected the library naming conventions. 1.26 C and C++ library naming conventions.
Added #pragma import(__use_smaller_memcpy). 2.2 Differences between microlib and the default C library.

Table A-10 Differences between issue C and issue D

Change Topics affected

Added a table footnote for signals SIGILL, SIGINT, SIGSEGV, and SIGTERM.

Changed the description for SIGCPPL.

Also updated the Caution.

1.23.3 ISO-compliant implementation of signals supported by the signal() function in the C library and additional type arguments.
Added subtitles to the topic. 1.9.3 Definition of locale data blocks in the C library.

Restructured the Usage section of the setlocale() description.

4.32 setlocale().

Added lgammaf(), lgammal() to the table of functions that are not thread-safe.

4.60 C library functions that are not thread-safe.

Table A-11 Differences between issue B and issue C

Change Topics affected
Removed alloca() from the first sentence. 1.11.1 Library heap usage requirements of the ARM C and C++ libraries.
Removed the item describing alloca state from the list. 1.5.5 Use of the __user_libspace static data area by the C libraries.
Reworded the alloca.h table entry. 1.7.1 Building an application without the C library.

Reworded the overview of the alloca() function.

4.2 alloca().

Reworded the alloca() table entry.

4.59 Thread-safe C library functions.

Table A-12 Differences between issue A and issue B

Change Topics affected
New topic.

1.11.3 Stack pointer initialization and heap bounds.

New topic. Defining __initial_sp, __heap_base and __heap_limit.
New topic. Extending heap size at runtime.
New topic. 3.5 mathlib double and single-precision floating-point functions.
Textual clarification. 2.7 Entering and exiting programs linked with microlib.
__user_setup_stackheap() clarification. 1.6.6 Direct semihosting C library function dependencies.
__user_libspace() is a legacy function. 1.5.7 Re-implementation of legacy function __user_libspace() in the C library.
Reliance of remquo(), remquof(), and remquol(), on implementation-defined integer value. 1.23.1 How the ARM C library fulfills ISO C specification requirements.
__user_initial_stackheap() downgraded to legacy support only. 1.11.4 Legacy support for __user_initial_stackheap().
Topic obsolete. Memory models and the C library.
Topic obsolete. Methods of modifying the runtime memory model with the C library.
Topic obsolete. User-defined C library memory models.

Topic obsolete.

Selecting the one-region memory model automatically.

Topic obsolete.

Selecting the two-region memory model automatically.

Textual clarifications.

4.54 __user_setup_stackheap().

Textual clarifications.

4.61 Legacy function __user_initial_stackheap().

Non-ConfidentialPDF file icon PDF versionARM DUI0475M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.