From d0abeec8d45514fbec790f27e3cadceb576df9b5 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 23 Aug 2018 13:34:29 +0930 Subject: [PATCH] Fix "unresolved reloc" error for NOTOC relocs * elf64-ppc.c (ppc64_elf_relocate_section): Don't miss clearing unresolved_reloc on ppc_stub_plt_call_notoc. --- bfd/ChangeLog | 5 +++++ bfd/elf64-ppc.c | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 73873924a1b..f24ef2be137 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2018-08-23 Alan Modra + + * elf64-ppc.c (ppc64_elf_relocate_section): Don't miss clearing + unresolved_reloc on ppc_stub_plt_call_notoc. + 2018-08-22 H.J. Lu PR ld/23536 diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 2b5b50092a8..1a40fa96739 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -13887,9 +13887,8 @@ ppc64_elf_relocate_section (bfd *output_bfd, stub_entry = NULL; if (stub_entry != NULL - && (stub_entry->stub_type == ppc_stub_plt_call - || stub_entry->stub_type == ppc_stub_plt_call_r2save - || stub_entry->stub_type == ppc_stub_plt_call_both + && ((stub_entry->stub_type >= ppc_stub_plt_call + && stub_entry->stub_type <= ppc_stub_plt_call_both) || stub_entry->stub_type == ppc_stub_plt_branch_r2off || stub_entry->stub_type == ppc_stub_plt_branch_both || stub_entry->stub_type == ppc_stub_long_branch_r2off -- 2.30.2