aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog4
-rw-r--r--ld/ld.texinfo10
2 files changed, 14 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index ccb34b7..359624e 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,7 @@
+2008-01-10 Alan Modra <amodra@bigpond.net.au>
+
+ * 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 4d687e2..7cbc26a 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