* targets.c: Add copy_private_symbol_data and link_split_section
[deliverable/binutils-gdb.git] / bfd / coff-rs6000.c
index e8610439bcaf242593547b67f088dba82b19da9f..0b1ba78fda410495681f6cbbbe9b4ddfe727c00b 100644 (file)
@@ -469,17 +469,9 @@ rs6000coff_reloc_type_lookup (abfd, code)
 /*     Stolen from Damon A. Permezel's `bfd' portation.                    */
 /* ------------------------------------------------------------------------ */
 
-#undef coff_openr_next_archived_file
-#define coff_openr_next_archived_file  rs6000coff_openr_next_archived_file
-
-#undef coff_write_armap
-#define coff_write_armap               rs6000coff_write_armap
-
-#undef coff_stat_arch_elt
-#define        coff_stat_arch_elt              rs6000coff_stat_arch_elt
-
-#undef coff_snarf_ar_hdr
-#define        coff_snarf_ar_hdr               rs6000coff_snarf_ar_hdr
+#define rs6000coff_slurp_armap bfd_slurp_coff_armap
+#define rs6000coff_slurp_extended_name_table _bfd_slurp_extended_name_table
+#define rs6000coff_truncate_arname bfd_dont_truncate_arname
 
 #undef coff_mkarchive
 #define        coff_mkarchive                  rs6000coff_mkarchive
@@ -527,14 +519,16 @@ rs6000coff_snarf_ar_hdr (abfd)
 
        size = sizeof (h.hdr);
        if (bfd_read(&h.hdr, 1, size, abfd) != size) {
-               bfd_set_error (bfd_error_no_more_archived_files);
+               if (bfd_get_error () != bfd_error_system_call)
+                 bfd_set_error (bfd_error_no_more_archived_files);
                return NULL;
        }
        size  = atoi(h.hdr.ar_namlen);  /* ar_name[] length     */
        size += size & 1;
 
        if (bfd_read(&h.hdr._ar_name.ar_name[2], 1, size, abfd) != size) {
-               bfd_set_error (bfd_error_no_more_archived_files);
+               if (bfd_get_error () != bfd_error_system_call)
+                 bfd_set_error (bfd_error_no_more_archived_files);
                return NULL;
        }
 
@@ -634,7 +628,8 @@ rs6000coff_archive_p (abfd)
        register struct artdata *art;
 
        if (bfd_read (&hdr, sizeof (hdr), 1, abfd) != sizeof (hdr)) {
-               bfd_set_error (bfd_error_wrong_format);
+               if (bfd_get_error () != bfd_error_system_call)
+                 bfd_set_error (bfd_error_wrong_format);
                return 0;
        }
 
@@ -666,7 +661,7 @@ rs6000coff_archive_p (abfd)
 
 
 static int
-rs6000coff_stat_arch_elt(abfd, buf)
+rs6000coff_generic_stat_arch_elt(abfd, buf)
   bfd *abfd;
   struct stat *buf;
 {
@@ -710,6 +705,11 @@ rs6000coff_write_armap (arch, elength, map, orl_count, stridx)
 \f
 #define CORE_FILE_P _bfd_dummy_target
 
+#define coff_core_file_failing_command _bfd_nocore_core_file_failing_command
+#define coff_core_file_failing_signal _bfd_nocore_core_file_failing_signal
+#define coff_core_file_matches_executable_p \
+  _bfd_nocore_core_file_matches_executable_p
+
 #ifdef HOST_AIX
 #undef CORE_FILE_P
 #define CORE_FILE_P rs6000coff_core_p
@@ -779,6 +779,18 @@ bfd_target rs6000coff_vec =
   {bfd_false, coff_write_object_contents,      /* bfd_write_contents */
      _bfd_write_archive_contents, bfd_false},
 
-  JUMP_TABLE(coff),
+     BFD_JUMP_TABLE_GENERIC (coff),
+     BFD_JUMP_TABLE_COPY (coff),
+     BFD_JUMP_TABLE_CORE (coff),
+#ifdef HOST_AIX
+     BFD_JUMP_TABLE_ARCHIVE (rs6000coff),
+#else
+     BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
+#endif
+     BFD_JUMP_TABLE_SYMBOLS (coff),
+     BFD_JUMP_TABLE_RELOCS (coff),
+     BFD_JUMP_TABLE_WRITE (coff),
+     BFD_JUMP_TABLE_LINK (coff),
+
   COFF_SWAP_TABLE,
 };
This page took 0.025681 seconds and 4 git commands to generate.