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