add directory Ref-docs
This commit is contained in:
309
Ref-docs/manual gcc2.95.3/gcc_18.html
Normal file
309
Ref-docs/manual gcc2.95.3/gcc_18.html
Normal file
@@ -0,0 +1,309 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on March, 17 2001 by texi2html 1.64 -->
|
||||
<!--
|
||||
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
|
||||
Karl Berry <karl@freefriends.org>
|
||||
Olaf Bachmann <obachman@mathematik.uni-kl.de>
|
||||
and many others.
|
||||
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
|
||||
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
|
||||
|
||||
-->
|
||||
<HEAD>
|
||||
<TITLE>Using and Porting the GNU Compiler Collection (GCC): Config</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="Using and Porting the GNU Compiler Collection (GCC): Config">
|
||||
<META NAME="keywords" CONTENT="Using and Porting the GNU Compiler Collection (GCC): Config">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
<META NAME="Generator" CONTENT="texi2html 1.64">
|
||||
|
||||
</HEAD>
|
||||
|
||||
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
||||
|
||||
<A NAME="SEC251"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_17.html#SEC250" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_17.html#SEC250"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_19.html#SEC252" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_19.html#SEC252"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_2.html#SEC2" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_2.html#SEC2"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc.html#SEC_Top" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_19.html#SEC252" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_19.html#SEC252"> >> </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc.html#SEC_Top" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_toc.html#SEC_Contents" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_24.html#SEC261" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_24.html#SEC261">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_abt.html#SEC_About" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1> 18. The Configuration File </H1>
|
||||
<!--docid::SEC251::-->
|
||||
<P>
|
||||
|
||||
The configuration file <TT>`xm-<VAR>machine</VAR>.h'</TT> contains macro
|
||||
definitions that describe the machine and system on which the compiler
|
||||
is running, unlike the definitions in <TT>`<VAR>machine</VAR>.h'</TT>, which
|
||||
describe the machine for which the compiler is producing output. Most
|
||||
of the values in <TT>`xm-<VAR>machine</VAR>.h'</TT> 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:
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<A NAME="IDX1818"></A>
|
||||
<DT><CODE>USG</CODE>
|
||||
<DD>Define this macro if the host system is System V.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1819"></A>
|
||||
<DT><CODE>VMS</CODE>
|
||||
<DD>Define this macro if the host system is VMS.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1820"></A>
|
||||
<DT><CODE>FATAL_EXIT_CODE</CODE>
|
||||
<DD>A C expression for the status code to be returned when the compiler
|
||||
exits after serious errors.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1821"></A>
|
||||
<DT><CODE>SUCCESS_EXIT_CODE</CODE>
|
||||
<DD>A C expression for the status code to be returned when the compiler
|
||||
exits without serious errors.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1822"></A>
|
||||
<DT><CODE>HOST_WORDS_BIG_ENDIAN</CODE>
|
||||
<DD>Defined if the host machine stores words of multi-word values in
|
||||
big-endian order. (GCC does not depend on the host byte ordering
|
||||
within a word.)
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1823"></A>
|
||||
<DT><CODE>HOST_FLOAT_WORDS_BIG_ENDIAN</CODE>
|
||||
<DD>Define this macro to be 1 if the host machine stores <CODE>DFmode</CODE>,
|
||||
<CODE>XFmode</CODE> or <CODE>TFmode</CODE> floating point numbers in memory with the
|
||||
word containing the sign bit at the lowest address; otherwise, define it
|
||||
to be zero.
|
||||
<P>
|
||||
|
||||
This macro need not be defined if the ordering is the same as for
|
||||
multi-word integers.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX1824"></A>
|
||||
<DT><CODE>HOST_FLOAT_FORMAT</CODE>
|
||||
<DD>A numeric code distinguishing the floating point format for the host
|
||||
machine. See <CODE>TARGET_FLOAT_FORMAT</CODE> in <A HREF="gcc_17.html#SEC202" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_17.html#SEC202">17.3 Storage Layout</A> for the
|
||||
alternatives and default.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1825"></A>
|
||||
<DT><CODE>HOST_BITS_PER_CHAR</CODE>
|
||||
<DD>A C expression for the number of bits in <CODE>char</CODE> on the host
|
||||
machine.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1826"></A>
|
||||
<DT><CODE>HOST_BITS_PER_SHORT</CODE>
|
||||
<DD>A C expression for the number of bits in <CODE>short</CODE> on the host
|
||||
machine.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1827"></A>
|
||||
<DT><CODE>HOST_BITS_PER_INT</CODE>
|
||||
<DD>A C expression for the number of bits in <CODE>int</CODE> on the host
|
||||
machine.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1828"></A>
|
||||
<DT><CODE>HOST_BITS_PER_LONG</CODE>
|
||||
<DD>A C expression for the number of bits in <CODE>long</CODE> on the host
|
||||
machine.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1829"></A>
|
||||
<DT><CODE>ONLY_INT_FIELDS</CODE>
|
||||
<DD>Define this macro to indicate that the host compiler only supports
|
||||
<CODE>int</CODE> bit fields, rather than other integral types, including
|
||||
<CODE>enum</CODE>, as do most C compilers.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1830"></A>
|
||||
<DT><CODE>OBSTACK_CHUNK_SIZE</CODE>
|
||||
<DD>A C expression for the size of ordinary obstack chunks.
|
||||
If you don't define this, a usually-reasonable default is used.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1831"></A>
|
||||
<DT><CODE>OBSTACK_CHUNK_ALLOC</CODE>
|
||||
<DD>The function used to allocate obstack chunks.
|
||||
If you don't define this, <CODE>xmalloc</CODE> is used.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1832"></A>
|
||||
<DT><CODE>OBSTACK_CHUNK_FREE</CODE>
|
||||
<DD>The function used to free obstack chunks.
|
||||
If you don't define this, <CODE>free</CODE> is used.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1833"></A>
|
||||
<DT><CODE>USE_C_ALLOCA</CODE>
|
||||
<DD>Define this macro to indicate that the compiler is running with the
|
||||
<CODE>alloca</CODE> implemented in C. This version of <CODE>alloca</CODE> can be
|
||||
found in the file <TT>`alloca.c'</TT>; to use it, you must also alter the
|
||||
<TT>`Makefile'</TT> variable <CODE>ALLOCA</CODE>. (This is done automatically
|
||||
for the systems on which we know it is needed.)
|
||||
<P>
|
||||
|
||||
If you do define this macro, you should probably do it as follows:
|
||||
</P><P>
|
||||
|
||||
<TABLE><tr><td> </td><td class=example><pre>#ifndef __GNUC__
|
||||
#define USE_C_ALLOCA
|
||||
#else
|
||||
#define alloca __builtin_alloca
|
||||
#endif
|
||||
</pre></td></tr></table></P><P>
|
||||
|
||||
so that when the compiler is compiled with GCC it uses the more
|
||||
efficient built-in <CODE>alloca</CODE> function.
|
||||
</P><P>
|
||||
|
||||
<DT><CODE>FUNCTION_CONVERSION_BUG</CODE>
|
||||
<DD><A NAME="IDX1834"></A>
|
||||
Define this macro to indicate that the host compiler does not properly
|
||||
handle converting a function value to a pointer-to-function when it is
|
||||
used in an expression.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1835"></A>
|
||||
<DT><CODE>MULTIBYTE_CHARS</CODE>
|
||||
<DD>Define this macro to enable support for multibyte characters in the
|
||||
input to GCC. This requires that the host system support the ANSI C
|
||||
library functions for converting multibyte characters to wide
|
||||
characters.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1836"></A>
|
||||
<DT><CODE>POSIX</CODE>
|
||||
<DD>Define this if your system is POSIX.1 compliant.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1837"></A>
|
||||
<DT><CODE>NO_SYS_SIGLIST</CODE>
|
||||
<DD>Define this if your system <EM>does not</EM> provide the variable
|
||||
<CODE>sys_siglist</CODE>.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1838"></A>
|
||||
Some systems do provide this variable, but with a different name such
|
||||
as <CODE>_sys_siglist</CODE>. On these systems, you can define
|
||||
<CODE>sys_siglist</CODE> as a macro which expands into the name actually
|
||||
provided.
|
||||
</P><P>
|
||||
|
||||
Autoconf normally defines <CODE>SYS_SIGLIST_DECLARED</CODE> when it finds a
|
||||
declaration of <CODE>sys_siglist</CODE> in the system header files.
|
||||
However, when you define <CODE>sys_siglist</CODE> to a different name
|
||||
autoconf will not automatically define <CODE>SYS_SIGLIST_DECLARED</CODE>.
|
||||
Therefore, if you define <CODE>sys_siglist</CODE>, you should also define
|
||||
<CODE>SYS_SIGLIST_DECLARED</CODE>.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX1839"></A>
|
||||
<DT><CODE>USE_PROTOTYPES</CODE>
|
||||
<DD>Define this to be 1 if you know that the host compiler supports
|
||||
prototypes, even if it doesn't define __STDC__, or define
|
||||
it to be 0 if you do not want any prototypes used in compiling
|
||||
GCC. If <SAMP>`USE_PROTOTYPES'</SAMP> is not defined, it will be
|
||||
determined automatically whether your compiler supports
|
||||
prototypes by checking if <SAMP>`__STDC__'</SAMP> is defined.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1840"></A>
|
||||
<DT><CODE>NO_MD_PROTOTYPES</CODE>
|
||||
<DD>Define this if you wish suppression of prototypes generated from
|
||||
the machine description file, but to use other prototypes within
|
||||
GCC. If <SAMP>`USE_PROTOTYPES'</SAMP> is defined to be 0, or the
|
||||
host compiler does not support prototypes, this macro has no
|
||||
effect.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1841"></A>
|
||||
<DT><CODE>MD_CALL_PROTOTYPES</CODE>
|
||||
<DD>Define this if you wish to generate prototypes for the
|
||||
<CODE>gen_call</CODE> or <CODE>gen_call_value</CODE> functions generated from
|
||||
the machine description file. If <SAMP>`USE_PROTOTYPES'</SAMP> is
|
||||
defined to be 0, or the host compiler does not support
|
||||
prototypes, or <SAMP>`NO_MD_PROTOTYPES'</SAMP> 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.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1842"></A>
|
||||
<DT><CODE>PATH_SEPARATOR</CODE>
|
||||
<DD>Define this macro to be a C character constant representing the
|
||||
character used to separate components in paths. The default value is
|
||||
the colon character
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1843"></A>
|
||||
<DT><CODE>DIR_SEPARATOR</CODE>
|
||||
<DD>If your system uses some character other than slash to separate
|
||||
directory names within a file specification, define this macro to be a C
|
||||
character constant specifying that character. When GCC displays file
|
||||
names, the character you specify will be used. GCC will test for
|
||||
both slash and the character you specify when parsing filenames.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1844"></A>
|
||||
<DT><CODE>OBJECT_SUFFIX</CODE>
|
||||
<DD>Define this macro to be a C string representing the suffix for object
|
||||
files on your machine. If you do not define this macro, GCC will use
|
||||
<SAMP>`.o'</SAMP> as the suffix for object files.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1845"></A>
|
||||
<DT><CODE>EXECUTABLE_SUFFIX</CODE>
|
||||
<DD>Define this macro to be a C string representing the suffix for executable
|
||||
files on your machine. If you do not define this macro, GCC will use
|
||||
the null string as the suffix for object files.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1846"></A>
|
||||
<DT><CODE>COLLECT_EXPORT_LIST</CODE>
|
||||
<DD>If defined, <CODE>collect2</CODE> will 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 <CODE>main</CODE> and uses export
|
||||
lists.
|
||||
</DL>
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1847"></A>
|
||||
<A NAME="IDX1848"></A>
|
||||
In addition, configuration files for system V define <CODE>bcopy</CODE>,
|
||||
<CODE>bzero</CODE> and <CODE>bcmp</CODE> as aliases. Some files define <CODE>alloca</CODE>
|
||||
as a macro when compiled with GCC, in order to take advantage of the
|
||||
benefit of GCC's built-in <CODE>alloca</CODE>.
|
||||
</P><P>
|
||||
|
||||
<A NAME="Fragments"></A>
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_2.html#SEC2" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_2.html#SEC2"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_19.html#SEC252" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_19.html#SEC252"> >> </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc.html#SEC_Top" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_toc.html#SEC_Contents" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_24.html#SEC261" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_24.html#SEC261">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gcc_abt.html#SEC_About" tppabs="http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<BR>
|
||||
<FONT SIZE="-1">
|
||||
This document was generated
|
||||
by <I>GCC Administrator</I> on <I>March, 17 2001</I>
|
||||
using <A HREF="tppmsgs/msgs0.htm#1" tppabs="http://www.mathematik.uni-kl.de/~obachman/Texi2html"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
Reference in New Issue
Block a user