The configuration file `xm-machine.h' contains macro definitions that describe the machine and system on which the compiler is running, unlike the definitions in `machine.h', which describe the machine for which the compiler is producing output. Most of the values in `xm-machine.h' are actually the same on all machines that GCC runs on, so large parts of all configuration files are identical. But there are some macros that vary:
TFmodefloating point numbers in memory with the word containing the sign bit at the lowest address; otherwise, define it to be zero. This macro need not be defined if the ordering is the same as for multi-word integers.
TARGET_FLOAT_FORMATin section Storage Layout for the alternatives and default.
charon the host machine.
shorton the host machine.
inton the host machine.
longon the host machine.
intbit fields, rather than other integral types, including
enum, as do most C compilers.
allocaimplemented in C. This version of
allocacan be found in the file `alloca.c'; to use it, you must also alter the `Makefile' variable
ALLOCA. (This is done automatically for the systems on which we know it is needed.) If you do define this macro, you should probably do it as follows:
#ifndef __GNUC__ #define USE_C_ALLOCA #else #define alloca __builtin_alloca #endifso that when the compiler is compiled with GCC it uses the more efficient built-in
sys_siglist. Some systems do provide this variable, but with a different name such as
_sys_siglist. On these systems, you can define
sys_siglistas a macro which expands into the name actually provided. Autoconf normally defines
SYS_SIGLIST_DECLAREDwhen it finds a declaration of
sys_siglistin the system header files. However, when you define
sys_siglistto a different name autoconf will not automatically define
SYS_SIGLIST_DECLARED. Therefore, if you define
sys_siglist, you should also define
gen_call_valuefunctions generated from the machine description file. If `USE_PROTOTYPES' is defined to be 0, or the host compiler does not support prototypes, or `NO_MD_PROTOTYPES' is defined, this macro has no effect. As soon as all of the machine descriptions are modified to have the appropriate number of arguments, this macro will be removed.
collect2will scan the individual object files specified on its command line and create an export list for the linker. Define this macro for systems like AIX, where the linker discards object files that are not referenced from
mainand uses export lists.
In addition, configuration files for system V define
bcmp as aliases. Some files define
as a macro when compiled with GCC, in order to take advantage of the
benefit of GCC's built-in