From 1201fda61b3bcf0028a57e622aebb16ec614f7dc Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 29 Mar 2021 09:41:01 +1030 Subject: [PATCH] hash table iterator callback functions int vs. bfd_boolean 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. --- bfd/ChangeLog | 19 +++++++++++++++++++ bfd/elf32-i386.c | 2 +- bfd/elf64-ia64-vms.c | 4 ++-- bfd/elf64-x86-64.c | 2 +- bfd/elfnn-aarch64.c | 4 ++-- bfd/elfnn-ia64.c | 4 ++-- bfd/elfnn-riscv.c | 6 +++--- bfd/elfxx-mips.c | 4 ++-- bfd/elfxx-sparc.c | 4 ++-- bfd/elfxx-x86.c | 2 +- 10 files changed, 35 insertions(+), 16 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 5cdb6c87313..398def06eb3 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,22 @@ +2021-03-29 Alan Modra + + * 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. + 2021-03-29 Alan Modra * elflink.c (elf_link_output_symstrtab): Make flinfo parameter 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 -- 2.30.2