aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-03-15Bind defined symbol locally in PIEusers/hjl/pr19827/binutils-2_26-branchH.J. Lu12-6/+81
Symbols defined in PIE should be bound locally, the same as -shared -Bsymbolic. Backport from master bfd/ PR ld/19827 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol locally in PIE. (elf_i386_relocate_section): Likewise. * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. (elf_x86_64_relocate_section): Likewise. ld/ PR ld/19827 * testsuite/ld-i386/i386.exp: Run PR ld/19827 tests. * testsuite/ld-x86-64/x86-64.exp: Likewise. * testsuite/ld-i386/pr19827.rd: New file. * testsuite/ld-i386/pr19827a.S: Likewise. * testsuite/ld-i386/pr19827b.S: Likewise. * testsuite/ld-x86-64/pr19827.rd: Likewise. * testsuite/ld-x86-64/pr19827a.S: Likewise. * testsuite/ld-x86-64/pr19827b.S: Likewise.
2016-03-15Check reloc against IFUNC symbol only with dynamic symbolsH.J. Lu7-24/+68
There is no need to check relocation IFUNC symbol if there are no dynamic symbols. Backport from master bfd/ PR ld/19539 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation against STT_GNU_IFUNC symbol only with dynamic symbols. * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise. ld/ PR ld/19539 * testsuite/ld-elf/pr19539.d: Skip cris*-*-* targets. * testsuite/ld-elf/pr19539.d: New file. * testsuite/ld-elf/pr19539.s: Likewise. * testsuite/ld-elf/pr19539.t: Likewise.
2016-03-15Fix erroneous relocations applied to absolute symbols in COFF format targets.Leon Winter2-0/+15
PR ld/19623 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply relocations against absolute symbols.
2016-03-14Set BFD_DECOMPRESS to decompress debug sectionsH.J. Lu6-2/+121
We should set BFD_DECOMPRESS to decompress debug sections when reading in DWARF debug sections. Backport from master bfd/ PR binutils/19523 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to decompress debug sections. binutils/ PR binutils/19523 * Makefile.am (check-DEJAGNU): Pass CC and CC_FOR_BUILD to runtest. * Makefile.in: Regenerated. * testsuite/binutils-all/compress.exp (test_gnu_debuglink): New proc. Run test_gnu_debuglink for native ELF build.
2016-03-15Automatic date update in version.inGDB Administrator1-1/+1
2016-03-14ld: relax alignment requirements of compressed .debug_* section checksJan Beulich3-2/+10
This fixes a failure of the gabinormal linking test on some distros (where e.g. crt1.o has a .debug_aranges section with larger alignment). Backport from master * ld-elf/gabiend.rt: Accept any alignment. * ld-elf/gabinormal.rt: Likewise.
2016-03-14Automatic date update in version.inGDB Administrator1-1/+1
2016-03-13Automatic date update in version.inGDB Administrator1-1/+1
2016-03-12Automatic date update in version.inGDB Administrator1-1/+1
2016-03-11Automatic date update in version.inGDB Administrator1-1/+1
2016-03-10Automatic date update in version.inGDB Administrator1-1/+1
2016-03-09Treat common symbol in executable as definitionH.J. Lu6-2/+83
Common symbol in executable is a definition, which overrides definition from shared objects. When linker sees a new definition from a shared object, the new dynamic definition should be overridden by the previous common symbol in executable. Backport from master bfd/ PR ld/19579 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking together. * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in executable as definition if the new definition comes from a shared library. ld/ PR ld/19579 * testsuite/ld-elf/pr19579a.c: New file. * testsuite/ld-elf/pr19579b.c: Likewise. * testsuite/ld-elf/shared.exp: Run PR ld/19579 test.
2016-03-09Allow zero length archive elementsAlan Modra6-2/+57
bfd/ PR binutils/19775 * archive.c (bfd_generic_openr_next_archived_file): Allow zero length elements in the archive. * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Likewise. binutils/ PR binutils/19775 * testsuite/binutils-all/ar.exp (proc empty_archive): New proc. Run the new proc. * testsuite/binutils-all/empty: New, empty, file.
2016-03-09Automatic date update in version.inGDB Administrator1-1/+1
2016-03-08Automatic date update in version.inGDB Administrator1-1/+1
2016-03-07Automatic date update in version.inGDB Administrator1-1/+1
2016-03-06Automatic date update in version.inGDB Administrator1-1/+1
2016-03-05Automatic date update in version.inGDB Administrator1-1/+1
2016-03-04Speedup orphan placement for relocatable linkH.J. Lu5-49/+86
Since there is no need to place output sections in specific order for relocatable link, we can skip merging flags of other input sections. Backport from master PR ld/19739 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't merge flags of other input sections for relocatable link. * emultempl/mmo.em (mmo_place_orphan): Likewise. * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise. * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
2016-03-04Automatic date update in version.inGDB Administrator1-1/+1
2016-03-03Automatic date update in version.inGDB Administrator1-1/+1
2016-03-02Automatic date update in version.inGDB Administrator1-1/+1
2016-03-01Update PR ld/12365 test for GCC 6H.J. Lu2-1/+19
PR ld/12365 test is to verify that linker catches the reference to undefined symbol error caused by a GCC bug. Since the GCC bug has been fixed in GCC 6, update the test to verify that there is no reference to undefined symbol in executable Backport from master * testsuite/ld-plugin/lto.exp: Update PR ld/12365 test for GCC 6.
2016-03-01Fix formatting of coff-i386.c and coff-x86_64.cNick Clifton3-80/+94
Backport from master PR ld/19752 * coff-i386.c (coff_i386_reloc): Fix formatting. * coff-x86_64.c (coff_amd64_reloc): Likewise.
2016-03-01Automatic date update in version.inGDB Administrator1-1/+1
2016-02-29Automatic date update in version.inGDB Administrator1-1/+1
2016-02-28Automatic date update in version.inGDB Administrator1-1/+1
2016-02-27Automatic date update in version.inGDB Administrator1-1/+1
2016-02-26Update symbol version for symbol from linker scriptH.J. Lu6-0/+58
We need to update symbol version for symbols from linker script. Backport from master bfd/ PR ld/19698 * elflink.c (bfd_elf_record_link_assignment): Set versioned if symbol version is unknown. ld/ PR ld/19698 * testsuite/ld-elf/pr19698.d: New file. * testsuite/ld-elf/pr19698.s: Likewise. * testsuite/ld-elf/pr19698.t: Likewise.
2016-02-26Don't add DT_NEEDED for unmatched symbolH.J. Lu12-2/+94
Don't add DT_NEEDED if a symbol from a library loaded via DT_NEEDED doesn't match the symbol referenced by regular object. Backport from master bfd/ PR ld/19553 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED if a symbol from a library loaded via DT_NEEDED doesn't match the symbol referenced by regular object. ld/testsuite/ PR ld/19553 * testsuite/ld-elf/indirect.exp: Run tests for PR ld/19553. * testsuite/ld-elf/pr19553.map: New file. * testsuite/ld-elf/pr19553.map: Likewise. * testsuite/ld-elf/pr19553a.c: Likewise. * testsuite/ld-elf/pr19553b.c: Likewise. * testsuite/ld-elf/pr19553b.out: Likewise. * testsuite/ld-elf/pr19553c.c: Likewise. * testsuite/ld-elf/pr19553c.out: Likewise. * testsuite/ld-elf/pr19553d.c: Likewise. * testsuite/ld-elf/pr19553d.out: Likewise.
2016-02-26Set plt_got.offset to (bfd_vma) -1H.J. Lu3-0/+13
Since plt_got.offset may be updated in x86 allocate_dynrelocs, set plt_got.offset to (bfd_vma) -1 when setting needs_plt to 0. Backport from master * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset to (bfd_vma) -1 when setting needs_plt to 0. * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2016-02-26Fix powerpc64 -r --save-restore-funcsAlan Modra2-27/+40
* elf64-ppc.c (create_linkage_sections): Create sfpr when save_restore_funcs, rest of sections when not relocatable. (ppc64_elf_init_stub_bfd): Always call create_linkage_sections. (sfpr_define): Define all symbols on emitted code. (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created when relocatable. Move sfpr_define loop earlier.
2016-02-26Enable 2 operand form of powerpc mfcr with -manyAlan Modra2-3/+10
This is a workaround for a gcc bug. PR 19359 * ppc-opc.c (insert_fxm): Remove "ignored" from error message. (powerpc_opcodes): Remove single-operand mfcr.
2016-02-26Fix assorted ChangeLog errorsAlan Modra15-525/+538
2016-02-26Automatic date update in version.inGDB Administrator1-1/+1
2016-02-25[Backport][AArch64] Relax long branch veneer insertion for non STT_FUNC symbolJiong Wang12-33/+193
2016-02-25 Jiong Wang <jiong.wang@arm.com> Backport from master bfd/ 2016-01-21 Jiong Wang <jiong.wang@arm.com> * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch veneer for sym_sec != input_sec. (elfNN_aarch64_size_stub): Support STT_SECTION symbol. (elfNN_aarch64_final_link_relocate): Take rela addend into account when calculation destination. ld/ * testsuite/ld-aarch64/farcall-section.d: Delete. * testsuite/ld-aarch64/farcall-section.s: Delete. * testsuite/ld-aarch64/farcall-b-section.d: New expectation file. * testsuite/ld-aarch64/farcall-bl-section.d: Likewise. * testsuite/ld-aarch64/farcall-b-section.s: New testcase. * testsuite/ld-aarch64/farcall-bl-section.s: Likewise. * testsuite/ld-aarch64/aarch64-elf.exp: Likewise.
2016-02-25Automatic date update in version.inGDB Administrator1-1/+1
2016-02-24Automatic date update in version.inGDB Administrator1-1/+1
2016-02-23Automatic date update in version.inGDB Administrator1-1/+1
2016-02-22Automatic date update in version.inGDB Administrator1-1/+1
2016-02-21Automatic date update in version.inGDB Administrator1-1/+1
2016-02-20[i386] Check RegVRex in register_numberH.J. Lu5-0/+20
Increment register number by 16 if RegVRex is set. Backport from master * config/tc-i386.c (register_number): Check RegVRex. * testsuite/gas/i386/x86-64-avx512f.s: Add a test for vgatherqpd with %zmm19 and %zmm3. * testsuite/gas/i386/x86-64-avx512f-intel.d: Updated. * testsuite/gas/i386/x86-64-avx512f.d: Likewise.
2016-02-20Automatic date update in version.inGDB Administrator1-1/+1
2016-02-19Automatic date update in version.inGDB Administrator1-1/+1
2016-02-18Automatic date update in version.inGDB Administrator1-1/+1
2016-02-17Automatic date update in version.inGDB Administrator1-1/+1
2016-02-15Add parentheses to prevent truncated addressesH.J. Lu2-2/+11
Backport from master * i386-dis.c (print_insn): Parenthesize expression to prevent truncated addresses. (OP_J): Likewise.
2016-02-16Automatic date update in version.inGDB Administrator1-1/+1
2016-02-15Automatic date update in version.inGDB Administrator1-1/+1
2016-02-14Automatic date update in version.inGDB Administrator1-1/+1