gccint: Libgcc
1
1 4 The GCC low-level runtime library
1 ***********************************
1
1 GCC provides a low-level runtime library, 'libgcc.a' or 'libgcc_s.so.1'
1 on some platforms. GCC generates calls to routines in this library
1 automatically, whenever it needs to perform some operation that is too
1 complicated to emit inline code for.
1
1 Most of the routines in 'libgcc' handle arithmetic operations that the
1 target processor cannot perform directly. This includes integer
1 multiply and divide on some machines, and all floating-point and
1 fixed-point operations on other machines. 'libgcc' also includes
1 routines for exception handling, and a handful of miscellaneous
1 operations.
1
1 Some of these routines can be defined in mostly machine-independent C.
1 Others must be hand-written in assembly language for each processor that
1 needs them.
1
1 GCC will also generate calls to C library routines, such as 'memcpy'
1 and 'memset', in some cases. The set of routines that GCC may possibly
1 use is documented in ⇒(gcc)Other Builtins.
1
1 These routines take arguments and return values of a specific machine
1 mode, not a specific C type. ⇒Machine Modes, for an explanation
1 of this concept. For illustrative purposes, in this chapter the
1 floating point type 'float' is assumed to correspond to 'SFmode';
1 'double' to 'DFmode'; and 'long double' to both 'TFmode' and 'XFmode'.
1 Similarly, the integer types 'int' and 'unsigned int' correspond to
1 'SImode'; 'long' and 'unsigned long' to 'DImode'; and 'long long' and
1 'unsigned long long' to 'TImode'.
1
Menu