public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* tic54x set_arch_mach
@ 2023-05-20  1:16 Alan Modra
  0 siblings, 0 replies; only message in thread
From: Alan Modra @ 2023-05-20  1:16 UTC (permalink / raw)
  To: binutils

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
 \f
 /* void warning(); */
 

-- 
Alan Modra
Australia Development Lab, IBM

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-05-20  1:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-20  1:16 tic54x set_arch_mach Alan Modra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).