Lines Matching +refs:dwarf +refs:file
5 @c For copying conditions, see the file gcc.texi.
12 @cindex @file{tm.h} macros
14 In addition to the file @file{@var{machine}.md}, a machine description
15 includes a C header file conventionally given the name
16 @file{@var{machine}.h} and a C source file named @file{@var{machine}.c}.
17 The header file defines numerous macros that convey the information
19 @file{.md} file. The file @file{tm.h} should be a link to
20 @file{@var{machine}.h}. The header file @file{config.h} includes
21 @file{tm.h} and most compiler source files include @file{config.h}. The
22 source file defines a variable @code{targetm}, which is a structure
24 machine. @file{@var{machine}.c} should also contain their definitions,
26 through the macros defined in the @file{.h} file.
68 The target @file{.c} file must define the global @code{targetm} variable
70 machine. The variable is declared in @file{target.h};
71 @file{target-def.h} defines the macro @code{TARGET_INITIALIZER} which is
73 for elements of the structure. The @file{.c} file should override those
88 Where a macro should be defined in the @file{.c} file in this manner to
91 from being defined in the @file{.h} file to being part of the
96 Target Hook''. This is declared in @file{c-family/c-target.h}, the
98 @file{c-family/c-target-def.h}. If targets initialize @code{targetcm}
100 @file{config.gcc}; otherwise a default definition is used.
105 @file{common/common-target.h}, the initializer
107 @file{common/common-target-def.h}. If targets initialize
109 @code{target_has_targetm_common=yes} in @file{config.gcc}; otherwise a
113 @section Controlling the Compilation Driver, @file{gcc}
125 default @file{specs} files (but not command-line specified ones) and
145 the code in @file{config.gcc} for the target. The second item is a spec
151 default @file{specs} files and processing @code{DRIVER_SELF_SPECS}, using
196 See the file @file{sun3.h} for an example of this.
204 Normally, this is not needed. See the file @file{mips.h} for
215 @option{-o} option specifying the name of the output file.
220 see @file{mips.h} for instance.
237 loads the standard C library from the usual place. See @file{gcc.c}.
242 how and when to place a reference to @file{libgcc.a} into the
253 instead modified to refer to different versions of @file{libgcc.a}
258 driver how to place a reference to @file{libgcc} on the link command
283 standard C startup file from the usual place. See @file{gcc.c}.
301 @code{thread_file} set in @file{config.gcc}.
319 @file{specs} file that can be used in various specifications like
338 The @file{config/rs6000/rs6000.h} target file defines:
347 The @file{config/rs6000/sysv.h} target file defines:
360 while the @file{config/rs6000/eabiaix.h} target file defines
371 @file{libgcc.a}. If you do not define this macro, the driver program will pass
383 change is made to the link command line within @file{gcc.c}. Therefore,
413 indicates an absolute file name.
421 to the list of directories used to find the assembler in @file{configure.in}.
427 try when searching for startup files such as @file{crt0.o}.
435 when searching for startup files such as @file{crt0.o}.
443 default prefix when searching for startup files such as @file{crt0.o}.
469 standard choice of @file{/usr/local/include} as the default prefix to
472 @file{config.gcc}, normally @file{/usr/include}) in the search order.
474 Cross compilers do not search either @file{/usr/local/include} or its
490 and @code{GCC_INCLUDE_DIR} are defined automatically by @file{Makefile},
502 The component name denotes what GNU package the include file is part of,
540 The location @file{/usr/libexec/gcc/}, but only if this is a native compiler.
543 The location @file{/usr/lib/gcc/}, but only if this is a native compiler.
569 The location @file{/usr/lib/gcc/}, but only if this is a native compiler.
591 @file{/lib/}.
596 @file{/usr/lib/}.
651 and is used for the target object format. @file{elfos.h} uses this
657 This variable is declared in @file{options.h}, which is included before
671 target-specific options described by the @file{.opt} definition files
685 target-specific C language family options described by the @file{.opt}
756 switching between them; see @file{target-globals.h} for details.
1045 Biggest alignment supported by the object file format of this machine.
1050 On systems that use ELF, the default (in @file{config/elfos.h}) is
1326 Defining this macro only affects the way @file{libgcc.a} emulates
1337 Defining this macro only affects the way @file{libgcc.a} emulates
1413 @code{write_builtin_type} in @file{cp/mangle.c} for the list of
1546 if you want routines in @file{libgcc2.a} for a size other than
1554 @code{DFmode} but you want @code{DFmode} routines in @file{libgcc2.a}
1562 @code{XFmode} but you want @code{XFmode} routines in @file{libgcc2.a}
1569 @code{TFmode} but you want @code{TFmode} routines in @file{libgcc2.a}
1579 uses this macro should also arrange to use @file{t-gnu-prefix} in
1580 the libgcc @file{config.host}.
1589 if the defaults in @file{libgcc2.h} are inappropriate. By default,
1598 A C expression for the value for @code{FLT_EVAL_METHOD} in @file{float.h},
1637 @code{init_decl_processing} in the file @file{c-decl.c}. You may not
2272 @file{reg-stack.c} and write your machine description to cooperate
2399 for the type @code{HARD_REG_SET} which is defined in @file{hard-reg-set.h}.
2629 that being copied. Special patterns in the md file are needed to
2656 in the md file which performs the move. Operands 0 and 1 are the output
2792 suppress that widening in some cases. See the file @file{alpha.h} for
2808 if pseudos allocated by @file{local-alloc.c} end up in memory because their
2811 @file{global.c}, which knows how to reallocate the pseudo to another
2856 register. Therefore, @file{alpha.h} defines @code{CANNOT_CHANGE_MODE_CLASS}
2885 for the md file, so you can also use this macro to help you while you are
2888 will complain about every instance where it is used in the md file.
3125 machines. See @file{function.c} for details.
3364 as found in @file{dwarf2.h}.
3370 @defmac ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX (@var{file}, @var{encoding}, @var{size}, @var{addr}, @var…
3389 @file{unwind-dw2.c}, @file{unwind-dw2-xtensa.c} and
3390 @file{unwind-ia64.c}. @var{context} is an @code{_Unwind_Context};
3399 @code{MAKE_THROW_FRAME}, defined in @file{libjava/include/*-signal.h} headers.
3407 This macro is called from @code{uw_update_context} in @file{unwind-ia64.c}.
3669 Define this macro if the target's representation for dwarf registers
3671 Given a dwarf register, this macro should return the internal unwind
3679 Define this macro if the target's representation for dwarf registers
4010 @cindex @file{stdarg.h} and register arguments
4011 The usual way to make the ISO library @file{stdarg.h} work on a
4030 solely in registers. The file @file{expr.h} defines a
4031 definition that is usually appropriate, refer to @file{expr.h} for additional
4301 code in @file{optabs.c}.
4605 local variables. @var{size} is an integer. @var{file} is a stdio
4854 @defmac FUNCTION_PROFILER (@var{file}, @var{labelno})
4855 A C statement or compound statement to output to @var{file} some
4871 A C statement or compound statement to output to @var{file} some assembly
4929 @samp{__stack_chk_guard}, which is normally defined in @file{libgcc2.c}.
4939 normally defined in @file{libgcc2.c}.
4974 found in @file{libgcc2.c}.
5006 The file @file{typeclass.h} defines an enumeration that you can use to
5050 end of the source file. The hook @code{TARGET_SETUP_INCOMING_VARARGS} should
5188 its cache line. Look in @file{m68k.h} as a guide.
5207 @cindex @file{libgcc.a}
5224 @code{init_one_libfunc} defined in @file{optabs.c}.
5251 in @file{libgcc.a}, you do not need to define this macro.
5260 @file{/usr/include/errno.h} to find the value of @code{EDOM} on your
5443 or to provide a simplified version of @var{x} from which @file{alias.c}
5445 @code{find_base_value} and @code{find_base_term} in @file{alias.c}.
5850 The file @file{conditions.h} defines a variable @code{cc_status} to
5857 description header file. It can also add additional machine-specific
5910 two places, the @file{md} file and in @code{NOTICE_UPDATE_CC}.
5931 @file{@var{machine}-modes.def} and define @code{SELECT_CC_MODE} to choose
5967 in @file{@var{machine}-modes.def}.
5984 @file{md} file.
6454 @var{file} is either a null pointer, or a stdio stream to write any
6487 @var{file} is either a null pointer, or a stdio stream to write any
6523 instructions that are to be scheduled. @var{file} is either a null
6534 cleanup of any actions done by the other scheduling hooks. @var{file}
6542 @var{file} is either a null pointer, or a stdio stream to write any debug output to.
6549 @var{file} is either a null pointer, or a stdio stream to write any debug output to.
6664 start as usually. @var{dump} and @var{verbose} specify the file and
6796 An object file is divided into sections containing different types of
6803 @file{varasm.c} provides several well-known sections, such as
6807 as described below. The macros are only read once, when @file{varasm.c}
6811 @emph{Note:} Some run-time files, such @file{crtstuff.c}, also make
6827 All the other @file{varasm.c} sections are optional, and are null
6928 the text section. This is used in @file{crtstuff.c} if
6968 @file{varasm.c} sections, or if your target has some special sections
7091 in @file{varasm.c}, sets a number of commonly-useful bits in
7121 currently supported object file formats.
7183 * File Framework:: Structural information for the assembler file.
7204 This describes the overall framework of an assembly file.
7209 find at the beginning of a file. The default behavior is controlled
7218 printed as the very first line in the assembly file, unless
7232 for the primary source file, immediately after printing
7239 to find at the end of a file. The default is to output nothing.
7244 special section, to indicate whether or not an object file relies on
7265 unwind info and debug info at the end of a file. Some targets emit
7266 here PIC setup thunks that cannot be emitted at the end of file,
7294 which indicates that filename @var{name} is the current source file to
7298 for the file format in use is appropriate.
7312 A C statement to output something to the assembler file to handle a
7320 of the @code{SECTION_*} flags defined in @file{output.h}. If @var{decl}
7402 section in the assembler output file. The name of the new section is
7453 can't deal with, and output assembly code to @var{file} corresponding to
7489 @defmac ASM_OUTPUT_POOL_PROLOGUE (@var{file}, @var{funname}, @var{fundecl}, @var{size})
7501 @defmac ASM_OUTPUT_SPECIAL_POOL_ENTRY (@var{file}, @var{x}, @var{mode}, @var{align}, @var{labelno},…
7506 The argument @var{file} is the standard I/O stream to output the
7519 @code{(*targetm.asm_out.internal_label)} (@var{file}, "LC", @var{labelno});
7529 @defmac ASM_OUTPUT_POOL_EPILOGUE (@var{file} @var{funname} @var{fundecl} @var{size})
7556 These macros are provided by @file{real.h} for writing the definitions
7631 Try to use function @code{asm_output_aligned_bss} defined in file
7632 @file{varasm.c} when defining this macro. If unable, use the expression
7646 common in order to save space in the object file.
7720 default (in @file{config/elfos.h}) is @samp{"\t.size\t"}; on other
7755 default (in @file{config/elfos.h}) is @samp{"\t.type\t"}; on other
7767 default (in @file{config/elfos.h}) is @samp{"@@%s"}; on other systems,
7830 A target hook to output to the stdio stream @var{file} any text necessary
7917 If you don't define this macro, @file{defaults.h} provides a default
7925 If you don't define this macro, @file{defaults.h} provides a default
7934 be discarded by the linker. Define this macro if your object file
7944 If you don't define this macro, @file{varasm.c} provides a default
8037 object file. Most assemblers have a naming convention for labels that
8202 Depending on the operating system and its executable file format, either
8203 @file{crtstuff.c} or @file{libgcc2.c} traverses these lists at startup
8207 The best way to handle static constructors works only for object file
8211 object file that defines an initialization function also puts a word in
8216 This method will be chosen as the default by @file{target-def.h} if
8223 upon how the code in @file{crtstuff.c} is called. On systems that
8225 parts of @file{crtstuff.c} are compiled into that section. The
8233 section of @file{crti.o}; the epilogue appears in @file{crtn.o}. Likewise
8238 The objects @file{crtbegin.o} and @file{crtend.o} are (for most targets)
8239 compiled from @file{crtstuff.c}. They contain, among other things, code
8253 in @file{libgcc2.c} and runs the global constructors.
8255 In file formats that don't support arbitrary sections, there are again
8272 file formats which the GNU linker does not support, such as `ECOFF'@. In
8280 @code{use_collect2} must be defined in the target in @file{config.gcc}.
8298 macro also controls how @file{crtstuff.c} and @file{libgcc2.c} arrange to
8380 generated for the generated object file will have static linkage.
8384 an object file for constructor functions to be called.
8399 Define this macro as a C string constant containing the file name to use
8514 file of instruction patterns; by defining this macro differently, you
8583 @defmac DBR_OUTPUT_SEQEND (@var{file})
8610 @file{final.c}). These are useful when a single @file{md} file must
8611 support multiple assembler formats. In that case, the various @file{tm.h}
8615 @defmac ASM_FPRINTF_EXTENSIONS (@var{file}, @var{argptr}, @var{format})
8622 specific code. The output file is given by the parameter @var{file}.
8783 @file{crtstuff.c} uses this macro to switch to the appropriate section.
9028 * File Names and DBX:: Macros controlling output of file names in DBX format.
9221 macro also directs GCC to output a type number as a pair of a file
9222 number and a type number within the file. Normally, GCC does not
9251 number @var{line} of the current source file to the stdio stream
9277 This describes file names in DBX format.
9281 @var{stream}, which indicates that file @var{name} is the main source
9282 file---the file specified as the input file for compilation.
9297 the beginning of the file.
9302 that this object file was compiled by GCC@. The default is to emit
9303 an @code{N_OPT} stab at the beginning of every source file, with
9309 compilation of the main source file @var{name}. Output should be
9320 whose value is the highest absolute text address in the file.
9336 Define this macro if GCC should produce dwarf version 2 format
9340 Define this to enable the dwarf attribute @code{DW_AT_calling_convention} to
9423 SDB assembler directives. See @file{sdbout.c} for a list of these
9451 number @var{line} of the current source file to the stdio stream
9490 The following macros are provided by @file{real.h} for the compiler to
9674 be documented in @file{extend.texi}.
9678 attribute_spec} (defined in @file{tree.h}) specifying the machine
9732 @samp{dllexport} attributes. This is done in @file{i386/cygwin.h} and
9733 @file{i386/i386.c}, for example.
9784 @xref{Option file format}.
9956 This hook checks whether the options used to create a PCH file are
9962 when the PCH file was created and @var{sz} is the size of that data in bytes.
9974 @code{target_flags} had when the PCH file was created. The return
10312 such machines. Instead, add patterns to the @file{md} file that include
10477 @file{rs6000.md} for some examples. The GNU Superoptimizer can be used to
10569 C++, which is to pretend that the file's contents are enclosed in
10623 target entry in the @file{config.gcc} file. These variables should name
10624 the target-specific, language-specific object file which contains the
10627 how to build this object file.
10708 @code{tree_overlaps_hard_reg_set}, declared in @file{tree.h}, to test
10730 Define this macro if the target supports the following POSIX@ file
10731 functions, access, mkdir and file locking with fcntl / F_SETLKW@.
10733 to use file locking when exiting a program, which avoids race conditions
11190 to the functions in @file{libgcc} that provide low-level support for
11191 call stack unwinding. It is used in declarations in @file{unwind-generic.h}