1.6.7 Indirect semihosting C library function dependencies

A table showing functions that depend indirectly on one or more of the directly dependent functions.

You can use this table as an initial guide, but it is recommended that you use either of the following to identify any other functions with indirect or direct dependencies on semihosting at link time:

  • #pragma import(__use_no_semihosting) in C source code.
  • IMPORT __use_no_semihosting in armasm assembly language source code.

Table 1-3 Indirect semihosting dependencies

Function Usage

__user_setup_stackheap()

Sets up and returns the locations of the stack and the heap.
__raise() Catching, handling, or diagnosing C library exceptions, without C signal support. (Tailoring error signaling, error handling, and program exit.)
__default_signal_handler() Catching, handling, or diagnosing C library exceptions, with C signal support. (Tailoring error signaling, error handling, and program exit.)
__Heap_Initialize() Choosing or redefining memory allocation. Avoiding the heap and heap-using C library functions that are supplied by ARM.
ferror(), fputc(), __stdout Re-implementing the printf family. (Tailoring input/output functions in the C and C++ libraries.).
__backspace(), fgetc(), __stdin Re-implementing the scanf family. (Tailoring input/output functions in the C and C++ libraries.).
fwrite(), fputs(), puts(), fread(), fgets(), gets(), ferror() Re-implementing the stream output family. (Tailoring input/output functions in the C and C++ libraries.).
Non-ConfidentialPDF file icon PDF versionARM DUI0475M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.