diff options
author | Alan Modra <amodra@gmail.com> | 2021-03-29 09:39:15 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2021-03-29 11:22:21 +1030 |
commit | 37bb890f814d58dd4c5f67db32ea4618008229ee (patch) | |
tree | 96cac119eb97496b93bf83069ff0634dde3846b1 /bfd/elflink.c | |
parent | 0f68420117f805ecb51aa623867201f9d95a5ab7 (diff) | |
download | gdb-37bb890f814d58dd4c5f67db32ea4618008229ee.zip gdb-37bb890f814d58dd4c5f67db32ea4618008229ee.tar.gz gdb-37bb890f814d58dd4c5f67db32ea4618008229ee.tar.bz2 |
ELF output symbol hooks int vs. bfd_boolean
elf_backend_link_output_symbol_hook and elf_link_output_symstrtab may
return 2 when a symbol is to be discarded. Update places that use
bfd_boolean rather than int for these functions.
* elflink.c (elf_link_output_symstrtab): Make flinfo parameter
a void pointer.
(bfd_elf_final_link): Delete out_sym_func typedef and don't cast
elf_link_output_symstrtab when calling output_arch_syms and
output_arch_local_syms.
* elf-bfd.h (struct elf_backend_data <elf_backend_output_arch_syms,
elf_backend_output_arch_local_syms>): Change return type of func
arg to match elf_link_output_symstrtab.
* elf-vxworks.h (elf_vxworks_link_output_symbol_hook): Correct
return type.
* elf32-nds32.c (nds32_elf_output_symbol_hook): Correct return type.
(nds32_elf_output_arch_syms): Correct func return type.
Diffstat (limited to 'bfd/elflink.c')
-rw-r--r-- | bfd/elflink.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/bfd/elflink.c b/bfd/elflink.c index c5db406..6be14e7 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -9767,12 +9767,13 @@ elf_link_sort_relocs (bfd *abfd, struct bfd_link_info *info, asection **psec) /* Add a symbol to the output symbol string table. */ static int -elf_link_output_symstrtab (struct elf_final_link_info *flinfo, +elf_link_output_symstrtab (void *finf, const char *name, Elf_Internal_Sym *elfsym, asection *input_sec, struct elf_link_hash_entry *h) { + struct elf_final_link_info *flinfo = finf; int (*output_symbol_hook) (struct bfd_link_info *, const char *, Elf_Internal_Sym *, asection *, struct elf_link_hash_entry *); @@ -12662,13 +12663,8 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) if (bed->elf_backend_output_arch_local_syms && (info->strip != strip_all || emit_relocs)) { - typedef int (*out_sym_func) - (void *, const char *, Elf_Internal_Sym *, asection *, - struct elf_link_hash_entry *); - if (! ((*bed->elf_backend_output_arch_local_syms) - (abfd, info, &flinfo, - (out_sym_func) elf_link_output_symstrtab))) + (abfd, info, &flinfo, elf_link_output_symstrtab))) { ret = FALSE; goto return_local_hash_table; @@ -12796,13 +12792,8 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) if (bed->elf_backend_output_arch_syms && (info->strip != strip_all || emit_relocs)) { - typedef int (*out_sym_func) - (void *, const char *, Elf_Internal_Sym *, asection *, - struct elf_link_hash_entry *); - if (! ((*bed->elf_backend_output_arch_syms) - (abfd, info, &flinfo, - (out_sym_func) elf_link_output_symstrtab))) + (abfd, info, &flinfo, elf_link_output_symstrtab))) { ret = FALSE; goto return_local_hash_table; |