Using the libraries in a nonsemihosting environment

Some C library functions use semihosting. If you do not want to use semihosting, either:

To guarantee that no functions using semihosting are included in your application, use either:


IMPORT __use_no_semihosting is only required to be added to a single assembly source file. Similarly, #pragma import(__use_no_semihosting) is only required to be added to a single C source file. It is unnecessary to add these inserts to every single source file.

If you include a library function that uses semihosting and also reference __use_no_semihosting, the library detects the conflicting symbols and the linker reports an error. To determine which objects are using semihosting:

  1. link with --verbose --list=out.txt

  2. search the output for the symbol

  3. determine what object referenced it.

There are no target-dependent functions in the C++ library, although some C++ functions use underlying C library functions that are target-dependent.

Show/hideSee also

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0475H