aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-08-10 07:57:40 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-08-10 07:57:57 -0700
commit422f11824b3abf6c71042e2ee3aed572f250fc89 (patch)
treeb5aaf430dc6e3a835909515d350a21ebbd10878c /bfd/ChangeLog
parent75fb7498c25ba89262867abe5340a8d38f1e19cd (diff)
downloadgdb-422f11824b3abf6c71042e2ee3aed572f250fc89.zip
gdb-422f11824b3abf6c71042e2ee3aed572f250fc89.tar.gz
gdb-422f11824b3abf6c71042e2ee3aed572f250fc89.tar.bz2
Replace hidden with versioned in elf_link_hash_entry
This patch replaces the "hidden" field with the "versioned" field in elf_link_hash_entry so that we can avoid calling strchr and strrchr if the symbol is unversioned. * elf-bfd.h (elf_symbol_version): New enum. (elf_link_hash_entry): Replace hidden with versioned. * elflink.c (_bfd_elf_merge_symbol): Don't look for symbol version if the symbol is unversioned. Initialize versioned. (_bfd_elf_add_default_symbol): Don't look for symbol version if the symbol is unversioned or hidden. Initialize versioned. (elf_collect_hash_codes): Don't look for symbol version if the symbol is unversioned. (elf_collect_gnu_hash_codes): Likewise. (bfd_elf_gc_mark_dynamic_ref_symbol): Likewise. (_bfd_elf_link_hash_copy_indirect): Check versioned instead of hidden. (elf_link_output_extsym): Likewise.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r--bfd/ChangeLog18
1 files changed, 17 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index c319f80..97ed6ea 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,19 @@
+2015-08-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (elf_symbol_version): New enum.
+ (elf_link_hash_entry): Replace hidden with versioned.
+ * elflink.c (_bfd_elf_merge_symbol): Don't look for symbol
+ version if the symbol is unversioned. Initialize versioned.
+ (_bfd_elf_add_default_symbol): Don't look for symbol version
+ if the symbol is unversioned or hidden. Initialize versioned.
+ (elf_collect_hash_codes): Don't look for symbol version if the
+ symbol is unversioned.
+ (elf_collect_gnu_hash_codes): Likewise.
+ (bfd_elf_gc_mark_dynamic_ref_symbol): Likewise.
+ (_bfd_elf_link_hash_copy_indirect): Check versioned instead of
+ hidden.
+ (elf_link_output_extsym): Likewise.
+
2015-08-07 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/18785
@@ -27,7 +43,7 @@
(elf_link_output_extsym): Bind a symbol locally when linking
executable if it is locally defined, hidden versioned, not
referenced by shared library and not exported. Turn on
- VERSYM_HIDDEN only if the hidden vesioned symbol is defined
+ VERSYM_HIDDEN only if the hidden versioned symbol is defined
locally.
2015-08-05 Nick Clifton <nickc@redhat.com>