#include "bfd.h"#include "sysdep.h"#include "libbfd.h"#include "objalloc.h"#include "libiberty.h"

Go to the source code of this file.
| #define DEFAULT_SIZE 4051 |
| #define strtab_hash_lookup | ( | t, | |||
| string, | |||||
| create, | |||||
| copy | ) |
Value:
((struct strtab_hash_entry *) \ bfd_hash_lookup (&(t)->table, (string), (create), (copy)))
Definition at line 605 of file hash.c.
Referenced by _bfd_stringtab_add().
| bfd_size_type _bfd_stringtab_add | ( | struct bfd_strtab_hash * | tab, | |
| const char * | str, | |||
| bfd_boolean | hash, | |||
| bfd_boolean | copy | |||
| ) |
Definition at line 665 of file hash.c.
References bfd_hash_allocate(), strtab_hash_entry::index, n, strtab_hash_entry::next, NULL, strtab_hash_entry::root, bfd_hash_entry::string, strlen(), strtab_hash_lookup, and TRUE.
Referenced by _bfd_coff_final_link(), _bfd_coff_link_input_bfd(), _bfd_coff_write_global_sym(), _bfd_elf_stringtab_init(), _bfd_link_section_stabs(), _bfd_xcoff64_put_symbol_name(), _bfd_xcoff_put_symbol_name(), add_to_stringtab(), bfd_xcoff_size_dynamic_sections(), elf_link_output_sym(), swap_out_syms(), and xcoff_link_input_bfd().
| bfd_boolean _bfd_stringtab_emit | ( | bfd * | abfd, | |
| struct bfd_strtab_hash * | tab | |||
| ) |
Definition at line 733 of file hash.c.
References bfd_bwrite(), bfd_put_16, buf, FALSE, bfd_strtab_hash::first, len, strtab_hash_entry::next, NULL, PTR, strtab_hash_entry::root, str, bfd_hash_entry::string, strlen(), TRUE, and bfd_strtab_hash::xcoff.
Referenced by _bfd_coff_final_link(), _bfd_elf_compute_section_file_positions(), _bfd_write_stab_strings(), _bfd_xcoff_bfd_final_link(), bfd_elf_final_link(), elf_bfd_final_link(), emit_stringtab(), and ppc_bfd_coff_final_link().
| void _bfd_stringtab_free | ( | struct bfd_strtab_hash * | table | ) |
Definition at line 653 of file hash.c.
References bfd_hash_table_free(), and free().
Referenced by _bfd_coff_final_link(), _bfd_elf_compute_section_file_positions(), _bfd_elf_stringtab_init(), _bfd_write_stab_strings(), _bfd_xcoff_bfd_final_link(), _bfd_xcoff_bfd_link_hash_table_free(), bfd_elf_final_link(), elf_bfd_final_link(), NAME(), ppc_bfd_coff_final_link(), and swap_out_syms().
| struct bfd_strtab_hash* _bfd_stringtab_init | ( | void | ) | [read] |
Definition at line 612 of file hash.c.
References bfd_hash_table_init(), bfd_malloc(), FALSE, bfd_strtab_hash::first, free(), bfd_strtab_hash::last, NULL, bfd_strtab_hash::size, strtab_hash_newfunc(), bfd_strtab_hash::table, and bfd_strtab_hash::xcoff.
Referenced by _bfd_coff_final_link(), _bfd_elf_stringtab_init(), _bfd_link_section_stabs(), _bfd_xcoff_bfd_final_link(), _bfd_xcoff_stringtab_init(), NAME(), and ppc_bfd_coff_final_link().
| bfd_size_type _bfd_stringtab_size | ( | struct bfd_strtab_hash * | tab | ) |
Definition at line 723 of file hash.c.
Referenced by _bfd_coff_final_link(), _bfd_link_section_stabs(), _bfd_write_section_stabs(), _bfd_write_stab_strings(), _bfd_xcoff_bfd_final_link(), bfd_elf_final_link(), bfd_xcoff_size_dynamic_sections(), elf_bfd_final_link(), emit_stringtab(), ppc_bfd_coff_final_link(), and swap_out_syms().
| struct bfd_strtab_hash* _bfd_xcoff_stringtab_init | ( | void | ) | [read] |
Definition at line 640 of file hash.c.
References _bfd_stringtab_init(), NULL, ret, TRUE, and bfd_strtab_hash::xcoff.
Referenced by _bfd_xcoff_bfd_link_hash_table_create().
| PTR bfd_hash_allocate | ( | struct bfd_hash_table * | table, | |
| unsigned int | size | |||
| ) |
Definition at line 474 of file hash.c.
References bfd_error_no_memory, bfd_set_error(), memset, NULL, objalloc_alloc, PTR, and ret.
Referenced by _bfd_coff_debug_merge_hash_newfunc(), _bfd_coff_link_hash_newfunc(), _bfd_elf_add_default_symbol(), _bfd_elf_link_hash_newfunc(), _bfd_generic_link_add_one_symbol(), _bfd_generic_link_hash_newfunc(), _bfd_link_hash_newfunc(), _bfd_link_section_stabs(), _bfd_stringtab_add(), _bfd_vms_hash_newfunc(), already_linked_newfunc(), aout_link_check_ar_symbols(), aout_link_includes_newfunc(), aout_link_write_symbols(), archive_hash_newfunc(), bfd_hash_newfunc(), bfd_section_already_linked_table_insert(), bfd_section_hash_newfunc(), branch_hash_newfunc(), coff_link_add_symbols(), cref_hash_newfunc(), ecoff_link_hash_newfunc(), elf32_mn10300_link_hash_newfunc(), elf64_alpha_link_hash_newfunc(), elf64_hppa_new_dyn_hash_entry(), elf_cris_link_hash_newfunc(), elf_m68k_link_hash_newfunc(), elf_strtab_hash_newfunc(), elf_vax_link_hash_newfunc(), elfNN_ia64_new_elf_hash_entry(), funcvec_hash_newfunc(), generic_link_check_archive_element(), hppa_link_hash_newfunc(), lang_definedness_newfunc(), link_hash_newfunc(), linux_link_hash_newfunc(), m32r_elf_link_hash_newfunc(), mips_elf_link_hash_newfunc(), NAME(), new_fixup(), ppc_coff_link_hash_newfunc(), ppc_elf_link_hash_newfunc(), sec_merge_hash_newfunc(), sh64_elf64_link_hash_newfunc(), sh_elf_link_hash_newfunc(), sparc64_elf_add_symbol_hook(), sparc64_elf_size_dynamic_sections(), stab_link_includes_newfunc(), string_hash_newfunc(), strtab_hash_newfunc(), stub_hash_newfunc(), sunos_link_hash_newfunc(), and xcoff_link_hash_newfunc().
| struct bfd_hash_entry* bfd_hash_lookup | ( | struct bfd_hash_table * | table, | |
| const char * | string, | |||
| bfd_boolean | create, | |||
| bfd_boolean | copy | |||
| ) | [read] |
Definition at line 368 of file hash.c.
References bfd_error_no_memory, bfd_set_error(), c, bfd_hash_entry::hash, index(), len, memcpy, bfd_hash_entry::next, NULL, objalloc_alloc, s, strcmp(), and bfd_hash_entry::string.
Referenced by _bfd_coff_link_input_bfd(), _bfd_coff_write_global_sym(), _bfd_elf_mips_get_relocated_section_contents(), _bfd_elf_strtab_add(), _bfd_generic_link_add_one_symbol(), _bfd_generic_link_output_symbols(), _bfd_generic_link_write_global_symbol(), _bfd_link_section_stabs(), _bfd_vms_enter_symbol(), _bfd_vms_slurp_gsd(), add_keepsyms_file(), add_wrap(), add_ysym(), aout_link_write_other_symbol(), aout_link_write_symbols(), bfd_link_hash_lookup(), bfd_section_already_linked_table_lookup(), bfd_wrapped_link_hash_lookup(), coff_m68k_aux_link_add_one_symbol(), ecoff_link_write_external(), elf64_alpha_output_extsym(), elf64_hppa_dyn_hash_lookup(), elf_link_input_bfd(), elf_link_output_extsym(), etir_sta(), etir_sto(), lang_symbol_definition_iteration(), lang_track_definedness(), lang_update_definedness(), mips_elf_output_extsym(), notice(), sparc64_elf_output_arch_syms(), undefined_symbol(), and xcoff_link_input_bfd().
| struct bfd_hash_entry* bfd_hash_newfunc | ( | struct bfd_hash_entry * | entry, | |
| struct bfd_hash_table * | table, | |||
| string | ||||
| ) | [read] |
| void bfd_hash_replace | ( | struct bfd_hash_table * | table, | |
| struct bfd_hash_entry * | old, | |||
| struct bfd_hash_entry * | nw | |||
| ) |
Definition at line 434 of file hash.c.
References abort, bfd_hash_entry::hash, index(), bfd_hash_entry::next, and NULL.
Referenced by _bfd_generic_link_add_one_symbol().
| void bfd_hash_set_default_size | ( | bfd_size_type | hash_size | ) |
Definition at line 512 of file hash.c.
References ARRAY_SIZE, bfd_default_hash_table_size, and index().
Referenced by main().
| void bfd_hash_table_free | ( | struct bfd_hash_table * | table | ) |
Definition at line 358 of file hash.c.
References NULL, and objalloc_free().
Referenced by _bfd_delete_bfd(), _bfd_elf_strtab_free(), _bfd_generic_link_hash_table_free(), _bfd_stringtab_free(), _bfd_write_stab_strings(), _bfd_xcoff_bfd_link_hash_table_free(), bfd_ecoff_debug_free(), bfd_preserve_finish(), bfd_preserve_restore(), bfd_section_already_linked_table_free(), elf32_hppa_link_hash_table_free(), m68hc11_elf_bfd_link_hash_table_free(), NAME(), ppc64_elf_link_hash_table_free(), vms_close_and_cleanup(), and vms_initialize().
| bfd_boolean bfd_hash_table_init | ( | struct bfd_hash_entry ** | struct bfd_hash_table *, | |
| struct bfd_hash_entry ** | newfunc | |||
| ) |
Definition at line 346 of file hash.c.
References bfd_default_hash_table_size, and bfd_hash_table_init_n().
| bfd_boolean bfd_hash_table_init_n | ( | struct bfd_hash_entry ** | struct bfd_hash_table *, | |
| struct bfd_hash_entry ** | newfunc, | |||
| unsigned int | size | |||
| ) |
Definition at line 313 of file hash.c.
References bfd_error_no_memory, bfd_set_error(), FALSE, memset, NULL, objalloc_alloc, objalloc_create(), PTR, and TRUE.
| void bfd_hash_traverse | ( | struct bfd_hash_table * | table, | |
| bfd_boolean * | func, | |||
| PTR | info | |||
| ) |
| static struct bfd_hash_entry* strtab_hash_newfunc PARAMS | ( | (struct bfd_hash_entry *, struct bfd_hash_table *, const char *) | ) | [static, read] |
| static struct bfd_hash_entry* strtab_hash_newfunc | ( | struct bfd_hash_entry * | entry, | |
| struct bfd_hash_table * | table, | |||
| const char * | string | |||
| ) | [static, read] |
Definition at line 574 of file hash.c.
References bfd_hash_allocate(), bfd_hash_newfunc(), strtab_hash_entry::index, strtab_hash_entry::next, NULL, and ret.
Referenced by _bfd_stringtab_init().
size_t bfd_default_hash_table_size = DEFAULT_SIZE [static] |
Definition at line 308 of file hash.c.
Referenced by bfd_hash_set_default_size(), and bfd_hash_table_init().
1.5.6