OSDN Git Service

Moved the ticoff0/1 swaptables and coff0/1 bad format hooks to coffcode.h
authorSvein Seldal <svein@dev.seldal.com>
Wed, 4 Jun 2003 11:38:30 +0000 (11:38 +0000)
committerSvein Seldal <svein@dev.seldal.com>
Wed, 4 Jun 2003 11:38:30 +0000 (11:38 +0000)
bfd/ChangeLog
bfd/coff-tic4x.c
bfd/coff-tic54x.c
bfd/coffcode.h

index 642f38d..1d630a3 100644 (file)
@@ -1,8 +1,14 @@
 2003-06-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
 
+       * coff-tic54x.c: Removed the ticoff0_bad_format_hook() and
+       ticoff1_bad_format_hook() functions. Removed the coff0 and coff1
+       swaptables.
+       * coff-tic4x.c: Ditto
        * coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC
        and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro
-       CREATE_BIGHDR_COFF_TARGET_VEC.
+       CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(),
+       ticoff1_bad_format_hook() functions. Created the coff0 and coff1
+       swap tables.
        * coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros.
        * coff-a29k.c: Append COFF_SWAP_TABLE argument
        * coff-apollo.c: Ditto
index 0edd834..708e626 100644 (file)
 #undef  F_LSYMS
 #define        F_LSYMS         F_LSYMS_TICOFF
 
-static bfd_boolean ticoff0_bad_format_hook
-    PARAMS ((bfd *, PTR ));
-static bfd_boolean ticoff1_bad_format_hook
-    PARAMS ((bfd *, PTR ));
 static bfd_boolean ticoff_bfd_is_local_label_name
     PARAMS ((bfd *, const char *));
 static bfd_reloc_status_type tic4x_relocation
@@ -50,32 +46,6 @@ static void tic4x_reloc_processing
     PARAMS ((arelent *, struct internal_reloc *, asymbol **, bfd *, asection * ));
 
 
-static bfd_boolean
-ticoff0_bad_format_hook (abfd, filehdr)
-     bfd *abfd ATTRIBUTE_UNUSED;
-     PTR filehdr;
-{
-  struct internal_filehdr *internal_f = (struct internal_filehdr *) filehdr;
-
-  if (COFF0_BADMAG (*internal_f))
-    return FALSE;
-
-  return TRUE;
-}
-
-static bfd_boolean
-ticoff1_bad_format_hook (abfd, filehdr)
-     bfd *abfd ATTRIBUTE_UNUSED;
-     PTR filehdr;
-{
-  struct internal_filehdr *internal_f = (struct internal_filehdr *) filehdr;
-
-  if (COFF1_BADMAG (*internal_f))
-    return FALSE;
-
-  return TRUE;
-}
-
 /* Replace the stock _bfd_coff_is_local_label_name to recognize TI COFF local
    labels.  */
 static bfd_boolean
@@ -281,89 +251,6 @@ tic4x_reloc_processing (relent, reloc, symbols, abfd, section)
 }
 
 
