mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-22 19:11:18 +08:00
tm.texi: GNU CC -> GCC conversion.
* tm.texi: GNU CC -> GCC conversion. (CC1_SPEC): Indicate it is used for all language front ends. From-SVN: r28844
This commit is contained in:
parent
77c9524bad
commit
a3a15b4d14
@ -1,3 +1,8 @@
|
||||
Wed Aug 25 01:25:14 1999 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* tm.texi: GNU CC -> GCC conversion.
|
||||
(CC1_SPEC): Indicate it is used for all language front ends.
|
||||
|
||||
Tue Aug 24 23:43:03 1999 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* flow.c (delete_block): Spell NOTE_INSN_EH_REGION_BEG and
|
||||
|
181
gcc/tm.texi
181
gcc/tm.texi
@ -100,9 +100,9 @@ If this macro is not defined, the default value is @code{""}.
|
||||
|
||||
@findex CPP_SPEC
|
||||
@item CPP_SPEC
|
||||
A C string constant that tells the GNU CC driver program options to
|
||||
A C string constant that tells the GCC driver program options to
|
||||
pass to CPP. It can also specify how to translate options you
|
||||
give to GNU CC into options for GNU CC to pass to the CPP.
|
||||
give to GCC into options for GCC to pass to the CPP.
|
||||
|
||||
Do not define this macro if it does not need to do anything.
|
||||
|
||||
@ -128,7 +128,7 @@ be defined.
|
||||
|
||||
@findex SIGNED_CHAR_SPEC
|
||||
@item SIGNED_CHAR_SPEC
|
||||
A C string constant that tells the GNU CC driver program options to
|
||||
A C string constant that tells the GCC driver program options to
|
||||
pass to CPP. By default, this macro is defined to pass the option
|
||||
@samp{-D__CHAR_UNSIGNED__} to CPP if @code{char} will be treated as
|
||||
@code{unsigned char} by @code{cc1}.
|
||||
@ -138,32 +138,33 @@ definition.
|
||||
|
||||
@findex CC1_SPEC
|
||||
@item CC1_SPEC
|
||||
A C string constant that tells the GNU CC driver program options to
|
||||
pass to @code{cc1}. It can also specify how to translate options you
|
||||
give to GNU CC into options for GNU CC to pass to the @code{cc1}.
|
||||
A C string constant that tells the GCC driver program options to
|
||||
pass to @code{cc1, cc1plus, f771, and the other language front ends}.
|
||||
It can also specify how to translate options you give to GCC into options
|
||||
for GCC to pass to front ends..
|
||||
|
||||
Do not define this macro if it does not need to do anything.
|
||||
|
||||
@findex CC1PLUS_SPEC
|
||||
@item CC1PLUS_SPEC
|
||||
A C string constant that tells the GNU CC driver program options to
|
||||
A C string constant that tells the GCC driver program options to
|
||||
pass to @code{cc1plus}. It can also specify how to translate options you
|
||||
give to GNU CC into options for GNU CC to pass to the @code{cc1plus}.
|
||||
give to GCC into options for GCC to pass to the @code{cc1plus}.
|
||||
|
||||
Do not define this macro if it does not need to do anything.
|
||||
|
||||
@findex ASM_SPEC
|
||||
@item ASM_SPEC
|
||||
A C string constant that tells the GNU CC driver program options to
|
||||
A C string constant that tells the GCC driver program options to
|
||||
pass to the assembler. It can also specify how to translate options
|
||||
you give to GNU CC into options for GNU CC to pass to the assembler.
|
||||
you give to GCC into options for GCC to pass to the assembler.
|
||||
See the file @file{sun3.h} for an example of this.
|
||||
|
||||
Do not define this macro if it does not need to do anything.
|
||||
|
||||
@findex ASM_FINAL_SPEC
|
||||
@item ASM_FINAL_SPEC
|
||||
A C string constant that tells the GNU CC driver program how to
|
||||
A C string constant that tells the GCC driver program how to
|
||||
run any programs which cleanup after the normal assembler.
|
||||
Normally, this is not needed. See the file @file{mips.h} for
|
||||
an example of this.
|
||||
@ -172,9 +173,9 @@ Do not define this macro if it does not need to do anything.
|
||||
|
||||
@findex LINK_SPEC
|
||||
@item LINK_SPEC
|
||||
A C string constant that tells the GNU CC driver program options to
|
||||
A C string constant that tells the GCC driver program options to
|
||||
pass to the linker. It can also specify how to translate options you
|
||||
give to GNU CC into options for GNU CC to pass to the linker.
|
||||
give to GCC into options for GCC to pass to the linker.
|
||||
|
||||
Do not define this macro if it does not need to do anything.
|
||||
|
||||
@ -189,12 +190,12 @@ loads the standard C library from the usual place. See @file{gcc.c}.
|
||||
|
||||
@findex LIBGCC_SPEC
|
||||
@item LIBGCC_SPEC
|
||||
Another C string constant that tells the GNU CC driver program
|
||||
Another C string constant that tells the GCC driver program
|
||||
how and when to place a reference to @file{libgcc.a} into the
|
||||
linker command line. This constant is placed both before and after
|
||||
the value of @code{LIB_SPEC}.
|
||||
|
||||
If this macro is not defined, the GNU CC driver provides a default that
|
||||
If this macro is not defined, the GCC driver provides a default that
|
||||
passes the string @samp{-lgcc} to the linker unless the @samp{-shared}
|
||||
option is specified.
|
||||
|
||||
@ -643,7 +644,7 @@ generated code.
|
||||
@findex CAN_DEBUG_WITHOUT_FP
|
||||
@item CAN_DEBUG_WITHOUT_FP
|
||||
Define this macro if debugging can be performed even without a frame
|
||||
pointer. If this macro is defined, GNU CC will turn on the
|
||||
pointer. If this macro is defined, GCC will turn on the
|
||||
@samp{-fomit-frame-pointer} option whenever @samp{-O} is specified.
|
||||
@end table
|
||||
|
||||
@ -678,7 +679,7 @@ word has the lowest number. This macro need not be a constant.
|
||||
@item WORDS_BIG_ENDIAN
|
||||
Define this macro to have the value 1 if, in a multiword object, the
|
||||
most significant word has the lowest number. This applies to both
|
||||
memory locations and registers; GNU CC fundamentally assumes that the
|
||||
memory locations and registers; GCC fundamentally assumes that the
|
||||
order of words in memory is the same as the order in registers. This
|
||||
macro need not be a constant.
|
||||
|
||||
@ -834,7 +835,7 @@ structure fields only.
|
||||
@findex ADJUST_FIELD_ALIGN
|
||||
@item ADJUST_FIELD_ALIGN (@var{field}, @var{computed})
|
||||
An expression for the alignment of a structure field @var{field} if the
|
||||
alignment computed in the usual way is @var{computed}. GNU CC uses
|
||||
alignment computed in the usual way is @var{computed}. GCC uses
|
||||
this value instead of the value in @code{BIGGEST_ALIGNMENT} or
|
||||
@code{BIGGEST_FIELD_ALIGNMENT}, if defined, for structure fields only.
|
||||
|
||||
@ -941,7 +942,7 @@ Unless the machine has bitfield instructions or you define
|
||||
@code{STRUCTURE_SIZE_BOUNDARY} that way, you must define
|
||||
@code{PCC_BITFIELD_TYPE_MATTERS} to have a nonzero value.
|
||||
|
||||
If your aim is to make GNU CC use the same conventions for laying out
|
||||
If your aim is to make GCC use the same conventions for laying out
|
||||
bitfields as are used by another compiler, here is how to investigate
|
||||
what the other compiler does. Compile and run this program:
|
||||
|
||||
@ -1075,10 +1076,10 @@ machine and @code{HOST_FLOAT_WORDS_BIG_ENDIAN} for the host.
|
||||
|
||||
@findex DEFAULT_VTABLE_THUNKS
|
||||
@item DEFAULT_VTABLE_THUNKS
|
||||
GNU CC supports two ways of implementing C++ vtables: traditional or with
|
||||
GCC supports two ways of implementing C++ vtables: traditional or with
|
||||
so-called ``thunks''. The flag @samp{-fvtable-thunk} chooses between them.
|
||||
Define this macro to be a C expression for the default value of that flag.
|
||||
If @code{DEFAULT_VTABLE_THUNKS} is 0, GNU CC uses the traditional
|
||||
If @code{DEFAULT_VTABLE_THUNKS} is 0, GCC uses the traditional
|
||||
implementation by default. The ``thunk'' implementation is more efficient
|
||||
(especially if you have provided an implementation of
|
||||
@code{ASM_OUTPUT_MI_THUNK}, see @ref{Function Entry}), but is not binary
|
||||
@ -1445,7 +1446,7 @@ Registers are allocated in order.
|
||||
@findex REG_ALLOC_ORDER
|
||||
@item REG_ALLOC_ORDER
|
||||
If defined, an initializer for a vector of integers, containing the
|
||||
numbers of hard registers in the order in which GNU CC should prefer
|
||||
numbers of hard registers in the order in which GCC should prefer
|
||||
to use them (from most preferred to least).
|
||||
|
||||
If this macro is not defined, registers are used lowest numbered first
|
||||
@ -1580,7 +1581,7 @@ this macro to return zero unless some other mechanism ensures the
|
||||
accessibility of the value in a narrower mode.
|
||||
|
||||
You should define this macro to return nonzero in as many cases as
|
||||
possible since doing so will allow GNU CC to perform better register
|
||||
possible since doing so will allow GCC to perform better register
|
||||
allocation.
|
||||
|
||||
@findex AVOID_CCMODE_COPIES
|
||||
@ -1608,7 +1609,7 @@ function'' to mean a function that is suitable for this special
|
||||
handling, so that functions with no calls are not necessarily ``leaf
|
||||
functions''.
|
||||
|
||||
GNU CC assigns register numbers before it knows whether the function is
|
||||
GCC assigns register numbers before it knows whether the function is
|
||||
suitable for leaf function treatment. So it needs to renumber the
|
||||
registers in order to output a leaf function. The following macros
|
||||
accomplish this.
|
||||
@ -1622,7 +1623,7 @@ function treatment.
|
||||
|
||||
If leaf function treatment involves renumbering the registers, then the
|
||||
registers marked here should be the ones before renumbering---those that
|
||||
GNU CC would ordinarily allocate. The registers which will actually be
|
||||
GCC would ordinarily allocate. The registers which will actually be
|
||||
used in the assembler code, after renumbering, should not be marked with 1
|
||||
in this vector.
|
||||
|
||||
@ -1665,7 +1666,7 @@ There are special features to handle computers where some of the
|
||||
Stack registers are normally written by pushing onto the stack, and are
|
||||
numbered relative to the top of the stack.
|
||||
|
||||
Currently, GNU CC can only handle one group of stack-like registers, and
|
||||
Currently, GCC can only handle one group of stack-like registers, and
|
||||
they must be consecutively numbered.
|
||||
|
||||
@table @code
|
||||
@ -1700,7 +1701,7 @@ register number @var{regno} is an overlapping register. This means a
|
||||
hard register which overlaps a hard register with a different number.
|
||||
(Such overlap is undesirable, but occasionally it allows a machine to
|
||||
be supported which otherwise could not be.) This macro must return
|
||||
nonzero for @emph{all} the registers which overlap each other. GNU CC
|
||||
nonzero for @emph{all} the registers which overlap each other. GCC
|
||||
can use an overlapping register only in certain limited ways. It can
|
||||
be used for allocation within a basic block, and may be spilled for
|
||||
reloading; that is all.
|
||||
@ -2319,29 +2320,29 @@ debugging information like that provided by DWARF 2.
|
||||
@node Stack Checking
|
||||
@subsection Specifying How Stack Checking is Done
|
||||
|
||||
GNU CC will check that stack references are within the boundaries of
|
||||
GCC will check that stack references are within the boundaries of
|
||||
the stack, if the @samp{-fstack-check} is specified, in one of three ways:
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
If the value of the @code{STACK_CHECK_BUILTIN} macro is nonzero, GNU CC
|
||||
If the value of the @code{STACK_CHECK_BUILTIN} macro is nonzero, GCC
|
||||
will assume that you have arranged for stack checking to be done at
|
||||
appropriate places in the configuration files, e.g., in
|
||||
@code{FUNCTION_PROLOGUE}. GNU CC will do not other special processing.
|
||||
@code{FUNCTION_PROLOGUE}. GCC will do not other special processing.
|
||||
|
||||
@item
|
||||
If @code{STACK_CHECK_BUILTIN} is zero and you defined a named pattern
|
||||
called @code{check_stack} in your @file{md} file, GNU CC will call that
|
||||
called @code{check_stack} in your @file{md} file, GCC will call that
|
||||
pattern with one argument which is the address to compare the stack
|
||||
value against. You must arrange for this pattern to report an error if
|
||||
the stack pointer is out of range.
|
||||
|
||||
@item
|
||||
If neither of the above are true, GNU CC will generate code to periodically
|
||||
If neither of the above are true, GCC will generate code to periodically
|
||||
``probe'' the stack pointer using the values of the macros defined below.
|
||||
@end enumerate
|
||||
|
||||
Normally, you will use the default values of these macros, so GNU CC
|
||||
Normally, you will use the default values of these macros, so GCC
|
||||
will use the third approach.
|
||||
|
||||
@table @code
|
||||
@ -2350,20 +2351,20 @@ will use the third approach.
|
||||
A nonzero value if stack checking is done by the configuration files in a
|
||||
machine-dependent manner. You should define this macro if stack checking
|
||||
is require by the ABI of your machine or if you would like to have to stack
|
||||
checking in some more efficient way than GNU CC's portable approach.
|
||||
checking in some more efficient way than GCC's portable approach.
|
||||
The default value of this macro is zero.
|
||||
|
||||
@findex STACK_CHECK_PROBE_INTERVAL
|
||||
@item STACK_CHECK_PROBE_INTERVAL
|
||||
An integer representing the interval at which GNU CC must generate stack
|
||||
An integer representing the interval at which GCC must generate stack
|
||||
probe instructions. You will normally define this macro to be no larger
|
||||
than the size of the ``guard pages'' at the end of a stack area. The
|
||||
default value of 4096 is suitable for most systems.
|
||||
|
||||
@findex STACK_CHECK_PROBE_LOAD
|
||||
@item STACK_CHECK_PROBE_LOAD
|
||||
A integer which is nonzero if GNU CC should perform the stack probe
|
||||
as a load instruction and zero if GNU CC should use a store instruction.
|
||||
A integer which is nonzero if GCC should perform the stack probe
|
||||
as a load instruction and zero if GCC should use a store instruction.
|
||||
The default is zero, which is the most efficient choice on most systems.
|
||||
|
||||
@findex STACK_CHECK_PROTECT
|
||||
@ -2374,16 +2375,16 @@ for languages where such a recovery is supported. The default value of
|
||||
|
||||
@findex STACK_CHECK_MAX_FRAME_SIZE
|
||||
@item STACK_CHECK_MAX_FRAME_SIZE
|
||||
The maximum size of a stack frame, in bytes. GNU CC will generate probe
|
||||
The maximum size of a stack frame, in bytes. GCC will generate probe
|
||||
instructions in non-leaf functions to ensure at least this many bytes of
|
||||
stack are available. If a stack frame is larger than this size, stack
|
||||
checking will not be reliable and GNU CC will issue a warning. The
|
||||
default is chosen so that GNU CC only generates one instruction on most
|
||||
checking will not be reliable and GCC will issue a warning. The
|
||||
default is chosen so that GCC only generates one instruction on most
|
||||
systems. You should normally not change the default value of this macro.
|
||||
|
||||
@findex STACK_CHECK_FIXED_FRAME_SIZE
|
||||
@item STACK_CHECK_FIXED_FRAME_SIZE
|
||||
GNU CC uses this value to generate the above warning message. It
|
||||
GCC uses this value to generate the above warning message. It
|
||||
represents the amount of fixed frame used by a function, not including
|
||||
space for any callee-saved registers, temporaries and user variables.
|
||||
You need only specify an upper bound for this amount and will normally
|
||||
@ -2391,10 +2392,10 @@ use the default of four words.
|
||||
|
||||
@findex STACK_CHECK_MAX_VAR_SIZE
|
||||
@item STACK_CHECK_MAX_VAR_SIZE
|
||||
The maximum size, in bytes, of an object that GNU CC will place in the
|
||||
The maximum size, in bytes, of an object that GCC will place in the
|
||||
fixed area of the stack frame when the user specifies
|
||||
@samp{-fstack-check}.
|
||||
GNU CC computed the default from the values of the above macros and you will
|
||||
GCC computed the default from the values of the above macros and you will
|
||||
normally not need to override that default.
|
||||
@end table
|
||||
|
||||
@ -2621,7 +2622,7 @@ A C expression that is the number of bytes actually pushed onto the
|
||||
stack when an instruction attempts to push @var{npushed} bytes.
|
||||
|
||||
If the target machine does not have a push instruction, do not define
|
||||
this macro. That directs GNU CC to use an alternate strategy: to
|
||||
this macro. That directs GCC to use an alternate strategy: to
|
||||
allocate the entire argument block and then store the arguments into
|
||||
it.
|
||||
|
||||
@ -2660,7 +2661,7 @@ registers.
|
||||
|
||||
The value of this macro is the size, in bytes, of the area reserved for
|
||||
arguments passed in registers for the function represented by @var{fndecl},
|
||||
which can be zero if GNU CC is calling a library function.
|
||||
which can be zero if GCC is calling a library function.
|
||||
|
||||
This space can be allocated by the caller, or be a part of the
|
||||
machine-dependent stack frame: @code{OUTGOING_REG_PARM_STACK_SPACE} says
|
||||
@ -2693,7 +2694,7 @@ being called when it is known that such stack space must be allocated.
|
||||
In each case this value can be easily computed.
|
||||
|
||||
When deciding whether a called function needs such stack space, and how
|
||||
much space to reserve, GNU CC uses these two macros instead of
|
||||
much space to reserve, GCC uses these two macros instead of
|
||||
@code{REG_PARM_STACK_SPACE}.
|
||||
|
||||
@findex OUTGOING_REG_PARM_STACK_SPACE
|
||||
@ -2927,7 +2928,7 @@ finding the arguments for the function being compiled. If this macro is
|
||||
undefined, @code{INIT_CUMULATIVE_ARGS} is used instead.
|
||||
|
||||
The value passed for @var{libname} is always 0, since library routines
|
||||
with special calling conventions are never compiled with GNU CC. The
|
||||
with special calling conventions are never compiled with GCC. The
|
||||
argument @var{libname} exists for symmetry with
|
||||
@code{INIT_CUMULATIVE_ARGS}.
|
||||
@c could use "this macro" in place of @code{INIT_CUMULATIVE_ARGS}, maybe.
|
||||
@ -3183,7 +3184,7 @@ nothing when you use @samp{-freg-struct-return} mode.
|
||||
@node Caller Saves
|
||||
@subsection Caller-Saves Register Allocation
|
||||
|
||||
If you enable it, GNU CC can save registers around function calls. This
|
||||
If you enable it, GCC can save registers around function calls. This
|
||||
makes it possible to use call-clobbered registers to hold variables that
|
||||
must live across calls.
|
||||
|
||||
@ -3460,7 +3461,7 @@ by the number @var{labelno}, so you would generate the name using
|
||||
|
||||
@findex mcount
|
||||
The details of how the address should be passed to @code{mcount} are
|
||||
determined by your operating system environment, not by GNU CC. To
|
||||
determined by your operating system environment, not by GCC. To
|
||||
figure them out, compile a small program for profiling using the
|
||||
system's installed C compiler and look at the assembler code that
|
||||
results.
|
||||
@ -3643,7 +3644,7 @@ support block profiling.
|
||||
@section Implementing the Varargs Macros
|
||||
@cindex varargs implementation
|
||||
|
||||
GNU CC comes with an implementation of @file{varargs.h} and
|
||||
GCC comes with an implementation of @file{varargs.h} and
|
||||
@file{stdarg.h} that work without change on machines that pass arguments
|
||||
on the stack. Other machines require their own implementations of
|
||||
varargs, and the two machine independent header files must have
|
||||
@ -3809,7 +3810,7 @@ Otherwise, you should not define this macro.
|
||||
A @dfn{trampoline} is a small piece of code that is created at run time
|
||||
when the address of a nested function is taken. It normally resides on
|
||||
the stack, in the stack frame of the containing function. These macros
|
||||
tell GNU CC how to generate code to allocate and initialize a
|
||||
tell GCC how to generate code to allocate and initialize a
|
||||
trampoline.
|
||||
|
||||
The instructions in the trampoline must do two things: load a constant
|
||||
@ -3950,7 +3951,7 @@ its cache line. Look in @file{m68k.h} as a guide.
|
||||
@item TRANSFER_FROM_TRAMPOLINE
|
||||
Define this macro if trampolines need a special subroutine to do their
|
||||
work. The macro should expand to a series of @code{asm} statements
|
||||
which will be compiled with GNU CC. They go in a library function named
|
||||
which will be compiled with GCC. They go in a library function named
|
||||
@code{__transfer_from_trampoline}.
|
||||
|
||||
If you need to avoid executing the ordinary prologue code of a compiled
|
||||
@ -4059,7 +4060,7 @@ Most ports don't need to define this macro.
|
||||
@cindex @code{EDOM}, implicit usage
|
||||
@item TARGET_EDOM
|
||||
The value of @code{EDOM} on the target machine, as a C integer constant
|
||||
expression. If you don't define this macro, GNU CC does not attempt to
|
||||
expression. If you don't define this macro, GCC does not attempt to
|
||||
deposit the value of @code{EDOM} into @code{errno} directly. Look in
|
||||
@file{/usr/include/errno.h} to find the value of @code{EDOM} on your
|
||||
system.
|
||||
@ -4084,7 +4085,7 @@ macro, a reasonable default is used.
|
||||
@cindex @code{bzero}, implicit usage
|
||||
@cindex @code{memset}, implicit usage
|
||||
@item TARGET_MEM_FUNCTIONS
|
||||
Define this macro if GNU CC should generate calls to the System V
|
||||
Define this macro if GCC should generate calls to the System V
|
||||
(and ANSI C) library functions @code{memcpy} and @code{memset}
|
||||
rather than the BSD functions @code{bcopy} and @code{bzero}.
|
||||
|
||||
@ -4550,7 +4551,7 @@ and @var{op0} and @var{op1} are the left and right operands of the
|
||||
comparison, respectively. You should modify @var{code}, @var{op0}, and
|
||||
@var{op1} as required.
|
||||
|
||||
GNU CC will not assume that the comparison resulting from this macro is
|
||||
GCC will not assume that the comparison resulting from this macro is
|
||||
valid but will see if the resulting insn matches a pattern in the
|
||||
@file{md} file.
|
||||
|
||||
@ -4697,14 +4698,14 @@ is relative to those in @code{REGISTER_MOVE_COST}. If moving between
|
||||
registers and memory is more expensive than between two registers, you
|
||||
should define this macro to express the relative cost.
|
||||
|
||||
If you do not define this macro, GNU CC uses a default cost of 4 plus
|
||||
If you do not define this macro, GCC uses a default cost of 4 plus
|
||||
the cost of copying via a secondary reload register, if one is
|
||||
needed. If your machine requires a secondary reload register to copy
|
||||
between memory and a register of @var{class} but the reload mechanism is
|
||||
more complex than copying via an intermediate, define this macro to
|
||||
reflect the actual cost of the move.
|
||||
|
||||
GNU CC defines the function @code{memory_move_secondary_cost} if
|
||||
GCC defines the function @code{memory_move_secondary_cost} if
|
||||
secondary reloads are needed. It computes the costs due to copying via
|
||||
a secondary register. If your machine copies from memory using a
|
||||
secondary register in the conventional way but the default base value of
|
||||
@ -4719,7 +4720,7 @@ the default; other values are interpreted relative to that.
|
||||
@end table
|
||||
|
||||
Here are additional macros which do not specify precise relative costs,
|
||||
but only that certain actions are more expensive than GNU CC would
|
||||
but only that certain actions are more expensive than GCC would
|
||||
ordinarily expect.
|
||||
|
||||
@table @code
|
||||
@ -4930,7 +4931,7 @@ will be used.
|
||||
@item INIT_SECTION_ASM_OP
|
||||
If defined, a C expression whose value is a string containing the
|
||||
assembler operation to identify the following data as initialization
|
||||
code. If not defined, GNU CC will assume such a section does not
|
||||
code. If not defined, GCC will assume such a section does not
|
||||
exist.
|
||||
|
||||
@findex EXTRA_SECTIONS
|
||||
@ -5030,7 +5031,7 @@ unique sections.
|
||||
A C statement to build up a unique section name, expressed as a
|
||||
STRING_CST node, and assign it to @samp{DECL_SECTION_NAME (@var{decl})}.
|
||||
@var{reloc} indicates whether the initial value of @var{exp} requires
|
||||
link-time relocations. If you do not define this macro, GNU CC will use
|
||||
link-time relocations. If you do not define this macro, GCC will use
|
||||
the symbol name prefixed by @samp{.} as the section name.
|
||||
@end table
|
||||
|
||||
@ -5154,7 +5155,7 @@ see @file{attasm.h}.
|
||||
@findex ASM_IDENTIFY_GCC
|
||||
@item ASM_IDENTIFY_GCC (@var{file})
|
||||
A C statement to output assembler commands which will identify
|
||||
the object file as having been compiled with GNU CC (or another
|
||||
the object file as having been compiled with GCC (or another
|
||||
GNU compiler).
|
||||
|
||||
If you don't define this macro, the string @samp{gcc_compiled.:}
|
||||
@ -5201,7 +5202,7 @@ for the file format in use is appropriate.
|
||||
@item OUTPUT_QUOTED_STRING (@var{stream}, @var{name})
|
||||
A C statement to output the string @var{string} to the stdio stream
|
||||
@var{stream}. If you do not call the function @code{output_quoted_string}
|
||||
in your config files, GNU CC will only call it to output filenames to
|
||||
in your config files, GCC will only call it to output filenames to
|
||||
the assembler source. So you can use it to canonicalize the format
|
||||
of the filename using this macro.
|
||||
|
||||
@ -5312,10 +5313,10 @@ Berkeley Unix assembler, do not define the macro
|
||||
@findex CONSTANT_POOL_BEFORE_FUNCTION
|
||||
@item CONSTANT_POOL_BEFORE_FUNCTION
|
||||
You may define this macro as a C expression. You should define the
|
||||
expression to have a non-zero value if GNU CC should output the constant
|
||||
expression to have a non-zero value if GCC should output the constant
|
||||
pool for a function before the code for the function, or a zero value if
|
||||
GNU CC should output the constant pool after the function. If you do
|
||||
not define this macro, the usual case, GNU CC will output the constant
|
||||
GCC should output the constant pool after the function. If you do
|
||||
not define this macro, the usual case, GCC will output the constant
|
||||
pool before the function.
|
||||
|
||||
@findex ASM_OUTPUT_POOL_PROLOGUE
|
||||
@ -5371,7 +5372,7 @@ A C statement to output assembler commands to at the end of the constant
|
||||
pool for a function. @var{funname} is a string giving the name of the
|
||||
function. Should the return type of the function be required, you can
|
||||
obtain it via @var{fundecl}. @var{size} is the size, in bytes, of the
|
||||
constant pool that GNU CC wrote immediately before this call.
|
||||
constant pool that GCC wrote immediately before this call.
|
||||
|
||||
If no constant-pool epilogue is required, the usual case, you need not
|
||||
define this macro.
|
||||
@ -5465,7 +5466,7 @@ as the number of bits.
|
||||
@item ASM_OUTPUT_ALIGNED_DECL_COMMON (@var{stream}, @var{decl}, @var{name}, @var{size}, @var{alignment})
|
||||
Like @code{ASM_OUTPUT_ALIGNED_COMMON} except that @var{decl} of the
|
||||
variable to be output, if there is one, or @code{NULL_TREE} if there
|
||||
is not corresponding variable. If you define this macro, GNU CC wil use it
|
||||
is not corresponding variable. If you define this macro, GCC wil use it
|
||||
in place of both @code{ASM_OUTPUT_COMMON} and
|
||||
@code{ASM_OUTPUT_ALIGNED_COMMON}. Define this macro when you need to see
|
||||
the variable's decl in order to chose what to output.
|
||||
@ -5540,7 +5541,7 @@ as the number of bits.
|
||||
@item ASM_OUTPUT_ALIGNED_DECL_LOCAL (@var{stream}, @var{decl}, @var{name}, @var{size}, @var{alignment})
|
||||
Like @code{ASM_OUTPUT_ALIGNED_DECL} except that @var{decl} of the
|
||||
variable to be output, if there is one, or @code{NULL_TREE} if there
|
||||
is not corresponding variable. If you define this macro, GNU CC wil use it
|
||||
is not corresponding variable. If you define this macro, GCC wil use it
|
||||
in place of both @code{ASM_OUTPUT_DECL} and
|
||||
@code{ASM_OUTPUT_ALIGNED_DECL}. Define this macro when you need to see
|
||||
the variable's decl in order to chose what to output.
|
||||
@ -5641,7 +5642,7 @@ no other definition is available. Use the expression
|
||||
itself; before and after that, output the additional assembler syntax
|
||||
for making that name weak, and a newline.
|
||||
|
||||
If you don't define this macro, GNU CC will not support weak
|
||||
If you don't define this macro, GCC will not support weak
|
||||
symbols and you should not define the @code{SUPPORTS_WEAK} macro.
|
||||
|
||||
@findex SUPPORTS_WEAK
|
||||
@ -5790,7 +5791,7 @@ the tree nodes are available.
|
||||
A C statement to output to the stdio stream @var{stream} assembler code
|
||||
which defines (equates) the symbol @var{symbol} to have a value equal to
|
||||
the difference of the two symbols @var{high} and @var{low}, i.e.
|
||||
@var{high} minus @var{low}. GNU CC guarantees that the symbols @var{high}
|
||||
@var{high} minus @var{low}. GCC guarantees that the symbols @var{high}
|
||||
and @var{low} are already known by the assembler so that the difference
|
||||
resolves into a constant.
|
||||
|
||||
@ -5940,7 +5941,7 @@ this case, @code{ASM_OUTPUT_CONSTRUCTOR} does not produce an
|
||||
@code{N_SETT} symbol; initialization and termination functions are
|
||||
recognized simply by their names. This requires an extra program in the
|
||||
linkage step, called @code{collect2}. This program pretends to be the
|
||||
linker, for use with GNU CC; it does its job by running the ordinary
|
||||
linker, for use with GCC; it does its job by running the ordinary
|
||||
linker, but also arranges to include the vectors of initialization and
|
||||
termination functions. These functions are called via @code{__main} as
|
||||
described above.
|
||||
@ -5983,7 +5984,7 @@ and termination functions:
|
||||
@findex INIT_SECTION_ASM_OP
|
||||
@item INIT_SECTION_ASM_OP
|
||||
If defined, a C string constant for the assembler operation to identify
|
||||
the following data as initialization code. If not defined, GNU CC will
|
||||
the following data as initialization code. If not defined, GCC will
|
||||
assume such a section does not exist. When you are using special
|
||||
sections for initialization and termination functions, this macro also
|
||||
controls how @file{crtstuff.c} and @file{libgcc2.c} arrange to run the
|
||||
@ -6408,7 +6409,7 @@ or @samp{-fPIC} is in effect, the @code{data_section}, otherwise the
|
||||
@item EH_FRAME_SECTION_ASM_OP
|
||||
If defined, a C string constant for the assembler operation to switch to
|
||||
the section for exception handling frame unwind information. If not
|
||||
defined, GNU CC will provide a default definition if the target supports
|
||||
defined, GCC will provide a default definition if the target supports
|
||||
named sections. @file{crtstuff.c} uses this macro to switch to the
|
||||
appropriate section.
|
||||
|
||||
@ -6550,7 +6551,7 @@ registers that the compiler knows about and DBX does not, or vice
|
||||
versa. In such cases, some register may need to have one number in
|
||||
the compiler and another for DBX.
|
||||
|
||||
If two registers have consecutive numbers inside GNU CC, and they can be
|
||||
If two registers have consecutive numbers inside GCC, and they can be
|
||||
used as a pair to hold a multiword value, then they @emph{must} have
|
||||
consecutive numbers after renumbering with @code{DBX_REGISTER_NUMBER}.
|
||||
Otherwise, debuggers will be unable to access such a pair, because they
|
||||
@ -6578,19 +6579,19 @@ having address @var{x} (an RTL expression). The nominal offset is
|
||||
|
||||
@findex PREFERRED_DEBUGGING_TYPE
|
||||
@item PREFERRED_DEBUGGING_TYPE
|
||||
A C expression that returns the type of debugging output GNU CC should
|
||||
A C expression that returns the type of debugging output GCC should
|
||||
produce when the user specifies just @samp{-g}. Define
|
||||
this if you have arranged for GNU CC to support more than one format of
|
||||
this if you have arranged for GCC to support more than one format of
|
||||
debugging output. Currently, the allowable values are @code{DBX_DEBUG},
|
||||
@code{SDB_DEBUG}, @code{DWARF_DEBUG}, @code{DWARF2_DEBUG}, and
|
||||
@code{XCOFF_DEBUG}.
|
||||
|
||||
When the user specifies @samp{-ggdb}, GNU CC normally also uses the
|
||||
When the user specifies @samp{-ggdb}, GCC normally also uses the
|
||||
value of this macro to select the debugging output format, but with two
|
||||
exceptions. If @code{DWARF2_DEBUGGING_INFO} is defined and
|
||||
@code{LINKER_DOES_NOT_WORK_WITH_DWARF2} is not defined, GNU CC uses the
|
||||
@code{LINKER_DOES_NOT_WORK_WITH_DWARF2} is not defined, GCC uses the
|
||||
value @code{DWARF2_DEBUG}. Otherwise, if @code{DBX_DEBUGGING_INFO} is
|
||||
defined, GNU CC uses @code{DBX_DEBUG}.
|
||||
defined, GCC uses @code{DBX_DEBUG}.
|
||||
|
||||
The value of this macro only affects the default debugging output; the
|
||||
user can always get a specific type of output by using @samp{-gstabs},
|
||||
@ -6606,17 +6607,17 @@ These are specific options for DBX output.
|
||||
@table @code
|
||||
@findex DBX_DEBUGGING_INFO
|
||||
@item DBX_DEBUGGING_INFO
|
||||
Define this macro if GNU CC should produce debugging output for DBX
|
||||
Define this macro if GCC should produce debugging output for DBX
|
||||
in response to the @samp{-g} option.
|
||||
|
||||
@findex XCOFF_DEBUGGING_INFO
|
||||
@item XCOFF_DEBUGGING_INFO
|
||||
Define this macro if GNU CC should produce XCOFF format debugging output
|
||||
Define this macro if GCC should produce XCOFF format debugging output
|
||||
in response to the @samp{-g} option. This is a variant of DBX format.
|
||||
|
||||
@findex DEFAULT_GDB_EXTENSIONS
|
||||
@item DEFAULT_GDB_EXTENSIONS
|
||||
Define this macro to control whether GNU CC should by default generate
|
||||
Define this macro to control whether GCC should by default generate
|
||||
GDB's extended version of DBX debugging information (assuming DBX-format
|
||||
debugging information is enabled at all). If you don't define the
|
||||
macro, the default is 1: always generate the extended information
|
||||
@ -6902,17 +6903,17 @@ Here are macros for SDB and DWARF output.
|
||||
@table @code
|
||||
@findex SDB_DEBUGGING_INFO
|
||||
@item SDB_DEBUGGING_INFO
|
||||
Define this macro if GNU CC should produce COFF-style debugging output
|
||||
Define this macro if GCC should produce COFF-style debugging output
|
||||
for SDB in response to the @samp{-g} option.
|
||||
|
||||
@findex DWARF_DEBUGGING_INFO
|
||||
@item DWARF_DEBUGGING_INFO
|
||||
Define this macro if GNU CC should produce dwarf format debugging output
|
||||
Define this macro if GCC should produce dwarf format debugging output
|
||||
in response to the @samp{-g} option.
|
||||
|
||||
@findex DWARF2_DEBUGGING_INFO
|
||||
@item DWARF2_DEBUGGING_INFO
|
||||
Define this macro if GNU CC should produce dwarf version 2 format
|
||||
Define this macro if GCC should produce dwarf version 2 format
|
||||
debugging output in response to the @samp{-g} option.
|
||||
|
||||
To support optional call frame debugging information, you must also
|
||||
@ -6923,15 +6924,15 @@ as appropriate from @code{FUNCTION_PROLOGUE} if you don't.
|
||||
|
||||
@findex DWARF2_FRAME_INFO
|
||||
@item DWARF2_FRAME_INFO
|
||||
Define this macro to a nonzero value if GNU CC should always output
|
||||
Define this macro to a nonzero value if GCC should always output
|
||||
Dwarf 2 frame information. If @code{DWARF2_UNWIND_INFO}
|
||||
(@pxref{Exception Region Output} is nonzero, GNU CC will output this
|
||||
(@pxref{Exception Region Output} is nonzero, GCC will output this
|
||||
information not matter how you define @code{DWARF2_FRAME_INFO}.
|
||||
|
||||
@findex LINKER_DOES_NOT_WORK_WITH_DWARF2
|
||||
@item LINKER_DOES_NOT_WORK_WITH_DWARF2
|
||||
Define this macro if the linker does not work with Dwarf version 2.
|
||||
Normally, if the user specifies only @samp{-ggdb} GNU CC will use Dwarf
|
||||
Normally, if the user specifies only @samp{-ggdb} GCC will use Dwarf
|
||||
version 2 if available; this macro disables this. See the description
|
||||
of the @code{PREFERRED_DEBUGGING_TYPE} macro for more details.
|
||||
|
||||
@ -7366,7 +7367,7 @@ tested into the sign bit.
|
||||
There is no way to describe a machine that always sets the low-order bit
|
||||
for a true value, but does not guarantee the value of any other bits,
|
||||
but we do not know of any machine that has such an instruction. If you
|
||||
are trying to port GNU CC to such a machine, include an instruction to
|
||||
are trying to port GCC to such a machine, include an instruction to
|
||||
perform a logical-and of the result with 1 in the pattern for the
|
||||
comparison operators and let us know
|
||||
@ifset USING
|
||||
@ -7640,7 +7641,7 @@ only needed if neither @code{HAVE_ATEXIT} nor
|
||||
Define this macro as a C expression that is nonzero if it is safe for the
|
||||
delay slot scheduler to place instructions in the delay slot of @var{insn},
|
||||
even if they appear to use a resource set or clobbered in @var{insn}.
|
||||
@var{insn} is always a @code{jump_insn} or an @code{insn}; GNU CC knows that
|
||||
@var{insn} is always a @code{jump_insn} or an @code{insn}; GCC knows that
|
||||
every @code{call_insn} has this behavior. On machines where some @code{insn}
|
||||
or @code{jump_insn} is really a function call and hence has this behavior,
|
||||
you should define this macro.
|
||||
|
Loading…
x
Reference in New Issue
Block a user