Apply part of upstream git 7341d5e2 and 810d4e75. We may want to take all of the latter git changeset to cure srec testsuite failures for ppc64le... but we don't really care about srec. diff -urp binutils-alan1/bfd/elf64-ppc.c binutils-alan2/bfd/elf64-ppc.c --- binutils-alan1/bfd/elf64-ppc.c 2014-07-31 13:59:20.083643016 +0930 +++ binutils-alan2/bfd/elf64-ppc.c 2014-07-31 14:18:08.549977196 +0930 @@ -13482,6 +13482,7 @@ ppc64_elf_relocate_section (bfd *output_ . addi 2,2,.TOC.@l if .TOC. is in range. */ if (!info->shared + && !info->traditional_format && h != NULL && &h->elf == htab->elf.hgot && rel + 1 < relend && rel[1].r_info == ELF64_R_INFO (r_symndx, R_PPC64_REL16_LO) diff -urp binutils-alan1/ld/emultempl/ppc64elf.em binutils-alan2/ld/emultempl/ppc64elf.em --- binutils-alan1/ld/emultempl/ppc64elf.em 2014-07-31 10:57:23.830363894 +0930 +++ binutils-alan2/ld/emultempl/ppc64elf.em 2014-07-31 14:16:32.593859091 +0930 @@ -30,6 +30,7 @@ fragment <e_flags & EF_PPC64_ABI) == 1) + entry_section = ".opd"; if (stub_added) {