-static const bfd_coff_backend_data ticoff0_swap_table =
-{
-  coff_SWAP_aux_in, coff_SWAP_sym_in, coff_SWAP_lineno_in,
-  coff_SWAP_aux_out, coff_SWAP_sym_out,
-  coff_SWAP_lineno_out, coff_SWAP_reloc_out,
-  coff_SWAP_filehdr_out, coff_SWAP_aouthdr_out,
-  coff_SWAP_scnhdr_out,
-  FILHSZ_V0, AOUTSZ, SCNHSZ_V01, SYMESZ, AUXESZ, RELSZ_V0, LINESZ, FILNMLEN,
-#ifdef COFF_LONG_FILENAMES
-  TRUE,
-#else
-  FALSE,
-#endif
-#ifdef COFF_LONG_SECTION_NAMES
-  TRUE,
-#else
-  FALSE,
-#endif
-  COFF_DEFAULT_SECTION_ALIGNMENT_POWER,
-#ifdef COFF_FORCE_SYMBOLS_IN_STRINGS
-  TRUE,
-#else
-  FALSE,
-#endif
-#ifdef COFF_DEBUG_STRING_WIDE_PREFIX
-  4,
-#else
-  2,
-#endif
-  coff_SWAP_filehdr_in, coff_SWAP_aouthdr_in, coff_SWAP_scnhdr_in,
-  coff_SWAP_reloc_in, ticoff0_bad_format_hook, coff_set_arch_mach_hook,
-  coff_mkobject_hook, styp_to_sec_flags, coff_set_alignment_hook,
-  coff_slurp_symbol_table, symname_in_debug_hook, coff_pointerize_aux_hook,
-  coff_print_aux, coff_reloc16_extra_cases, coff_reloc16_estimate,
-  coff_classify_symbol, coff_compute_section_file_positions,
-  coff_start_final_link, coff_relocate_section, coff_rtype_to_howto,
-  coff_adjust_symndx, coff_link_add_one_symbol,
-  coff_link_output_has_begun, coff_final_link_postscript
-};
-
-/* COFF1 differs in section header size.  */
-static const bfd_coff_backend_data ticoff1_swap_table =
-{
-  coff_SWAP_aux_in, coff_SWAP_sym_in, coff_SWAP_lineno_in,
-  coff_SWAP_aux_out, coff_SWAP_sym_out,
-  coff_SWAP_lineno_out, coff_SWAP_reloc_out,
-  coff_SWAP_filehdr_out, coff_SWAP_aouthdr_out,
-  coff_SWAP_scnhdr_out,
-  FILHSZ, AOUTSZ, SCNHSZ_V01, SYMESZ, AUXESZ, RELSZ, LINESZ, FILNMLEN,
-#ifdef COFF_LONG_FILENAMES
-  TRUE,
-#else
-  FALSE,
-#endif
-#ifdef COFF_LONG_SECTION_NAMES
-  TRUE,
-#else
-  FALSE,
-#endif
-  COFF_DEFAULT_SECTION_ALIGNMENT_POWER,
-#ifdef COFF_FORCE_SYMBOLS_IN_STRINGS
-  TRUE,
-#else
-  FALSE,
-#endif
-#ifdef COFF_DEBUG_STRING_WIDE_PREFIX
-  4,
-#else
-  2,
-#endif
-  coff_SWAP_filehdr_in, coff_SWAP_aouthdr_in, coff_SWAP_scnhdr_in,
-  coff_SWAP_reloc_in, ticoff1_bad_format_hook, coff_set_arch_mach_hook,
-  coff_mkobject_hook, styp_to_sec_flags, coff_set_alignment_hook,
-  coff_slurp_symbol_table, symname_in_debug_hook, coff_pointerize_aux_hook,
-  coff_print_aux, coff_reloc16_extra_cases, coff_reloc16_estimate,
-  coff_classify_symbol, coff_compute_section_file_positions,
-  coff_start_final_link, coff_relocate_section, coff_rtype_to_howto,
-  coff_adjust_symndx, coff_link_add_one_symbol,
-  coff_link_output_has_begun, coff_final_link_postscript
-};
-
-
-
 /* TI COFF v0, DOS tools (little-endian headers).  */
 CREATE_LITTLE_COFF_TARGET_VEC(tic4x_coff0_vec, "coff0-tic4x", HAS_LOAD_PAGE, 0, '_', NULL, (PTR)&ticoff0_swap_table);
 
index cf7227c..fdf1b5a 100644 (file)
@@ -50,10 +50,6 @@ static reloc_howto_type * tic54x_coff_reloc_type_lookup
   PARAMS ((bfd *, bfd_reloc_code_real_type));
 static void tic54x_lookup_howto
   PARAMS ((arelent *, struct internal_reloc *));
-static bfd_boolean ticoff0_bad_format_hook
-  PARAMS ((bfd *, PTR));
-static bfd_boolean ticoff1_bad_format_hook
-  PARAMS ((bfd *, PTR));
 static bfd_boolean ticoff_bfd_is_local_label_name
   PARAMS ((bfd *, const char *));
 
