* objcopy.c (copy_archive): Set output bfd format outside the loop.
authorAlan Modra <amodra@gmail.com>
Tue, 18 Dec 2001 11:54:10 +0000 (11:54 +0000)
committerAlan Modra <amodra@gmail.com>
Tue, 18 Dec 2001 11:54:10 +0000 (11:54 +0000)
binutils/ChangeLog
binutils/objcopy.c

index 5efa892821cfbc91834fda6d63189a569ba2737e..440ae5b98aaa3d7925ae621856e18260c2bceec5 100644 (file)
@@ -1,3 +1,7 @@
+2001-12-18  Alan Modra  <amodra@bigpond.net.au>
+
+       * objcopy.c (copy_archive): Set output bfd format outside the loop.
+
 2001-12-18  Nick Clifton  <nickc@cambridge.redhat.com>
 
        * po/ja.po: Import from translation project.
index f72a915103de64032c38ee26464a031083b1e028..9a5971dacd31907a90ace07d37e998b39a7c1a63 100644 (file)
@@ -1296,6 +1296,9 @@ copy_archive (ibfd, obfd, output_target)
 
   this_element = bfd_openr_next_archived_file (ibfd, NULL);
 
+  if (!bfd_set_format (obfd, bfd_get_format (ibfd)))
+    RETURN_NONFATAL (bfd_get_filename (obfd));
+
   while (!status && this_element != (bfd *) NULL)
     {
       /* Create an output file for this member.  */
@@ -1323,9 +1326,6 @@ copy_archive (ibfd, obfd, output_target)
       if (output_bfd == (bfd *) NULL)
        RETURN_NONFATAL (output_name);
 
-      if (!bfd_set_format (obfd, bfd_get_format (ibfd)))
-       RETURN_NONFATAL (bfd_get_filename (obfd));
-
       if (bfd_check_format (this_element, bfd_object) == true)
        copy_object (this_element, output_bfd);