diff --git a/gas/as.h b/gas/as.h index d179537f383..ff665c75812 100644 --- a/gas/as.h +++ b/gas/as.h @@ -541,10 +541,10 @@ int generic_force_reloc (struct fix *); #include "write.h" #include "frags.h" -#include "hashtab.h" -#include "hash.h" #include "read.h" #include "symbols.h" +#include "hashtab.h" +#include "hash.h" #include "tc.h" #include "obj.h" diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c index e5ab8514de7..82cde271fbb 100644 --- a/gas/config/obj-elf.c +++ b/gas/config/obj-elf.c @@ -3006,7 +3006,7 @@ elf_frob_file_after_relocs (void) } /* Cleanup hash. */ - htab_traverse (groups.indexes, free_section_idx, NULL); + htab_traverse_noresize (groups.indexes, free_section_idx, NULL); htab_delete (groups.indexes); #ifdef NEED_ECOFF_DEBUG diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index 7fa7e572a22..3011302ffba 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -11853,7 +11853,7 @@ do_alias (void **slot, void *arg ATTRIBUTE_UNUSED) void ia64_adjust_symtab (void) { - htab_traverse (alias_hash, do_alias, NULL); + htab_traverse_noresize (alias_hash, do_alias, NULL); } /* It renames the original section name to its alias. */ @@ -11878,7 +11878,7 @@ do_secalias (void **slot, void *arg ATTRIBUTE_UNUSED) void ia64_frob_file (void) { - htab_traverse (secalias_hash, do_secalias, NULL); + htab_traverse_noresize (secalias_hash, do_secalias, NULL); } #ifdef TE_VMS diff --git a/gas/config/tc-nds32.c b/gas/config/tc-nds32.c index 48893a5762e..6b082a3a26c 100644 --- a/gas/config/tc-nds32.c +++ b/gas/config/tc-nds32.c @@ -7480,7 +7480,8 @@ nds32_insert_relax_entry (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, static void nds32_elf_analysis_relax_hint (void) { - htab_traverse (nds32_hint_hash, nds32_elf_append_relax_relocs_traverse, NULL); + htab_traverse_noresize (nds32_hint_hash, + nds32_elf_append_relax_relocs_traverse, NULL); } static void diff --git a/gas/hash.h b/gas/hash.h index 29e882514f4..30404d88928 100644 --- a/gas/hash.h +++ b/gas/hash.h @@ -99,7 +99,7 @@ static inline htab_t str_htab_create (void) { return htab_create_alloc (16, hash_string_tuple, eq_string_tuple, - free, xcalloc, free); + NULL, notes_calloc, NULL); } #endif /* HASH_H */ diff --git a/gas/symbols.c b/gas/symbols.c index 744f6e1260f..6904a3102cf 100644 --- a/gas/symbols.c +++ b/gas/symbols.c @@ -1786,7 +1786,7 @@ resolve_local_symbol (void **slot, void *arg ATTRIBUTE_UNUSED) void resolve_local_symbol_values (void) { - htab_traverse (sy_hash, resolve_local_symbol, NULL); + htab_traverse_noresize (sy_hash, resolve_local_symbol, NULL); } /* Obtain the current value of a symbol without changing any