@@ -323,32 +319,6 @@ coff_tic54x_rtype_to_howto (abfd, sec, rel, h, sym, addendp)
   return genrel.howto;
 }
 
-static bfd_boolean
-ticoff0_bad_format_hook (abfd, filehdr)
-     bfd * abfd ATTRIBUTE_UNUSED;
-     PTR filehdr;
-{
-  struct internal_filehdr *internal_f = (struct internal_filehdr *) filehdr;
-
-  if (COFF0_BADMAG (*internal_f))
-    return FALSE;
-
-  return TRUE;
-}
-
-static bfd_boolean
-ticoff1_bad_format_hook (abfd, filehdr)
-     bfd * abfd ATTRIBUTE_UNUSED;
-     PTR filehdr;
-{
-  struct internal_filehdr *internal_f = (struct internal_filehdr *) filehdr;
-
-  if (COFF1_BADMAG (*internal_f))
-    return FALSE;
-
-  return TRUE;
-}
-
 /* Replace the stock _bfd_coff_is_local_label_name to recognize TI COFF local
    labels.  */
 
@@ -435,88 +405,6 @@ tic54x_reloc_processing (relent, reloc, symbols, abfd, section)
   tic54x_lookup_howto (relent, reloc);
 }
 
-/* COFF0 differs in file/section header size and relocation entry size.  */
-static const bfd_coff_backend_data ticoff0_swap_table =
-  {
-    coff_SWAP_aux_in, coff_SWAP_sym_in, coff_SWAP_lineno_in,
-    coff_SWAP_aux_out, coff_SWAP_sym_out,
-    coff_SWAP_lineno_out, coff_SWAP_reloc_out,
-    coff_SWAP_filehdr_out, coff_SWAP_aouthdr_out,
-    coff_SWAP_scnhdr_out,
-    FILHSZ_V0, AOUTSZ, SCNHSZ_V01, SYMESZ, AUXESZ, RELSZ_V0, LINESZ, FILNMLEN,
-#ifdef COFF_LONG_FILENAMES
-    TRUE,
-#else
-    FALSE,
-#endif
-#ifdef COFF_LONG_SECTION_NAMES
-    TRUE,
-#else
-    FALSE,
-#endif
-#ifdef COFF_FORCE_SYMBOLS_IN_STRINGS
-    TRUE,
-#else
-    FALSE,
-#endif
-#ifdef COFF_DEBUG_STRING_WIDE_PREFIX
-    4,
-#else
-    2,
-#endif
-    COFF_DEFAULT_SECTION_ALIGNMENT_POWER,
-    coff_SWAP_filehdr_in, coff_SWAP_aouthdr_in, coff_SWAP_scnhdr_in,
-    coff_SWAP_reloc_in, ticoff0_bad_format_hook, coff_set_arch_mach_hook,
-    coff_mkobject_hook, styp_to_sec_flags, coff_set_alignment_hook,
-    coff_slurp_symbol_table, symname_in_debug_hook, coff_pointerize_aux_hook,
-    coff_print_aux, coff_reloc16_extra_cases, coff_reloc16_estimate,
-    coff_classify_symbol, coff_compute_section_file_positions,
-    coff_start_final_link, coff_relocate_section, coff_rtype_to_howto,
-    coff_adjust_symndx, coff_link_add_one_symbol,
-    coff_link_output_has_begun, coff_final_link_postscript
-  };
-
-/* COFF1 differs in section header size.  */
-static const bfd_coff_backend_data ticoff1_swap_table =
-  {
-    coff_SWAP_aux_in, coff_SWAP_sym_in, coff_SWAP_lineno_in,
-    coff_SWAP_aux_out, coff_SWAP_sym_out,
-    coff_SWAP_lineno_out, coff_SWAP_reloc_out,
-    coff_SWAP_filehdr_out, coff_SWAP_aouthdr_out,
-    coff_SWAP_scnhdr_out,
-    FILHSZ, AOUTSZ, SCNHSZ_V01, SYMESZ, AUXESZ, RELSZ, LINESZ, FILNMLEN,
-#ifdef COFF_LONG_FILENAMES
-    TRUE,
-#else
-    FALSE,
-#endif
-#ifdef COFF_LONG_SECTION_NAMES
-    TRUE,
-#else
-    FALSE,
-#endif
-    COFF_DEFAULT_SECTION_ALIGNMENT_POWER,
-#ifdef COFF_FORCE_SYMBOLS_IN_STRINGS
-    TRUE,
-#else
-    FALSE,
-#endif
-#ifdef COFF_DEBUG_STRING_WIDE_PREFIX
-    4,
-#else
-    2,
-#endif
-    coff_SWAP_filehdr_in, coff_SWAP_aouthdr_in, coff_SWAP_scnhdr_in,
-    coff_SWAP_reloc_in, ticoff1_bad_format_hook, coff_set_arch_mach_hook,
-    coff_mkobject_hook, styp_to_sec_flags, coff_set_alignment_hook,
-    coff_slurp_symbol_table, symname_in_debug_hook, coff_pointerize_aux_hook,
-    coff_print_aux, coff_reloc16_extra_cases, coff_reloc16_estimate,
-    coff_classify_symbol, coff_compute_section_file_positions,
-    coff_start_final_link, coff_relocate_section, coff_rtype_to_howto,
-    coff_adjust_symndx, coff_link_add_one_symbol,
-    coff_link_output_has_begun, coff_final_link_postscript
-  };
-
 /* TI COFF v0, DOS tools (little-endian headers).  */
 const bfd_target tic54x_coff0_vec =
   {
index 514372c..e9ad4df 100644 (file)
@@ -362,6 +362,12 @@ static unsigned int coff_compute_checksum
 static bfd_boolean coff_apply_checksum
   PARAMS ((bfd *));
 #endif
+#ifdef TICOFF
+static bfd_boolean ticoff0_bad_format_hook
+    PARAMS ((bfd *, PTR ));
+static bfd_boolean ticoff1_bad_format_hook
+    PARAMS ((bfd *, PTR ));
+#endif
 \f
 /* void warning(); */
 
@@ -1439,6 +1445,36 @@ coff_bad_format_hook (abfd, filehdr)
   return TRUE;
 }
 
