| |||
| Home > Compiler Command-line Options > --library_interface=lib | |||
This option enables the generation of code that is compatible with the selected library type.
--library_interface=lib
Where is
one of:lib
noneSpecifies that the compiler output works with any ISO C90 library, but does not use AEABI-defined library functions unless they are required for the code to behave correctly. For example, this option suppresses the use of AEABI-defined functions that are introduced only as an optimization such as __aeabi_memcpy.
armccSpecifies that the compiler output works with the ARM runtime libraries in ARM Compiler 4.1 and later.
armcc_c90Behaves
similarly to --library_interface=armcc. The difference
is that references in the input source code to function names that
are not reserved by C90, are not modified by the compiler. Otherwise,
some C99 math.h function names might be prefixed
with __hardfp_, for example __hardfp_tgamma.
aeabi_clib90Specifies that the compiler output works with any ISO C90 library compliant with the ARM Embedded Application Binary Interface (AEABI).
aeabi_clib99Specifies that the compiler output works with any ISO C99 library compliant with the AEABI.
aeabi_clibSpecifies that the compiler output works with any ISO C library compliant with the 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_glibcSpecifies that the compiler output works with an AEABI-compliant version of the GNU C library.
aeabi_clib90_hardfpSpecifies that the compiler output works with any ISO C90 library compliant with the AEABI, and causes calls to the C library (including the math libraries) to call hardware floating-point library functions.
aeabi_clib99_hardfpSpecifies that the compiler output works with any ISO C99 library compliant with the AEABI, and causes calls to the C library (including the math libraries) to call hardware floating-point library functions.
aeabi_clib_hardfpSpecifies that the compiler output works with any ISO C library compliant with the AEABI.
Selecting the option --library_interface=aeabi_clib_hardfp is
equivalent to specifying either --library_interface=aeabi_clib90_hardfp or --library_interface=aeabi_clib99_hardfp,
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.
Causes calls to the C library (including the math libraries) to call hardware floating-point library functions.
aeabi_glibc_hardfpSpecifies that the compiler output works with an AEABI-compliant version of the GNU C library, and causes calls to the C library (including the math libraries) to call hardware floating-point library functions.
rvct30Specifies that the compiler output is compatible with RVCT 3.0 runtime libraries.
rvct30_c90Behaves
similarly to rvct30. In addition, specifies that
the compiler output is compatible with any ISO C90 library.
rvct31Specifies that the compiler output is compatible with RVCT 3.1 runtime libraries.
rvct31_c90Behaves
similarly to rvct31. In addition, specifies that
the compiler output is compatible with any ISO C90 library.
rvct40Specifies that the compiler output is compatible with RVCT 4.0 runtime libraries.
rvct40_c90Behaves
similarly to rvct40. In addition, specifies that
the compiler output is compatible with any ISO C90 library.
Use the option --library_interface=armcc 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 ARM C library.
It is an error to use any of the _hardfp library
interfaces when compiling with --fpu=softvfp.
If your code calls functions, provided by an embedded operating
system, that replace functions provided by the ARM C library, then
compile your code with the option --library_interface=aeabi_clib. This
option disables calls to any special ARM variants of the library
functions replaced by the operating system.
Compliance with the Application Binary Interface (ABI) for the ARM architecture in Using ARM® C and C++ Libraries and Floating-Point Support.