diff options
author | Cupertino Miranda <cmiranda@synopsys.com> | 2018-03-02 17:44:29 +0100 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2018-11-30 23:51:48 +0100 |
commit | 1511ae45cf2fc2acf4f8dcc024c6f07546fa9143 (patch) | |
tree | ad629c10ee4261ee96b26057261e2e3c7d0cd8fc | |
parent | [ARC] Make sure global symbol is not an indirect or warning. (diff) | |
download | binutils-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/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/elf32-arc.c | 3 |
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. */ |