diff options
author | Svein Seldal <svein@dev.seldal.com> | 2003-06-04 11:38:30 +0000 |
---|---|---|
committer | Svein Seldal <svein@dev.seldal.com> | 2003-06-04 11:38:30 +0000 |
commit | 5a5b96513fccf63361ae794a2d9464510d8c74bc (patch) | |
tree | a7932328bdc37f9a63b74277f4fdd6682dcee3a7 /bfd/coffcode.h | |
parent | 53d4437ac61e92f268aa743aceec91f9fc62d461 (diff) | |
download | gdb-5a5b96513fccf63361ae794a2d9464510d8c74bc.zip gdb-5a5b96513fccf63361ae794a2d9464510d8c74bc.tar.gz gdb-5a5b96513fccf63361ae794a2d9464510d8c74bc.tar.bz2 |
Moved the ticoff0/1 swaptables and coff0/1 bad format hooks to coffcode.h
Diffstat (limited to 'bfd/coffcode.h')
-rw-r--r-- | bfd/coffcode.h | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 514372c..e9ad4df 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -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 /* 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 |