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]

[PATCH] microblaze: Check for indirect and warning symbols


Relocations against indirect and warning symbols should be applied to real
symbols.

Tested with glibc build-many-glibcs.py.  OK for master?

H.J.
	* elf32-microblaze.c (microblaze_elf_check_relocs): Check for
	indirect and warning symbols.
---
 bfd/ChangeLog          | 5 +++++
 bfd/elf32-microblaze.c | 3 +++
 2 files changed, 8 insertions(+)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 2373816806..c574a9abc6 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2017-10-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-microblaze.c (microblaze_elf_check_relocs): Check for
+	indirect and warning symbols.
+
 2017-10-17  Alan Modra  <amodra@gmail.com>
 
 	PR 22307
diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
index 1a69b6da72..a54044fdb3 100644
--- a/bfd/elf32-microblaze.c
+++ b/bfd/elf32-microblaze.c
@@ -2307,6 +2307,9 @@ microblaze_elf_check_relocs (bfd * abfd,
       else
 	{
 	  h = sym_hashes [r_symndx - symtab_hdr->sh_info];
+	  while (h->root.type == bfd_link_hash_indirect
+		 || h->root.type == bfd_link_hash_warning)
+	    h = (struct elf_link_hash_entry *) h->root.u.i.link;
 
 	  /* PR15323, ref flags aren't set for references in the same
 	     object.  */
-- 
2.13.6


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