+#ifdef TICOFF
+static bfd_boolean
+ticoff0_bad_format_hook (abfd, filehdr)
+     bfd *abfd ATTRIBUTE_UNUSED;
+     PTR filehdr;
+{
+  struct internal_filehdr *internal_f = (struct internal_filehdr *) filehdr;
+
+  if (COFF0_BADMAG (*internal_f))
+    return FALSE;
+
+  return TRUE;
+}
+#endif
+
+#ifdef TICOFF
+static bfd_boolean
+ticoff1_bad_format_hook (abfd, filehdr)
+     bfd *abfd ATTRIBUTE_UNUSED;
+     PTR filehdr;
+{
+  struct internal_filehdr *internal_f = (struct internal_filehdr *) filehdr;
+
+  if (COFF1_BADMAG (*internal_f))
+    return FALSE;
+
+  return TRUE;
+}
+#endif
+
 /* Check whether this section uses an alignment other than the
    default.  */
 
@@ -5338,6 +5374,92 @@ static const bfd_coff_backend_data bfd_coff_std_swap_table =
   coff_link_output_has_begun, coff_final_link_postscript
 };
 
+#ifdef TICOFF
+/* COFF0 differs in file/section header size and relocation entry size.  */
+static const bfd_coff_backend_data ticoff0_swap_table =
+{
+  coff_SWAP_aux_in, coff_SWAP_sym_in, coff_SWAP_lineno_in,
+  coff_SWAP_aux_out, coff_SWAP_sym_out,
+  coff_SWAP_lineno_out, coff_SWAP_reloc_out,
+  coff_SWAP_filehdr_out, coff_SWAP_aouthdr_out,
+  coff_SWAP_scnhdr_out,
+  FILHSZ_V0, AOUTSZ, SCNHSZ_V01, SYMESZ, AUXESZ, RELSZ_V0, LINESZ, FILNMLEN,
+#ifdef COFF_LONG_FILENAMES
+  TRUE,
+#else
+  FALSE,
+#endif
+#ifdef COFF_LONG_SECTION_NAMES
+  TRUE,
+#else
+  FALSE,
+#endif
+  COFF_DEFAULT_SECTION_ALIGNMENT_POWER,
+#ifdef COFF_FORCE_SYMBOLS_IN_STRINGS
+  TRUE,
+#else
+  FALSE,
+#endif
+#ifdef COFF_DEBUG_STRING_WIDE_PREFIX
+  4,
+#else
+  2,
+#endif
+  coff_SWAP_filehdr_in, coff_SWAP_aouthdr_in, coff_SWAP_scnhdr_in,
+  coff_SWAP_reloc_in, ticoff0_bad_format_hook, coff_set_arch_mach_hook,
+  coff_mkobject_hook, styp_to_sec_flags, coff_set_alignment_hook,
+  coff_slurp_symbol_table, symname_in_debug_hook, coff_pointerize_aux_hook,
+  coff_print_aux, coff_reloc16_extra_cases, coff_reloc16_estimate,
+  coff_classify_symbol, coff_compute_section_file_positions,
+  coff_start_final_link, coff_relocate_section, coff_rtype_to_howto,
+  coff_adjust_symndx, coff_link_add_one_symbol,
+  coff_link_output_has_begun, coff_final_link_postscript
+};
+#endif
+
+#ifdef TICOFF
+/* COFF1 differs in section header size.  */
+static const bfd_coff_backend_data ticoff1_swap_table =
+{
+  coff_SWAP_aux_in, coff_SWAP_sym_in, coff_SWAP_lineno_in,
+  coff_SWAP_aux_out, coff_SWAP_sym_out,
+  coff_SWAP_lineno_out, coff_SWAP_reloc_out,
+  coff_SWAP_filehdr_out, coff_SWAP_aouthdr_out,
+  coff_SWAP_scnhdr_out,
+  FILHSZ, AOUTSZ, SCNHSZ_V01, SYMESZ, AUXESZ, RELSZ, LINESZ, FILNMLEN,
+#ifdef COFF_LONG_FILENAMES
+  TRUE,
+#else
+  FALSE,
+#endif
+#ifdef COFF_LONG_SECTION_NAMES
+  TRUE,
+#else
+  FALSE,
+#endif
+  COFF_DEFAULT_SECTION_ALIGNMENT_POWER,
+#ifdef COFF_FORCE_SYMBOLS_IN_STRINGS
+  TRUE,
+#else
+  FALSE,
+#endif
+#ifdef COFF_DEBUG_STRING_WIDE_PREFIX
+  4,
+#else
+  2,
+#endif
+  coff_SWAP_filehdr_in, coff_SWAP_aouthdr_in, coff_SWAP_scnhdr_in,
+  coff_SWAP_reloc_in, ticoff1_bad_format_hook, coff_set_arch_mach_hook,
+  coff_mkobject_hook, styp_to_sec_flags, coff_set_alignment_hook,
+  coff_slurp_symbol_table, symname_in_debug_hook, coff_pointerize_aux_hook,
+  coff_print_aux, coff_reloc16_extra_cases, coff_reloc16_estimate,
+  coff_classify_symbol, coff_compute_section_file_positions,
+  coff_start_final_link, coff_relocate_section, coff_rtype_to_howto,
+  coff_adjust_symndx, coff_link_add_one_symbol,
+  coff_link_output_has_begun, coff_final_link_postscript
+};
+#endif
+
 #ifndef coff_close_and_cleanup
 #define        coff_close_and_cleanup              _bfd_generic_close_and_cleanup
 #endif