summaryrefslogtreecommitdiff
path: root/binutils/ar.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2011-11-29 18:07:41 +0000
committerRoland McGrath <roland@gnu.org>2011-11-29 18:07:41 +0000
commitb3364cb9c21f33b0f0de633d10f6729134b9bd6f (patch)
treec015d98340e795d34d26a1f9e492ebf203f757bd /binutils/ar.c
parenta35ad96ac88af299d42c45c71ac153e35c34c057 (diff)
downloadbinutils-gdb-b3364cb9c21f33b0f0de633d10f6729134b9bd6f.tar.gz
* 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.
Diffstat (limited to 'binutils/ar.c')
-rw-r--r--binutils/ar.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/binutils/ar.c b/binutils/ar.c
index 882ef1ac0de..676e92cfd90 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))