From 41911f68522e3043ab6f32594eea32cdd8581a14 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 21 May 2008 10:59:12 +0000 Subject: [PATCH] PR ld/6430 * ld.texinfo (--sort-common): Correct documentation to indicate that sorting is performed by alignment, not size, biggest alignment first. --- ld/ChangeLog | 7 +++++++ ld/NEWS | 8 +++++--- ld/ld.texinfo | 18 +++++++++++++----- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index b1c57f1..884cc96 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2008-05-21 Evandro Menezes + + PR ld/6430 + * ld.texinfo (--sort-common): Correct documentation to indicate + that sorting is performed by alignment, not size, biggest + alignment first. + 2008-05-21 Christophe Lyon Nick Clifton diff --git a/ld/NEWS b/ld/NEWS index f28d514..8c56d4e 100644 --- a/ld/NEWS +++ b/ld/NEWS @@ -298,9 +298,11 @@ Changes in version 2.7: Changes in version 2.6: * When an ELF section name is representable as a C identifier (this is not true -of most ELF section names), the linker will automatically define symbols -__start_SECNAME and __stop_SECNAME, where SECNAME is the section name, at the -beginning and the end of the section. This is used by glibc. + of most ELF section names), *and* the section is not explicitly handled by + the linker script (ie it is an orphaned section) then the linker will + automatically PROVIDE symbols __start_SECNAME and __stop_SECNAME, where + SECNAME is the section name, at the beginning and the end of the section. + This is used by glibc. * When an ELF section named .gnu.warning is encountered in an input file, the contents of the section are displayed as an error message, and the section is diff --git a/ld/ld.texinfo b/ld/ld.texinfo index 72d7a2a..acafbd3 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -1620,11 +1620,11 @@ undefined symbols in the link. @item --sort-common @kindex --sort-common -This option tells @command{ld} to sort the common symbols by size when it -places them in the appropriate output sections. First come all the one -byte symbols, then all the two byte, then all the four byte, and then -everything else. This is to prevent gaps between symbols due to -alignment constraints. +This option tells @command{ld} to sort the common symbols by alignment when +it places them in the appropriate output sections. First come all the +sixteen-byte aligned symbols, then all the eight-byte, then all the +four-byte, then all the two-byte, and then everything else. This is to +prevent gaps between symbols due to alignment constraints. @kindex --sort-section name @item --sort-section name @@ -4706,6 +4706,14 @@ at the end of the file. For ELF targets, the attribute of the section includes section type as well as section flag. +If an orphaned section's name is representable as a C identifier then +the linker will automatically @xref{PROVIDE} two symbols: +__start_SECNAME and __end_SECNAME, where SECNAME is the name of the +section. These indicate the start address and end address of the +orphaned section respectively. Note: most section names are not +representable as C identifiers because they contain a @samp{.} +character. + @node Location Counter @subsection The Location Counter @kindex . -- 2.7.4