This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[ld patch] Document optional comma in linker script
- From: ccoutant at google dot com (Cary Coutant)
- To: binutils at sourceware dot org
- Date: Thu, 3 Apr 2014 11:25:32 -0700 (PDT)
- Subject: [ld patch] Document optional comma in linker script
- Authentication-results: sourceware.org; auth=none
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.
OK to commit?
-cary
2014-04-03 Cary Coutant <ccoutant@google.com>
ld/
PR gold/16804
* ld.texinfo: Document optional comma following output section
command and overlay command.
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