From abc9061b5c4d684da66945a9928d54a424cb6e4e Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Fri, 4 Apr 2014 09:28:23 -0700 Subject: [PATCH] Document optional comma in linker script. The linker script documentation does not mention the optional comma that may follow an output section command or an overlay command. In some cases, where a fill expression is used, and the next output section command begins with an operator (e.g., "/DISCARD/"), the comma may be required to separate the two commands. Currently, GNU ld doesn't require the comma, but gold does. ld/ PR gold/16804 * ld.texinfo: Document optional comma following output section command and overlay command. --- ld/ChangeLog | 6 ++++++ ld/ld.texinfo | 9 +++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 5a3ddf2..0a02f90 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2014-04-04 Cary Coutant + + PR gold/16804 + * ld.texinfo: Document optional comma following output section + command and overlay command. + 2014-04-04 Alan Modra * ldlang.c (lang_size_sections_1 ): Use diff --git a/ld/ld.texinfo b/ld/ld.texinfo index 8a41ee8..62d8aa7 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -3788,7 +3788,7 @@ The full description of an output section looks like this: @var{output-section-command} @var{output-section-command} @dots{} - @} [>@var{region}] [AT>@var{lma_region}] [:@var{phdr} :@var{phdr} @dots{}] [=@var{fillexp}] + @} [>@var{region}] [AT>@var{lma_region}] [:@var{phdr} :@var{phdr} @dots{}] [=@var{fillexp}] [,] @end group @end smallexample @@ -3796,6 +3796,8 @@ Most output sections do not use most of the optional section attributes. The whitespace around @var{section} is required, so that the section name is unambiguous. The colon and the curly braces are also required. +The comma at the end may be required if a @var{fillexp} is used and +the next @var{sections-command} looks like a continuation of the expression. The line breaks and other white space are optional. Each @var{output-section-command} may be one of the following: @@ -4729,7 +4731,7 @@ OVERLAY [@var{start}] : [NOCROSSREFS] [AT ( @var{ldaddr} )] @dots{} @} [:@var{phdr}@dots{}] [=@var{fill}] @dots{} - @} [>@var{region}] [:@var{phdr}@dots{}] [=@var{fill}] + @} [>@var{region}] [:@var{phdr}@dots{}] [=@var{fill}] [,] @end group @end smallexample @@ -4740,6 +4742,9 @@ those within the general @code{SECTIONS} construct (@pxref{SECTIONS}), except that no addresses and no memory regions may be defined for sections within an @code{OVERLAY}. +The comma at the end may be required if a @var{fill} is used and +the next @var{sections-command} looks like a continuation of the expression. + The sections are all defined with the same starting address. The load addresses of the sections are arranged such that they are consecutive in memory starting at the load address used for the @code{OVERLAY} as a -- 2.7.4