[2/6,ARC] PLT information was still being generated when symbol was forced_local.

Message ID 20181115154430.23071-3-claziss@gmail.com
State New
Headers show
Series
  • Backports from mainline.
Related show

Commit Message

Claudiu Zissulescu Nov. 15, 2018, 3:44 p.m.
From: Cupertino Miranda <cmiranda@synopsys.com>


A change upstream reveiled this issue, triggering an assert when linking glibc.

bfd/
2018-03-01  Cupertino Miranda <cmiranda@synopsys.com>

	* elf32-arc.c (elf_arc_check_relocs): Changed.
---
 bfd/ChangeLog   | 7 +++++++
 bfd/elf32-arc.c | 3 ++-
 2 files changed, 9 insertions(+), 1 deletion(-)

-- 
2.19.1

Patch

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index c01914fe27..14e4107326 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -5,6 +5,13 @@ 
 	* elf32-arc.c (elf_arc_check_relocs): Changed.
 
 
+2018-11-15  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	Backport from mainline
+	2018-03-02  Cupertino Miranda <cmiranda@synopsys.com>
+	* elf32-arc.c (elf_arc_check_relocs): Changed.
+
+
 2018-11-15  Claudiu Zissulescu  <claziss@synopsys.com>
 
 	Backport from mainline
diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
index 8c1434a8cd..052765ebdb 100644
--- a/bfd/elf32-arc.c
+++ b/bfd/elf32-arc.c
@@ -2041,7 +2041,8 @@  elf_arc_check_relocs (bfd *			 abfd,
 	  if (h == NULL)
 	    continue;
 	  else
-	    h->needs_plt = 1;
+	    if (h->forced_local == 0)
+	      h->needs_plt = 1;
 	}
 
       /* Add info to the symbol got_entry_list.  */