aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCupertino Miranda <cmiranda@synopsys.com>2018-03-02 17:44:29 +0100
committerCupertino Miranda <cmiranda@synopsys.com>2018-10-01 12:42:11 +0100
commitab16fcd743b8fc963e736f7d00e3c2f039ce0d56 (patch)
treea9ce392216958606ec35f4fc8ab47857adb1635c
parent2936af90155cf7f7647b4886dc5b9568d15ca298 (diff)
downloadgdb-ab16fcd743b8fc963e736f7d00e3c2f039ce0d56.zip
gdb-ab16fcd743b8fc963e736f7d00e3c2f039ce0d56.tar.gz
gdb-ab16fcd743b8fc963e736f7d00e3c2f039ce0d56.tar.bz2
[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.
-rw-r--r--bfd/elf32-arc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
index 4d36a41..180c4dc 100644
--- a/bfd/elf32-arc.c
+++ b/bfd/elf32-arc.c
@@ -2057,7 +2057,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. */