From: Alan Modra Date: Fri, 19 May 2023 08:10:30 +0000 (+0930) Subject: tic54x set_arch_mach X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=880853ed941dc1154e3bb2bd44ddd10b84dfecff;p=binutils-gdb.git tic54x set_arch_mach The tic54x backend provides its own coff_set_arch_mach, but wants to use the standard coff_set_section_contents. BFD_JUMP_TABLE_WRITE defines both of these functions, so the code also provides a wrapper for coff_set_section_contents. This is all quite OK, but I was on a mission to remove unnecessary declarations in coffcode.h, and on deleting the one for coff_set_arch_mach ran into a warning about the function being unused. I could have kept that declaration with its ATTRIBUTE_UNUSED or written "static bool ATTRIBUTE_UNUSED" on the definition but the latter is not usual and looks odd to me. So I had a closer look at tic54x_set_arch_mach and decided the function is very likely wrong to allow bfd_arch_unknown. Thus the backend should be using the standard coff_set_arch_mach. * coff-tic54x.c: Use BFD_JUMP_TABLE_WRITE (coff) in target vecs. (tic54x_coff_set_arch_mach): Delete. (tic54x_set_section_contents): Delete. * coffcode.h: Delete unnecessary forward declarations. --- diff --git a/bfd/coff-tic54x.c b/bfd/coff-tic54x.c index 77d99948def..55f87a1b6e5 100644 --- a/bfd/coff-tic54x.c +++ b/bfd/coff-tic54x.c @@ -109,23 +109,6 @@ bfd_ticoff_get_section_load_page (asection *sect) return page; } -/* Set the architecture appropriately. Allow unkown architectures - (e.g. binary). */ - -static bool -tic54x_set_arch_mach (bfd *abfd, - enum bfd_architecture arch, - unsigned long machine) -{ - if (arch == bfd_arch_unknown) - arch = bfd_arch_tic54x; - - else if (arch != bfd_arch_tic54x) - return false; - - return bfd_default_set_arch_mach (abfd, arch, machine); -} - static bfd_reloc_status_type tic54x_relocation (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry, @@ -335,17 +318,6 @@ ticoff_bfd_is_local_label_name (bfd *abfd ATTRIBUTE_UNUSED, #include "coffcode.h" -static bool -tic54x_set_section_contents (bfd *abfd, - sec_ptr section, - const void * location, - file_ptr offset, - bfd_size_type bytes_to_do) -{ - return coff_set_section_contents (abfd, section, location, - offset, bytes_to_do); -} - static void tic54x_reloc_processing (arelent *relent, struct internal_reloc *reloc, @@ -448,7 +420,7 @@ const bfd_target tic54x_coff0_vec = BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff), BFD_JUMP_TABLE_SYMBOLS (coff), BFD_JUMP_TABLE_RELOCS (coff), - BFD_JUMP_TABLE_WRITE (tic54x), + BFD_JUMP_TABLE_WRITE (coff), BFD_JUMP_TABLE_LINK (coff), BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), NULL, @@ -510,7 +482,7 @@ const bfd_target tic54x_coff0_beh_vec = BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff), BFD_JUMP_TABLE_SYMBOLS (coff), BFD_JUMP_TABLE_RELOCS (coff), - BFD_JUMP_TABLE_WRITE (tic54x), + BFD_JUMP_TABLE_WRITE (coff), BFD_JUMP_TABLE_LINK (coff), BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), @@ -573,7 +545,7 @@ const bfd_target tic54x_coff1_vec = BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff), BFD_JUMP_TABLE_SYMBOLS (coff), BFD_JUMP_TABLE_RELOCS (coff), - BFD_JUMP_TABLE_WRITE (tic54x), + BFD_JUMP_TABLE_WRITE (coff), BFD_JUMP_TABLE_LINK (coff), BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), @@ -636,7 +608,7 @@ const bfd_target tic54x_coff1_beh_vec = BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff), BFD_JUMP_TABLE_SYMBOLS (coff), BFD_JUMP_TABLE_RELOCS (coff), - BFD_JUMP_TABLE_WRITE (tic54x), + BFD_JUMP_TABLE_WRITE (coff), BFD_JUMP_TABLE_LINK (coff), BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), @@ -699,7 +671,7 @@ const bfd_target tic54x_coff2_vec = BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff), BFD_JUMP_TABLE_SYMBOLS (coff), BFD_JUMP_TABLE_RELOCS (coff), - BFD_JUMP_TABLE_WRITE (tic54x), + BFD_JUMP_TABLE_WRITE (coff), BFD_JUMP_TABLE_LINK (coff), BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), @@ -762,7 +734,7 @@ const bfd_target tic54x_coff2_beh_vec = BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff), BFD_JUMP_TABLE_SYMBOLS (coff), BFD_JUMP_TABLE_RELOCS (coff), - BFD_JUMP_TABLE_WRITE (tic54x), + BFD_JUMP_TABLE_WRITE (coff), BFD_JUMP_TABLE_LINK (coff), BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 2d429828822..ab22ed092d6 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -398,62 +398,8 @@ CODE_FRAGMENT #define COFF_DEFAULT_LONG_SECTION_NAMES (false), COFF_LONG_SECTION_NAMES_SETTER #endif /* COFF_ENABLE_LONG_SECTION_NAMES */ -#if defined (COFF_LONG_SECTION_NAMES) -static bool bfd_coff_set_long_section_names_allowed - (bfd *, int); -#else /* !defined (COFF_LONG_SECTION_NAMES) */ -static bool bfd_coff_set_long_section_names_disallowed - (bfd *, int); -#endif /* defined (COFF_LONG_SECTION_NAMES) */ -static long sec_to_styp_flags - (const char *, flagword); -static bool styp_to_sec_flags - (bfd *, void *, const char *, asection *, flagword *); -static bool coff_bad_format_hook - (bfd *, void *); -static void coff_set_custom_section_alignment - (bfd *, asection *, const struct coff_section_alignment_entry *, - const unsigned int); -static bool coff_new_section_hook - (bfd *, asection *); -static bool coff_set_arch_mach_hook - (bfd *, void *); -static bool coff_write_relocs - (bfd *, int); -static bool coff_set_flags - (bfd *, unsigned int *, unsigned short *); -static bool coff_set_arch_mach - (bfd *, enum bfd_architecture, unsigned long) ATTRIBUTE_UNUSED; -static bool coff_compute_section_file_positions - (bfd *); -static bool coff_write_object_contents - (bfd *) ATTRIBUTE_UNUSED; -static bool coff_set_section_contents - (bfd *, asection *, const void *, file_ptr, bfd_size_type); -static bool coff_slurp_line_table - (bfd *, asection *); -static bool coff_slurp_symbol_table - (bfd *); static enum coff_symbol_classification coff_classify_symbol (bfd *, struct internal_syment *); -static bool coff_slurp_reloc_table - (bfd *, asection *, asymbol **); -static long coff_canonicalize_reloc - (bfd *, asection *, arelent **, asymbol **); -#ifndef coff_mkobject_hook -static void * coff_mkobject_hook - (bfd *, void *, void *); -#endif -#ifdef COFF_WITH_PE -static flagword handle_COMDAT - (bfd *, flagword, void *, const char *, asection *); -#endif -#ifdef TICOFF -static bool ticoff0_bad_format_hook - (bfd *, void * ); -static bool ticoff1_bad_format_hook - (bfd *, void * ); -#endif /* void warning(); */