2.1.71. --library_interface=lib

This option enables the generation of code that is compatible with the selected library type.

Syntax

--library_interface=lib

Where lib is one of:

rvct

Specifies that the compiler output works with the RVCT runtime libraries.

aeabi_clib90

Specifies that the compiler output works with any ISO C90 library compliant with the ARM Embedded Application Binary Interface (AEABI).

aeabi_clib99

Specifies that the compiler output works with any ISO C99 library compliant with the ARM Embedded Application Binary Interface (AEABI).

aeabi_clib

Specifies that the compiler output works with any ISO C library compliant with the ARM Embedded Application Binary Interface (AEABI).

Selecting the option --library_interface=aeabi_clib is equivalent to specifying either --library_interface=aeabi_clib90 or --library_interface=aeabi_clib99, depending on the choice of source language used.

The choice of source language is dependent both on the command-line options selected and on the filename suffixes used.

aeabi_glibc

Specifies that the compiler output works with an AEABI-compliant version of the GNU C library.

Default

If you do not specify --library_interface, the compiler assumes --library_interface=rvct.

Usage

  • Use the option --library_interface=rvct to exploit the full range of compiler and library optimizations when linking.

  • Use an option of the form --library_interface=aeabi_* when linking with an ABI-compliant C library. Options of the form --library_interface=aeabi_* ensure that the compiler does not generate calls to any optimized functions provided by the RVCT C library.

Example

When your code calls functions provided by an embedded operating system that replace functions provided by the RVCT C library, compile your code with --library_interface=aeabi_clib to disable calls to any special RVCT variants of the library functions replaced by the operating system.

See also

Copyright © 2007, 2010 ARM Limited. All rights reserved.ARM DUI 0348A
Non-Confidential