hash table iterator callback functions int vs. bfd_boolean

Alan Modra amodra@gmail.com
Mon Mar 29 00:40:04 GMT 2021


Correct return type of callbacks invoked by htab_traverse and other
hashtab.h functions to int, and one case of a callback invoked by
elf_link_hash_traverse to bfd_boolean.

	* elf32-i386.c (elf_i386_finish_local_dynamic_symbol): Return int.
	* elf64-ia64-vms.c (elf64_ia64_local_dyn_info_free): Likewise.
	(elf64_ia64_local_dyn_sym_thunk): Likewise.
	* elf64-x86-64.c (elf_x86_64_finish_local_dynamic_symbol): Likewise.
	* elfnn-aarch64.c (elfNN_aarch64_allocate_local_ifunc_dynrelocs),
	(elfNN_aarch64_finish_local_dynamic_symbol): Likewise.
	* elfnn-ia64.c (elfNN_ia64_local_dyn_info_free): Likewise.
	(elfNN_ia64_local_dyn_sym_thunk): Likewise.
	* elfnn-riscv.c (allocate_local_ifunc_dynrelocs): Likewise.
	(riscv_pcrel_reloc_eq): Likewise.
	(riscv_elf_finish_local_dynamic_symbol): Likewise.
	* elfxx-sparc.c (allocate_local_dynrelocs): Likewise.
	(finish_local_dynamic_symbol): Likewise.
	* elfxx-x86.c (elf_x86_allocate_local_dynreloc): Likewise.
	* elfxx-mips.c (mips_elf_resolve_got_page_ref): Likewise.
	(mips_elf_count_got_symbols): Change return type to bfd_boolean.

diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index b95340f2897..ccbf2d6d0e6 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -3918,7 +3918,7 @@ elf_i386_finish_dynamic_symbol (bfd *output_bfd,
 /* Finish up local dynamic symbol handling.  We set the contents of
    various dynamic sections here.  */
 
-static bfd_boolean
+static int
 elf_i386_finish_local_dynamic_symbol (void **slot, void *inf)
 {
   struct elf_link_hash_entry *h
diff --git a/bfd/elf64-ia64-vms.c b/bfd/elf64-ia64-vms.c
index 0a8cbc6b5b1..617ecfe5d08 100644
--- a/bfd/elf64-ia64-vms.c
+++ b/bfd/elf64-ia64-vms.c
@@ -1010,7 +1010,7 @@ elf64_ia64_global_dyn_info_free (void **xentry,
 
 /* Free the local elf64_ia64_dyn_sym_info array.  */
 
-static bfd_boolean
+static int
 elf64_ia64_local_dyn_info_free (void **slot,
 				void * unused ATTRIBUTE_UNUSED)
 {
@@ -1111,7 +1111,7 @@ elf64_ia64_global_dyn_sym_thunk (struct bfd_hash_entry *xentry,
   return TRUE;
 }
 
-static bfd_boolean
+static int
 elf64_ia64_local_dyn_sym_thunk (void **slot, void * xdata)
 {
   struct elf64_ia64_local_hash_entry *entry
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 2fcba8bfd60..5edbb7084ad 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -4574,7 +4574,7 @@ elf_x86_64_finish_dynamic_symbol (bfd *output_bfd,
 /* Finish up local dynamic symbol handling.  We set the contents of
    various dynamic sections here.  */
 
-static bfd_boolean
+static int
 elf_x86_64_finish_local_dynamic_symbol (void **slot, void *inf)
 {
   struct elf_link_hash_entry *h
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index ccabc4fdcf3..3ec0983caff 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -8828,7 +8828,7 @@ elfNN_aarch64_allocate_ifunc_dynrelocs (struct elf_link_hash_entry *h,
 /* Allocate space in .plt, .got and associated reloc sections for
    local ifunc dynamic relocs.  */
 
-static bfd_boolean
+static int
 elfNN_aarch64_allocate_local_ifunc_dynrelocs (void **slot, void *inf)
 {
   struct elf_link_hash_entry *h
@@ -9475,7 +9475,7 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd,
 /* Finish up local dynamic symbol handling.  We set the contents of
    various dynamic sections here.  */
 
-static bfd_boolean
+static int
 elfNN_aarch64_finish_local_dynamic_symbol (void **slot, void *inf)
 {
   struct elf_link_hash_entry *h
diff --git a/bfd/elfnn-ia64.c b/bfd/elfnn-ia64.c
index 5cb9e686835..04bf7d7f25a 100644
--- a/bfd/elfnn-ia64.c
+++ b/bfd/elfnn-ia64.c
@@ -1408,7 +1408,7 @@ elfNN_ia64_global_dyn_info_free (void **xentry,
 
 /* Free the local elfNN_ia64_dyn_sym_info array.  */
 
-static bfd_boolean
+static int
 elfNN_ia64_local_dyn_info_free (void **slot,
 				void * unused ATTRIBUTE_UNUSED)
 {
@@ -1507,7 +1507,7 @@ elfNN_ia64_global_dyn_sym_thunk (struct bfd_hash_entry *xentry,
   return TRUE;
 }
 
-static bfd_boolean
+static int
 elfNN_ia64_local_dyn_sym_thunk (void **slot, void * xdata)
 {
   struct elfNN_ia64_local_hash_entry *entry
diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
index ddccb40e243..391846aaa69 100644
--- a/bfd/elfnn-riscv.c
+++ b/bfd/elfnn-riscv.c
@@ -1352,7 +1352,7 @@ allocate_ifunc_dynrelocs (struct elf_link_hash_entry *h,
 /* Allocate space in .plt, .got and associated reloc sections for
    local ifunc dynamic relocs.  */
 
-static bfd_boolean
+static int
 allocate_local_ifunc_dynrelocs (void **slot, void *inf)
 {
   struct elf_link_hash_entry *h
@@ -1766,7 +1766,7 @@ riscv_pcrel_reloc_hash (const void *entry)
   return (hashval_t)(e->address >> 2);
 }
 
-static bfd_boolean
+static int
 riscv_pcrel_reloc_eq (const void *entry1, const void *entry2)
 {
   const riscv_pcrel_hi_reloc *e1 = entry1, *e2 = entry2;
@@ -3110,7 +3110,7 @@ riscv_elf_finish_dynamic_symbol (bfd *output_bfd,
 /* Finish up local dynamic symbol handling.  We set the contents of
    various dynamic sections here.  */
 
-static bfd_boolean
+static int
 riscv_elf_finish_local_dynamic_symbol (void **slot, void *inf)
 {
   struct elf_link_hash_entry *h = (struct elf_link_hash_entry *) *slot;
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 6d2909fab19..07a233ff920 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -4362,7 +4362,7 @@ mips_elf_record_got_page_entry (struct mips_elf_traverse_got_arg *arg,
    whether the page reference described by *REFP needs a GOT page entry,
    and record that entry in DATA->g if so.  Set DATA->g to null on failure.  */
 
-static bfd_boolean
+static int
 mips_elf_resolve_got_page_ref (void **refp, void *data)
 {
   struct mips_got_page_ref *ref;
@@ -4530,7 +4530,7 @@ mips_use_local_got_p (struct bfd_link_info *info,
    Count the number of global symbols that are in the primary GOT only
    because they have relocations against them (reloc_only_gotno).  */
 
-static int
+static bfd_boolean
 mips_elf_count_got_symbols (struct mips_elf_link_hash_entry *h, void *data)
 {
   struct bfd_link_info *info;
diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c
index 2173465e651..f2ef9a34499 100644
--- a/bfd/elfxx-sparc.c
+++ b/bfd/elfxx-sparc.c
@@ -2345,7 +2345,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
 /* Allocate space in .plt, .got and associated reloc sections for
    local dynamic relocs.  */
 
-static bfd_boolean
+static int
 allocate_local_dynrelocs (void **slot, void *inf)
 {
   struct elf_link_hash_entry *h
@@ -4658,7 +4658,7 @@ sparc_vxworks_finish_shared_plt (bfd *output_bfd, struct bfd_link_info *info)
 /* Finish up local dynamic symbol handling.  We set the contents of
    various dynamic sections here.  */
 
-static bfd_boolean
+static int
 finish_local_dynamic_symbol (void **slot, void *inf)
 {
   struct elf_link_hash_entry *h
diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c
index 6ff9fd56ee7..81c1e5c7fa6 100644
--- a/bfd/elfxx-x86.c
+++ b/bfd/elfxx-x86.c
@@ -534,7 +534,7 @@ elf_x86_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
 /* Allocate space in .plt, .got and associated reloc sections for
    local dynamic relocs.  */
 
-static bfd_boolean
+static int
 elf_x86_allocate_local_dynreloc (void **slot, void *inf)
 {
   struct elf_link_hash_entry *h

-- 
Alan Modra
Australia Development Lab, IBM


More information about the Binutils mailing list