From: Alan Modra Date: Tue, 7 Jul 2020 00:22:21 +0000 (+0930) Subject: XCOFF deterministic archives X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c800188601ee6f537d268fcadfbac7be0389ced7;p=binutils-gdb.git XCOFF deterministic archives Adds support for "ar -D". * coff-rs6000.c (xcoff_write_archive_contents_old): Set default time, uid, gid and mode for deterministic archive. (xcoff_write_archive_contents_big): Likewise. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 057bc05aa80..580edfe41ea 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2020-07-07 Alan Modra + + * coff-rs6000.c (xcoff_write_archive_contents_old): Set default + time, uid, gid and mode for deterministic archive. + (xcoff_write_archive_contents_big): Likewise. + 2020-07-07 Alan Modra * coffcode.h (coff_classify_symbol): Handle C_HIDEXT and diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c index 51fab9f0536..00c9d7c7f4b 100644 --- a/bfd/coff-rs6000.c +++ b/bfd/coff-rs6000.c @@ -2101,6 +2101,13 @@ xcoff_write_archive_contents_old (bfd *abfd) bfd_set_error (bfd_error_system_call); return FALSE; } + if ((abfd->flags & BFD_DETERMINISTIC_OUTPUT) != 0) + { + s.st_mtime = 0; + s.st_uid = 0; + s.st_gid = 0; + s.st_mode = 0644; + } ahdrp = bfd_zalloc (sub, sizeof (*ahdrp)); if (ahdrp == NULL) @@ -2321,6 +2328,13 @@ xcoff_write_archive_contents_big (bfd *abfd) bfd_set_error (bfd_error_system_call); return FALSE; } + if ((abfd->flags & BFD_DETERMINISTIC_OUTPUT) != 0) + { + s.st_mtime = 0; + s.st_uid = 0; + s.st_gid = 0; + s.st_mode = 0644; + } ahdrp = bfd_zalloc (current_bfd, sizeof (*ahdrp)); if (ahdrp == NULL)