This is the mail archive of the binutils-cvs@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]

[binutils-gdb/binutils-2_31-branch] [ARC] PLT information was still being generated when symbol was forced_local.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=06006c374b1766073fdc17704c6284232ee204d1

commit 06006c374b1766073fdc17704c6284232ee204d1
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Fri Mar 2 17:44:29 2018 +0100

    [ARC] PLT information was still being generated when symbol was forced_local.
    
    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.

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

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index c01914f..14e4107 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -9,6 +9,13 @@
 
 	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
+	2018-03-02  Cupertino Miranda <cmiranda@synopsys.com>
 	* elf32-arc.c (elf_arc_finish_dynamic_symbol) Return FALSE in case
 	arc_htab is NULL.
 
diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
index 8c1434a..052765e 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.  */


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