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.
|_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.|