1.10 Modification of C library functions for error signaling, error handling, and program exit

All trap or error signals raised by the C library go through the __raise() function. You can re-implement this function or the lower-level functions that it uses.


The IEEE 754 standard for floating-point processing states that the default response to an exception is to proceed without a trap. You can modify floating-point error handling by tailoring the functions and definitions in fenv.h.

The rt_misc.h header file contains more information on error-related functions.

The following table shows the trap and error-handling functions.

Table 1-8 Trap and error handling

Function Description
_sys_exit() Called, eventually, by all exits from the library.
errno Is a static variable used with error handling.
__rt_errno_addr() Is called to obtain the address of the variable errno.
__raise() Raises a signal to indicate a runtime anomaly.
__rt_raise() Raises a signal to indicate a runtime anomaly.
__default_signal_handler() Displays an error indication to the user.
_ttywrch() Writes a character to the console. The default implementation of _ttywrch() is semihosted and, therefore, uses semihosting calls.
__rt_fp_status_addr() This function is called to obtain the address of the floating-point status word.
Non-ConfidentialPDF file icon PDF versionARM DUI0475M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.