diff options
-rw-r--r-- | binutils/ChangeLog | 7 | ||||
-rw-r--r-- | binutils/ar.c | 11 | ||||
-rw-r--r-- | binutils/doc/binutils.texi | 27 |
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 |