aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog7
-rw-r--r--binutils/ar.c11
-rw-r--r--binutils/doc/binutils.texi27
3 files changed, 35 insertions, 10 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index f17c2f1..4074da3 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,10 @@
+2011-11-29 Roland McGrath <mcgrathr@google.com>
+
+ * ar.c (ranlib_usage): Describe -D.
+ (ranlib_main): Parse -D.
+ (ranlib_touch): Set BFD_DETERMINISTIC_OUTPUT under -D.
+ * doc/binutils.texi (ranlib): Describe -D, and also --help/-h/-H.
+
2011-11-28 Nick Clifton <nickc@redhat.com>
PR binutils/13421
diff --git a/binutils/ar.c b/binutils/ar.c
index 882ef1a..676e92c 100644
--- a/binutils/ar.c
+++ b/binutils/ar.c
@@ -324,6 +324,7 @@ ranlib_usage (int help)
#endif
fprintf (s, _("\
-t Update the archive's symbol map timestamp\n\
+ -D Use zero for the symbol map timestamp\n\
-h --help Print this help message\n\
-v --version Print version information\n"));
@@ -559,10 +560,13 @@ ranlib_main (int argc, char **argv)
bfd_boolean touch = FALSE;
int c;
- while ((c = getopt_long (argc, argv, "hHvVt", long_options, NULL)) != EOF)
+ while ((c = getopt_long (argc, argv, "DhHvVt", long_options, NULL)) != EOF)
{
switch (c)
{
+ case 'D':
+ deterministic = TRUE;
+ break;
case 'h':
case 'H':
show_help = 1;
@@ -581,7 +585,7 @@ ranlib_main (int argc, char **argv)
ranlib_usage (0);
if (show_help)
- usage (1);
+ ranlib_usage (1);
if (show_version)
print_version ("ranlib");
@@ -1365,6 +1369,9 @@ ranlib_touch (const char *archname)
/* xgettext:c-format */
fatal (_("%s: no archive map to update"), archname);
+ if (deterministic)
+ arch->flags |= BFD_DETERMINISTIC_OUTPUT;
+
bfd_update_armap_timestamp (arch);
if (! bfd_close (arch))
diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi
index 684b3b7..3217a1a 100644
--- a/binutils/doc/binutils.texi
+++ b/binutils/doc/binutils.texi
@@ -176,7 +176,7 @@ in the section entitled ``GNU Free Documentation License''.
@c man title ar create, modify, and extract from archives
@smallexample
-ar [@option{--plugin} @var{name}] [-]@var{p}[@var{mod} [@var{relpos}] [@var{count}]] [@option{--target} @var{bfdname}] @var{archive} [@var{member}@dots{}]
+ar [@option{--plugin} @var{name}] [-]@var{p}[@var{mod} [@var{relpos}] [@var{count}]] [@option{--target} @var{bfdname}] @var{archive} [@var{member}@dots{}]
ar -M [ <mri-script ]
@end smallexample
@@ -1436,7 +1436,7 @@ the use of long section names in the output object; when @samp{disable}
is in effect, any long section names in the input object will be truncated.
The @samp{enable} option will only emit long section names if any are
present in the inputs; this is mostly the same as @samp{keep}, but it
-is left undefined whether the @samp{enable} option might force the
+is left undefined whether the @samp{enable} option might force the
creation of an empty string table in the output file.
@item --change-leading-char
@@ -2125,7 +2125,7 @@ Display source code intermixed with disassembly, if possible. Implies
@item --prefix=@var{prefix}
@cindex Add prefix to absolute paths
Specify @var{prefix} to add to the absolute paths when used with
-@option{-S}.
+@option{-S}.
@item --prefix-strip=@var{level}
@cindex Strip absolute paths
@@ -2142,7 +2142,7 @@ When disassembling instructions, do not print the instruction bytes.
This is the default when @option{--prefix-addresses} is used.
@item --insn-width=@var{width}
-@cindex Instruction width
+@cindex Instruction width
Display @var{width} bytes on a single line when disassembling
instructions.
@@ -2349,7 +2349,7 @@ nm(1), readelf(1), and the Info entries for @file{binutils}.
@smallexample
@c man begin SYNOPSIS ranlib
-ranlib [@option{-vVt}] @var{archive}
+ranlib [@option{-DhHvVt}] @var{archive}
@c man end
@end smallexample
@@ -2374,11 +2374,22 @@ The @sc{gnu} @command{ranlib} program is another form of @sc{gnu} @command{ar};
@c man begin OPTIONS ranlib
@table @env
+@item -h
+@itemx -H
+@itemx --help
+Show usage information for @command{ranlib}.
+
@item -v
@itemx -V
@itemx --version
Show the version number of @command{ranlib}.
+@item -D
+@cindex deterministic archives
+Operate in @emph{deterministic} mode. The symbol map archive member's
+header will show zero for the UID, GID, and timestamp. When this
+option is used, multiple runs will produce identical output files.
+
@item -t
Update the timestamp of the symbol map of an archive.
@end table
@@ -3724,9 +3735,9 @@ that uses that DLL:
@command{dlltool} may also be used to query an existing import library
-to determine the name of the DLL to which it is associated. See the
+to determine the name of the DLL to which it is associated. See the
description of the @option{-I} or @option{--identify} option.
-
+
@c man end
@c man begin OPTIONS dlltool
@@ -4716,7 +4727,7 @@ things without first using the debugger to find the facts.
@node GNU Free Documentation License
@appendix GNU Free Documentation License
-
+
@include fdl.texi
@node Binutils Index