This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Clear dynstr_index when forcing symbols local


This is really just cosmetic, but it does protect a little from
accidentally reading a stale value.

	* elflink.c (_bfd_elf_link_hash_hide_symbol): Clear dynstr_index
	when force_local.

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 6cda710..c870cc7 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,10 @@
 2017-04-27  Alan Modra  <amodra@gmail.com>
 
+	* elflink.c (_bfd_elf_link_hash_hide_symbol): Clear dynstr_index
+	when force_local.
+
+2017-04-27  Alan Modra  <amodra@gmail.com>
+
 	* elf32-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
 	(ppc_elf_select_plt_layout, ppc_elf_tls_setup): Use it.
 	(ppc_elf_adjust_dynamic_symbol, allocate_dynrelocs): Likewise.
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 73af763..59300b7 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -7295,9 +7295,10 @@ _bfd_elf_link_hash_hide_symbol (struct bfd_link_info *info,
       h->forced_local = 1;
       if (h->dynindx != -1)
 	{
-	  h->dynindx = -1;
 	  _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr,
 				  h->dynstr_index);
+	  h->dynindx = -1;
+	  h->dynstr_index = 0;
 	}
     }
 }

-- 
Alan Modra
Australia Development Lab, IBM


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]