]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
* ar.c (ranlib_usage): Describe -D.
authorRoland McGrath <roland@gnu.org>
Tue, 29 Nov 2011 18:07:41 +0000 (18:07 +0000)
committerRoland McGrath <roland@gnu.org>
Tue, 29 Nov 2011 18:07:41 +0000 (18:07 +0000)
(ranlib_main): Parse -D.
(ranlib_touch): Set BFD_DETERMINISTIC_OUTPUT under -D.
* doc/binutils.texi (ranlib): Describe -D, and also --help/-h/-H.

binutils/ChangeLog
binutils/ar.c
binutils/doc/binutils.texi

index f17c2f1c949c4c1d1e25439d516ffc1ad55658ea..4074da392e791ef22c1c54d65a9a9ec319cc840c 100644 (file)
@@ -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
index 882ef1ac0de27e9ddd35899472ba4756bdc139cc..676e92cfd90626bea6498b6877567725642a2cdd 100644 (file)
@@ -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))
index 684b3b7fe7480757f7f2465901e70a82fa8ea7f9..3217a1a3611de3965a021fb299899e3586c4a113 100644 (file)
@@ -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