]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
bfd: Don't hard-code BFD_JUMP_TABLE_COPY
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 6 Mar 2024 23:23:56 +0000 (15:23 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 8 Mar 2024 13:43:51 +0000 (05:43 -0800)
In BFD_JUMP_TABLE_COPY, replace _bfd_generic_init_private_section_data
with NAME##_init_private_section_data so that ELF targets can properly
replace it with _bfd_elf_init_private_section_data.

* aout-target.h (MY_init_private_section_data): New.
* coff-rs6000.c (_bfd_xcoff_init_private_section_data): New.
* coffcode.h (coff_init_private_section_data): New.
* elfxx-target.h (bfd_elfNN_init_private_section_data): New.
* libecoff.h (_bfd_ecoff_init_private_section_data): New.
* mach-o-target.c (bfd_mach_o_init_private_section_data): New.
* mmo.c (mmo_init_private_section_data): New.
* plugin.c (bfd_plugin_init_private_section_data): New.
* ppcboot.c (ppcboot_init_private_section_data): New.
* som.c (som_init_private_section_data): New.
* targets.c (BFD_JUMP_TABLE_COPY): Replace
_bfd_generic_init_private_section_data with
NAME##_init_private_section_data.
* vms-alpha.c (vms_init_private_section_data): New.
* elf-bfd.h (_bfd_generic_init_private_section_data): Removed.
* bfd-in2.h: Regenerated.

14 files changed:
bfd/aout-target.h
bfd/bfd-in2.h
bfd/coff-rs6000.c
bfd/coffcode.h
bfd/elf-bfd.h
bfd/elfxx-target.h
bfd/libecoff.h
bfd/mach-o-target.c
bfd/mmo.c
bfd/plugin.c
bfd/ppcboot.c
bfd/som.c
bfd/targets.c
bfd/vms-alpha.c

index 4a05c60243518c5ad3b7fe900947a9e220fabc74..47fe49fe04a2efcce522dba9e9695a9185e5db64 100644 (file)
@@ -569,6 +569,9 @@ MY_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
 #define MY_bfd_merge_private_bfd_data _bfd_generic_bfd_merge_private_bfd_data
 #endif
 
+#define MY_init_private_section_data \
+  _bfd_generic_init_private_section_data
+
 #ifndef MY_bfd_copy_private_symbol_data
 #define MY_bfd_copy_private_symbol_data _bfd_generic_bfd_copy_private_symbol_data
 #endif
index a335df522d20a6435a6750ef89af3a57642cf656..79b24a7f6e9789422cb7f1b744e1af01a73fde52 100644 (file)
@@ -7685,7 +7685,7 @@ typedef struct bfd_target
 #define BFD_JUMP_TABLE_COPY(NAME) \
   NAME##_bfd_copy_private_bfd_data, \
   NAME##_bfd_merge_private_bfd_data, \
-  _bfd_generic_init_private_section_data, \
+  NAME##_init_private_section_data, \
   NAME##_bfd_copy_private_section_data, \
   NAME##_bfd_copy_private_symbol_data, \
   NAME##_bfd_copy_private_header_data, \
index 87feb672bf19bf99885d4ce2283f6d3b73bcfa07..7d04739c8a9ea7a53c79fd23a88e17c43b938717 100644 (file)
@@ -4471,6 +4471,8 @@ const struct xcoff_dwsect_name xcoff_dwsect_names[] = {
   _bfd_generic_get_section_contents_in_window
 
 /* For copy private data entry points.  */
+#define _bfd_xcoff_init_private_section_data \
+  _bfd_generic_init_private_section_data
 #define _bfd_xcoff_bfd_copy_private_bfd_data \
   _bfd_xcoff_copy_private_bfd_data
 #define _bfd_xcoff_bfd_merge_private_bfd_data \
index 4170b630b4db39501e3509846c226d6745125f76..ebf4f513fdea90bc776e2964c71acd2ba7f78eff 100644 (file)
@@ -5968,6 +5968,8 @@ static const bfd_coff_backend_data bigobj_swap_table =
 #define coff_bfd_copy_private_header_data   _bfd_generic_bfd_copy_private_header_data
 #endif
 
+#define coff_init_private_section_data     _bfd_generic_init_private_section_data
+
 #ifndef coff_bfd_copy_private_section_data
 #define coff_bfd_copy_private_section_data  _bfd_generic_bfd_copy_private_section_data
 #endif
index 3ed22fa6c52716d86bcb435a6ad39e07c158e3b5..c5d325435b60a310844c9adc72bda9c66b64b4af 100644 (file)
@@ -2359,8 +2359,6 @@ extern bool _bfd_elf_copy_private_header_data
   (bfd *, bfd *);
 extern bool _bfd_elf_copy_private_symbol_data
   (bfd *, asymbol *, bfd *, asymbol *);
-#define _bfd_generic_init_private_section_data \
-  _bfd_elf_init_private_section_data
 extern bool _bfd_elf_init_private_section_data
   (bfd *, asection *, bfd *, asection *, struct bfd_link_info *);
 extern bool _bfd_elf_copy_private_section_data
index a7f2fc6e320fed1f60c5408b2ed2954ae1090c2e..1e6992b579304f24f8aaa658442bf28a49bb2b34 100644 (file)
   _bfd_elf_copy_private_symbol_data
 #endif
 
+#define bfd_elfNN_init_private_section_data \
+  _bfd_elf_init_private_section_data
 #ifndef bfd_elfNN_bfd_copy_private_section_data
 #define bfd_elfNN_bfd_copy_private_section_data \
   _bfd_elf_copy_private_section_data
index 5e6de3ccebf789ad820c8b13fa7053925d5a3276..50a0af7c7a2a57bb162531365f6d12c2855a0af4 100644 (file)
@@ -250,6 +250,9 @@ extern bool _bfd_ecoff_get_section_contents
 #define _bfd_ecoff_bfd_link_split_section _bfd_generic_link_split_section
 #define _bfd_ecoff_bfd_link_check_relocs  _bfd_generic_link_check_relocs
 
+#define _bfd_ecoff_init_private_section_data \
+  _bfd_generic_init_private_section_data
+
 extern bool _bfd_ecoff_bfd_copy_private_bfd_data
   (bfd *, bfd *);
 #define _bfd_ecoff_bfd_copy_private_section_data \
index 01666d3aa5c3c68cb93db7f94f6c9ad9c9cf2fb1..6edb09f43479842e06bc8e2b8d396411a5d85200 100644 (file)
@@ -75,6 +75,7 @@
 #define bfd_mach_o_write_armap                   _bfd_noarchive_write_armap
 #define bfd_mach_o_get_elt_at_index              _bfd_noarchive_get_elt_at_index
 #define bfd_mach_o_update_armap_timestamp        _bfd_noarchive_update_armap_timestamp
+#define bfd_mach_o_init_private_section_data     _bfd_generic_init_private_section_data
 
 #define TARGET_NAME_BACKEND XCONCAT2(TARGET_NAME,_backend)
 
index 485a1c3ca33f343069cdea1153c707411f49300a..528de1d10e0d1c3b68a35b058f8463a0dea2684c 100644 (file)
--- a/bfd/mmo.c
+++ b/bfd/mmo.c
@@ -3360,6 +3360,7 @@ mmo_write_object_contents (bfd *abfd)
 #define mmo_bfd_copy_private_header_data _bfd_generic_bfd_copy_private_header_data
 #define mmo_bfd_set_private_flags _bfd_generic_bfd_set_private_flags
 #define mmo_bfd_print_private_bfd_data _bfd_generic_bfd_print_private_bfd_data
+#define mmo_init_private_section_data _bfd_generic_init_private_section_data
 
 const bfd_target mmix_mmo_vec =
 {
index 784a3c1fd9d33148b27634e3a67fe4740b3beb31..8226c264733d72b11c9c4e8a142a54ca2c0ab477 100644 (file)
@@ -74,6 +74,7 @@ dlerror (void)
 #define bfd_plugin_new_section_hook                  _bfd_generic_new_section_hook
 #define bfd_plugin_get_section_contents                      _bfd_generic_get_section_contents
 #define bfd_plugin_get_section_contents_in_window     _bfd_generic_get_section_contents_in_window
+#define bfd_plugin_init_private_section_data         _bfd_generic_init_private_section_data
 #define bfd_plugin_bfd_copy_private_header_data              _bfd_generic_bfd_copy_private_header_data
 #define bfd_plugin_bfd_merge_private_bfd_data        _bfd_generic_bfd_merge_private_bfd_data
 #define bfd_plugin_bfd_copy_private_header_data              _bfd_generic_bfd_copy_private_header_data
index 461050c668bc37dc8b051d2407ba3188f5e23159..2e9477798857e60368c0516c2d7b42709f9dad0f 100644 (file)
@@ -476,6 +476,7 @@ ppcboot_bfd_print_private_bfd_data (bfd *abfd, void * farg)
 
 #define ppcboot_bfd_copy_private_bfd_data _bfd_generic_bfd_copy_private_bfd_data
 #define ppcboot_bfd_merge_private_bfd_data _bfd_generic_bfd_merge_private_bfd_data
+#define ppcboot_init_private_section_data _bfd_generic_init_private_section_data
 #define ppcboot_bfd_copy_private_section_data _bfd_generic_bfd_copy_private_section_data
 #define ppcboot_bfd_copy_private_symbol_data _bfd_generic_bfd_copy_private_symbol_data
 #define ppcboot_bfd_copy_private_header_data _bfd_generic_bfd_copy_private_header_data
index 17c9d7135850bbdcf46459c8afe597eea1f1f85e..dc641e7857b906c62ad1afcff05aad07db551d84 100644 (file)
--- a/bfd/som.c
+++ b/bfd/som.c
@@ -6782,6 +6782,7 @@ som_bfd_link_split_section (bfd *abfd ATTRIBUTE_UNUSED, asection *sec)
 #define som_bfd_link_hide_symbol               _bfd_generic_link_hide_symbol
 #define som_bfd_define_start_stop              bfd_generic_define_start_stop
 #define som_bfd_merge_private_bfd_data         _bfd_generic_bfd_merge_private_bfd_data
+#define som_init_private_section_data          _bfd_generic_init_private_section_data
 #define som_bfd_copy_private_header_data       _bfd_generic_bfd_copy_private_header_data
 #define som_bfd_set_private_flags              _bfd_generic_bfd_set_private_flags
 #define som_find_inliner_info                  _bfd_nosymbols_find_inliner_info
index 3addf2fe373048c1f6919f53a9fe61d63e14ff60..f94992d031d0f5612c6779f403f4b4a06e3f2f70 100644 (file)
@@ -285,7 +285,7 @@ BFD_JUMP_TABLE macros.
 .#define BFD_JUMP_TABLE_COPY(NAME) \
 .  NAME##_bfd_copy_private_bfd_data, \
 .  NAME##_bfd_merge_private_bfd_data, \
-.  _bfd_generic_init_private_section_data, \
+.  NAME##_init_private_section_data, \
 .  NAME##_bfd_copy_private_section_data, \
 .  NAME##_bfd_copy_private_symbol_data, \
 .  NAME##_bfd_copy_private_header_data, \
index f5ecdcb3e0cd2db40b0341cf3dedfc0c55b96024..ace5a24c631a269bac84cab9b68ac584cc1d030f 100644 (file)
@@ -10129,6 +10129,7 @@ bfd_vms_get_data (bfd *abfd)
 
 #define vms_bfd_copy_private_bfd_data    _bfd_generic_bfd_copy_private_bfd_data
 #define vms_bfd_merge_private_bfd_data   _bfd_generic_bfd_merge_private_bfd_data
+#define vms_init_private_section_data    _bfd_generic_init_private_section_data
 #define vms_bfd_copy_private_section_data _bfd_generic_bfd_copy_private_section_data
 #define vms_bfd_copy_private_symbol_data  _bfd_generic_bfd_copy_private_symbol_data
 #define vms_bfd_copy_private_header_data  _bfd_generic_bfd_copy_private_header_data