c34a46e
--- binutils.orig/bfd/elf64-ppc.c	2019-02-20 10:58:09.700552616 +0000
c34a46e
+++ binutils-2.31.1/bfd/elf64-ppc.c	2019-02-20 10:59:15.989062349 +0000
c34a46e
@@ -13530,7 +13530,8 @@ write_plt_relocs_for_local_syms (struct
c34a46e
 		}
c34a46e
 
c34a46e
 	      val = sym->st_value + ent->addend;
c34a46e
-	      val += PPC64_LOCAL_ENTRY_OFFSET (sym->st_other);
c34a46e
+	      if (ELF_ST_TYPE (sym->st_info) != STT_GNU_IFUNC)
c34a46e
+		val += PPC64_LOCAL_ENTRY_OFFSET (sym->st_other);
c34a46e
 	      if (sym_sec != NULL && sym_sec->output_section != NULL)
c34a46e
 		val += sym_sec->output_offset + sym_sec->output_section->vma;
c34a46e