From: Alan Modra Date: Thu, 10 Jan 2008 01:12:56 +0000 (+0000) Subject: * ld.texinfo (--gc-sections): Describe linker behaviour. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d5465ba2e1ed7e45ddd9e9cc2ba64d98afcb0fa7;p=binutils-gdb.git * ld.texinfo (--gc-sections): Describe linker behaviour. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index ccb34b71ef5..359624ed346 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,7 @@ +2008-01-10 Alan Modra + + * ld.texinfo (--gc-sections): Describe linker behaviour. + For older changes see ChangeLog-2007 Local Variables: diff --git a/ld/ld.texinfo b/ld/ld.texinfo index 4d687e2626a..7cbc26ab0ab 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -1285,6 +1285,16 @@ with @samp{-r} or @samp{--emit-relocs}. The default behaviour (of not performing this garbage collection) can be restored by specifying @samp{--no-gc-sections} on the command line. +@samp{--gc-sections} decides which input sections are used by +examining symbols and relocations. The section containing the entry +symbol and all sections containing symbols undefined on the +command-line will be kept, as will sections containing symbols +referenced by dynamic objects. Note that when building shared +libraries, the linker must assume that any visible symbol is +referenced. Once this initial set of sections has been determined, +the linker recursively marks as used any section referenced by their +relocations. See @samp{--entry} and @samp{--undefined}. + @kindex --print-gc-sections @kindex --no-print-gc-sections @cindex garbage collection