This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb/binutils-2_31-branch] [ARC] PLT information was still being generated when symbol was forced_local.
- From: Claudiu Zissulescu <claziss at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 15 Nov 2018 15:47:37 -0000
- Subject: [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. */