aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCupertino Miranda <cmiranda@synopsys.com>2018-03-02 17:44:29 +0100
committerAndreas K. Hüttel <dilfridge@gentoo.org>2018-11-30 23:51:48 +0100
commit1511ae45cf2fc2acf4f8dcc024c6f07546fa9143 (patch)
treead629c10ee4261ee96b26057261e2e3c7d0cd8fc
parent[ARC] Make sure global symbol is not an indirect or warning. (diff)
downloadbinutils-gdb-1511ae45cf2fc2acf4f8dcc024c6f07546fa9143.tar.gz
binutils-gdb-1511ae45cf2fc2acf4f8dcc024c6f07546fa9143.tar.bz2
binutils-gdb-1511ae45cf2fc2acf4f8dcc024c6f07546fa9143.zip
[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. (cherry picked from commit 06006c374b1766073fdc17704c6284232ee204d1) Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/elf32-arc.c3
2 files changed, 9 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index c01914fe274..14e4107326c 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 8c1434a8cdc..052765ebdb8 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. */