diff options
author | Jiong Wang <jiong.wang@arm.com> | 2017-04-05 17:22:47 +0100 |
---|---|---|
committer | Jiong Wang <jiong.wang@arm.com> | 2017-04-06 10:31:27 +0100 |
commit | 0f65a5d84d0a83e5594cf17d04e9f98ab66652a4 (patch) | |
tree | ad501422fdad0be04998024eb840220a24cc750c /binutils/ChangeLog | |
parent | 9014582538e38055e438b6cce28d165a73abcc60 (diff) | |
download | gdb-0f65a5d84d0a83e5594cf17d04e9f98ab66652a4.zip gdb-0f65a5d84d0a83e5594cf17d04e9f98ab66652a4.tar.gz gdb-0f65a5d84d0a83e5594cf17d04e9f98ab66652a4.tar.bz2 |
[objcopy] Fix quadratic-time when handling --redefine-syms
objcopy/
* objcopy.c (struct redefine_node): Delete the field "next".
(redefine_sym_list): Deleted.
(redefine_specific_htab): New hash table.
(redefine_specific_reverse_htab): Likewise.
(eq_string_redefnode): New function.
(htab_hash_redefnode): Likewise.
(create_symbol2redef_htab): Likewise.
(add_specific_symbol_node): Likewise.
(create_symbol_htabs): Create redefine_specific_htab and
redefine_specific_reverse_htab.
(lookup_sym_redefinition): Use hash table instead of list.
(redefine_list_append): Likewise, and rename to add_redefine_and_check.
(copy_main): Use redefine_specific_htab instead of redefine_sym_list.
Update comments.
Diffstat (limited to 'binutils/ChangeLog')
-rw-r--r-- | binutils/ChangeLog | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index d347336..5323e6a 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,20 @@ +2017-04-05 Jiong Wang <jiong.wang@arm.com> + + * objcopy.c (struct redefine_node): Delete the field "next". + (redefine_sym_list): Deleted. + (redefine_specific_htab): New hash table. + (redefine_specific_reverse_htab): Likewise. + (eq_string_redefnode): New function. + (htab_hash_redefnode): Likewise. + (create_symbol2redef_htab): Likewise. + (add_specific_symbol_node): Likewise. + (create_symbol_htabs): Create redefine_specific_htab and + redefine_specific_reverse_htab. + (lookup_sym_redefinition): Use hash table instead of list. + (redefine_list_append): Likewise, and rename to add_redefine_and_check. + (copy_main): Use redefine_specific_htab instead of redefine_sym_list. + Update comments. + 2017-04-04 H.J. Lu <hongjiu.lu@intel.com> * NEWS: Mention support for ELF SHF_GNU_MBIND and |