Lines Matching refs:linker
8 * Ld-Internals: (ldint). The GNU linker internals.
13 This file documents the internals of the GNU linker ld.
42 @title{A guide to the internals of the GNU linker}
73 This file documents the internals of the GNU linker @code{ld}. It is a
84 * Emulations:: How linker emulations are generated
97 @chapter How linker emulations are generated
99 Each linker target has an @dfn{emulation}. The emulation includes the
100 default linker script, and certain emulations also modify certain types
101 of linker behaviour.
112 @file{scripttempl} directory in order to create default linker scripts
113 written in the linker command language. The @file{scripttempl} script
121 This C code permits the linker emulation to override various linker
126 emulation parameters script in the @file{emulparams} directory, a linker
131 For example, the Sun 4 linker sets up variables in
132 @file{emulparams/sun4.sh}, creates linker scripts using
136 Note that the linker can support several emulations simultaneously,
143 * linker scripts:: @file{scripttempl} scripts
144 * linker emulations:: @file{emultempl} scripts
192 script. @ref{linker scripts}.
197 use it in an @code{OUTPUT_FORMAT} expression in the linker script.
202 @code{OUTPUT_ARCH} expression in the linker script.
206 @code{ENTRY} expression in the linker script.
225 @node linker scripts
228 Each linker target uses a @file{scripttempl} script to generate the
229 default linker scripts. The name of the @file{scripttempl} script is
236 @code{LD_FLAG} to a different value. When the linker is run, the
241 The @file{scripttempl} script should just write a linker script, written
242 in the linker command language, to standard output. If the emulation
256 The script generated is used when the linker is invoked with the
259 The script generated is used when the linker is invoked with the
262 The script generated is used when the linker is invoked with the
265 The script generated is used when the linker is invoked with the
271 this script at the appropriate time, normally when the linker is invoked
279 time, normally when the linker is invoked with the @code{-z combreloc}
288 appropriate time, normally when the linker is invoked with the @code{-shared
294 use this script at the appropriate time, normally when the linker is
305 This will be set to a non-empty string when the linker is doing a final
309 This will be set to a non-empty string when the linker is building
327 set a few shell variables, and then write out a linker script using
328 @code{cat} with a here document. The linker script will use variable
345 The basic job of the linker script is to put the sections in the correct
347 linker script may have to do some other operations.
349 For example, on most MIPS platforms, the linker is responsible for
361 Many COFF systems build constructor tables in the linker script. The
387 The use of @code{CONSTRUCTING} ensures that these linker script commands
388 will only appear when the linker is supposed to be building the
402 @node linker emulations
405 Each linker target uses an @file{emultempl} script to generate the
414 only needed if the linker must support unusual actions, such as linking
421 the linker supports multiple emulations.
433 It defines a set of function pointers which are invoked by the linker,
442 include the linker scripts directly, and return them from the
447 At some point, the linker emulation entry points should be documented.
453 interact with the linker, or who are suddenly thrust into the position
460 The starting point for the linker is in @file{ldmain.c} where
504 the linker to link a file it doesn't recognize. It will call
628 compiler/linker.
685 it is done even by native compiler/linker (libth32's functions are in