diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 1999-05-27 03:16:15 +0000 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 1999-05-27 03:16:15 +0000 |
commit | 8066d1a2839e6eb0b1b5cddde033311ec887a486 (patch) | |
tree | c399d4b08faa34b8e28beadbb511675cbf9909bb /binutils | |
parent | 1b228002a1a96136e0cde0825a88eb4d785fb9c2 (diff) | |
download | fsf-binutils-gdb-8066d1a2839e6eb0b1b5cddde033311ec887a486.zip fsf-binutils-gdb-8066d1a2839e6eb0b1b5cddde033311ec887a486.tar.gz fsf-binutils-gdb-8066d1a2839e6eb0b1b5cddde033311ec887a486.tar.bz2 |
* objcopy.c (copy_archive): Preserve dates of archive members if
requested.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 3 | ||||
-rw-r--r-- | binutils/objcopy.c | 13 |
2 files changed, 16 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 746baf1..f5491d3 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,5 +1,8 @@ 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 systems even if there is no symbol. (process_program_headers): Reset dynamic_size before looping diff --git a/binutils/objcopy.c b/binutils/objcopy.c index 5fd7777..5e6d683 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c @@ -962,6 +962,16 @@ copy_archive (ibfd, obfd, output_target) (char *) NULL); bfd *output_bfd = bfd_openw (output_name, output_target); 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->name = output_name; @@ -984,6 +994,9 @@ copy_archive (ibfd, obfd, output_target) status = 1; } + if (preserve_dates && stat_status == 0) + set_times (output_name, &buf); + /* Open the newly output file and attach to our list. */ output_bfd = bfd_openr (output_name, output_target); |