diff options
Diffstat (limited to 'binutils/ar.c')
-rw-r--r-- | binutils/ar.c | 11 |
1 files changed, 9 insertions, 2 deletions
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)) |