* objcopy.c (copy_archive): Preserve dates of archive members if

requested.
This commit is contained in:
Andreas Schwab 1999-05-27 03:16:15 +00:00
parent 1b228002a1
commit 8066d1a283
2 changed files with 16 additions and 0 deletions

View File

@ -1,5 +1,8 @@
Thu May 27 11:58:33 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> Thu May 27 11:58:33 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* objcopy.c (copy_archive): Preserve dates of archive members if
requested.
* readelf.c (dump_relocations): Always print the addend on RELA * readelf.c (dump_relocations): Always print the addend on RELA
systems even if there is no symbol. systems even if there is no symbol.
(process_program_headers): Reset dynamic_size before looping (process_program_headers): Reset dynamic_size before looping

View File

@ -962,6 +962,16 @@ copy_archive (ibfd, obfd, output_target)
(char *) NULL); (char *) NULL);
bfd *output_bfd = bfd_openw (output_name, output_target); bfd *output_bfd = bfd_openw (output_name, output_target);
bfd *last_element; bfd *last_element;
struct stat buf;
int stat_status = 0;
if (preserve_dates)
{
stat_status = bfd_stat_arch_elt (this_element, &buf);
if (stat_status != 0)
non_fatal (_("internal stat error on %s"),
bfd_get_filename (this_element));
}
l = (struct name_list *) xmalloc (sizeof (struct name_list)); l = (struct name_list *) xmalloc (sizeof (struct name_list));
l->name = output_name; l->name = output_name;
@ -984,6 +994,9 @@ copy_archive (ibfd, obfd, output_target)
status = 1; status = 1;
} }
if (preserve_dates && stat_status == 0)
set_times (output_name, &buf);
/* Open the newly output file and attach to our list. */ /* Open the newly output file and attach to our list. */
output_bfd = bfd_openr (output_name, output_target); output_bfd = bfd_openr (output_name, output_target);