1. 22 Jun, 2016 1 commit
  2. 20 Jun, 2016 3 commits
    • Thomas Preud'homme's avatar
      2016-06-20 Thomas Preud'homme <thomas.preudhomme@arm.com> · 8f504539
      Thomas Preud'homme authored
      	Backport from mainline
      	Fix Thumb-Thumb farcall v6-M (no profile) test
      
      	2016-01-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* ld-arm/arm-elf.exp (Thumb-Thumb farcall v6-M (no profile)): Set
      	address of .foo section when linking.
      	* ld-arm/farcall-thumb-thumb-m-no-profile-b.s: Place myfunc in .foo
      	section.
      	* ld-arm/farcall-thumb-thumb-m-no-profile.d: Adapt expected output to
      	the above changes.
      8f504539
    • Thomas Preud'homme's avatar
      2016-06-20 Thomas Preud'homme <thomas.preudhomme@arm.com> · c7dae543
      Thomas Preud'homme authored
      	Backport from mainline
      	Add test for ARMv6-M farcall with no profile info
      
      	2015-12-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	ld/testsuite/
      	* ld-arm/arm-elf.exp: Run new test "Thumb-Thumb farcall v6-M (no
      	profile)".
      	* ld-arm/farcall-thumb-thumb-m-no-profile-a.s: New file.
      	* ld-arm/farcall-thumb-thumb-m-no-profile-b.s: Likewise.
      	* ld-arm/farcall-thumb-thumb-m-no-profile.d: Likewise.
      c7dae543
    • Thomas Preud'homme's avatar
      Prevent SG veneers from being collected by --gc-section · 7e62612a
      Thomas Preud'homme authored
      2016-06-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	bfd/
      	* elf32-arm.c (elf32_arm_gc_mark_extra_sections): Mark sections holding
      	ARMv8-M secure entry functions.
      
      	ld/testsuite/
      	* ld-arm/arm-elf.exp (Secure gateway veneers (ARMv8-M Baseline)): Also
      	pass --gc-sections to ld.
      	(Secure gateway veneers (ARMv8-M Mainline)): Likewise.
      7e62612a
  3. 16 Jun, 2016 2 commits
  4. 15 Jun, 2016 2 commits
    • Senthil Kumar Selvaraj's avatar
      Fix PR ld/20254 · 30d923a4
      Senthil Kumar Selvaraj authored
      This patch fixes another edge case related to alignment property
      records - reloc offsets adjacent to property record offsets were not
      getting adjusted during relaxation.
      
      bfd/
      
      	PR ld/20254
      	* elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
      	offsets until reloc_toaddr.
      
      ld/
      
      	PR ld/20254
      	* testsuite/ld-avr/avr-prop-6.d: New test.
      	* testsuite/ld-avr/avr-prop-6.s: New test.
      30d923a4
    • GDB Administrator's avatar
      Automatic date update in version.in · a0638475
      GDB Administrator authored
      a0638475
  5. 14 Jun, 2016 5 commits
    • H.J. Lu's avatar
      Add the GOT base for GOT32 relocs against IFUNC · 3cac3e2e
      H.J. Lu authored
      Add the GOT base for R_386_GOT32/R_386_GOT32X relocations against IFUNC
      symbols if there is no base register and disallow them for PIC.
      
      bfd/
      
      	PR ld/20244
      	* elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
      	section address for R_386_GOT32/R_386_GOT32X relocations against
      	IFUNC symbols if there is no base register and return error for
      	PIC.
      
      	* elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
      	GOT32 adjustment for static executables.
      
      ld/
      
      	PR ld/20244
      	* testsuite/ld-i386/i386.exp: Run pr20244-2a, pr20244-2b,
      	pr20244-2c and pr20244-2d.
      	* testsuite/ld-i386/no-plt.exp: Run pr20244-3a and pr20244-3b.
      	* testsuite/ld-i386/pr20244-2.s: New file.
      	* testsuite/ld-i386/pr20244-2a.d: Likewise.
      	* testsuite/ld-i386/pr20244-2b.d: Likewise.
      	* testsuite/ld-i386/pr20244-2c.d: Likewise.
      	* testsuite/ld-i386/pr20244-2d.d: Likewise.
      	* testsuite/ld-i386/pr20244-3a.c: Likewise.
      	* testsuite/ld-i386/pr20244-3b.S: Likewise.
      	* testsuite/ld-i386/pr20244-3c.S: Likewise.
      	* testsuite/ld-i386/pr20244-3d.S: Likewise.
      
      Add 2 i386 tests to call IFUNC functions via GOT
      
      ld/
      
      	* testsuite/ld-i386/i386.exp: Run ifunc-1a and ifunc-1b.
      	* testsuite/ld-i386/ifunc-1a.c: New file.
      	* testsuite/ld-i386/ifunc-1b.S: Likewise.
      	* testsuite/ld-i386/ifunc-1c.S: Likewise.
      	* testsuite/ld-i386/ifunc-1d.S: Likewise.
      3cac3e2e
    • H.J. Lu's avatar
      Subtract GOT base only with a base register · 9983f9d2
      H.J. Lu authored
      When relocating R_386_GOT32 in "op $0, bar@GOT", we shouldn't subtract
      GOT base without a base register and we should disallow it without a
      base register for PIC.
      
      bfd/
      
      	PR ld/20244
      	* elf32-i386.c (elf_i386_relocate_section): When relocating
      	R_386_GOT32, return error without a base register for PIC and
      	subtract the .got.plt section address only with a base register.
      
      ld/
      
      	PR ld/20244
      	* testsuite/ld-i386/i386.exp: Run pr20244-1a and pr20244-1b.
      	* testsuite/ld-i386/pr20244-1.s: New file.
      	* testsuite/ld-i386/pr20244-1a.d: Likewise.
      	* testsuite/ld-i386/pr20244-1b.d: Likewise.
      	* testsuite/ld-i386/pr20244-1c.d: Likewise.
      9983f9d2
    • H.J. Lu's avatar
      i386: Test external function reference without PLT · a742a02f
      H.J. Lu authored
      To call an external function, the direct branch to the PLT entry can be
      replaced by an indirect branch via the GOT slot, which is similar to the
      first instruction in the PLT slot.  Instead using the PLT slot as function
      address, the function address is retrieved from the GOT slot.  The
      R_386_GOT32X relocation can be used to compute the address of the symbol’s
      GOT entry without base register when PIC is disabled.  In non-PIC
      executable,
      
      call/jmp *func@GOT
      
      should be used for indirect branch via the GOT slot and
      
      movl func@GOT, %eax
      
      should be used to load function address.  Unlike PIC case, no register
      is needed to access GOT.  If linker determines the function is defined
      locally, it converts indirect branch via the GOT slot to direct branch
      with a nop prefix and converts load via the GOT slot to load immediate
      or lea.
      
      	* testsuite/ld-i386/libno-plt-1b.dd: New file.
      	* testsuite/ld-i386/libno-plt-1b.rd: Likewise.
      	* testsuite/ld-i386/no-plt-1a.dd: Likewise.
      	* testsuite/ld-i386/no-plt-1a.rd: Likewise.
      	* testsuite/ld-i386/no-plt-1b.dd: Likewise.
      	* testsuite/ld-i386/no-plt-1b.rd: Likewise.
      	* testsuite/ld-i386/no-plt-1c.dd: Likewise.
      	* testsuite/ld-i386/no-plt-1c.rd: Likewise.
      	* testsuite/ld-i386/no-plt-1d.dd: Likewise.
      	* testsuite/ld-i386/no-plt-1d.rd: Likewise.
      	* testsuite/ld-i386/no-plt-1e.dd: Likewise.
      	* testsuite/ld-i386/no-plt-1e.rd: Likewise.
      	* testsuite/ld-i386/no-plt-1f.dd: Likewise.
      	* testsuite/ld-i386/no-plt-1f.rd: Likewise.
      	* testsuite/ld-i386/no-plt-1g.dd: Likewise.
      	* testsuite/ld-i386/no-plt-1g.rd: Likewise.
      	* testsuite/ld-i386/no-plt-1h.dd: Likewise.
      	* testsuite/ld-i386/no-plt-1h.rd: Likewise.
      	* testsuite/ld-i386/no-plt-1i.dd: Likewise.
      	* testsuite/ld-i386/no-plt-1i.rd: Likewise.
      	* testsuite/ld-i386/no-plt-1j.dd: Likewise.
      	* testsuite/ld-i386/no-plt-1j.rd: Likewise.
      	* testsuite/ld-i386/no-plt-check1a.S: Likewise.
      	* testsuite/ld-i386/no-plt-check1b.S: Likewise.
      	* testsuite/ld-i386/no-plt-extern1a.S: Likewise.
      	* testsuite/ld-i386/no-plt-extern1b.S: Likewise.
      	* testsuite/ld-i386/no-plt-func1.c: Likewise.
      	* testsuite/ld-i386/no-plt-main1.c: Likewise.
      	* testsuite/ld-i386/no-plt.exp: Likewise.
      	* testsuite/ld-i386/pass.out: Likewise.
      a742a02f
    • H.J. Lu's avatar
      X86-64: Test external function reference without PLT · 87cae80d
      H.J. Lu authored
      To call an external function, the direct branch to the PLT entry can be
      replaced by an indirect branch via the GOT slot, which is similar to the
      first instruction in the PLT slot.  Instead using the PLT slot as function
      address, the function address is retrieved from the GOT slot.  If linker
      determines the function is defined locally, it converts indirect branch
      via the GOT slot to direct branch with a nop prefix and converts load via
      the GOT slot to load immediate or lea,
      
      	* testsuite/ld-x86-64/libno-plt-1b.dd: Likewise.
      	* testsuite/ld-x86-64/libno-plt-1b.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1a.dd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1a.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1b.dd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1b.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1c.dd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1c.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1d.dd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1d.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1e.dd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1e.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1f.dd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1f.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1g.dd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1g.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-check1.S: Likewise.
      	* testsuite/ld-x86-64/no-plt.exp: Likewise.
      	* testsuite/ld-x86-64/no-plt-extern1.S: Likewise.
      	* testsuite/ld-x86-64/no-plt-func1.c: Likewise.
      	* testsuite/ld-x86-64/no-plt-main1.c: Likewise.
      	* testsuite/ld-x86-64/pass.out: Likewise.
      
      Support any relocation order
      
      	* testsuite/ld-x86-64/no-plt-1a.rd: Support any relocation order.
      	* testsuite/ld-x86-64/no-plt-1b.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1c.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1d.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1e.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1f.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1g.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt.exp: Fix a typo.
      
      Update x86-64 no-PLT tests for x32
      
      X32 has different output formats for readelf and objdump as well as a
      different conversion of load symbol address via GOT.
      
      	* testsuite/ld-x86-64/libno-plt-1b.dd: Updated for x32.
      	* testsuite/ld-x86-64/libno-plt-1b.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1a.dd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1a.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1b.dd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1b.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1c.dd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1c.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1d.dd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1e.dd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1e.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1f.dd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1f.rd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1g.dd: Likewise.
      	* testsuite/ld-x86-64/no-plt-1g.rd: Likewise.
      87cae80d
    • GDB Administrator's avatar
      Automatic date update in version.in · 43b95d89
      GDB Administrator authored
      43b95d89
  6. 13 Jun, 2016 3 commits
  7. 12 Jun, 2016 4 commits
    • H.J. Lu's avatar
      Link tmpdir/copyreloc-main.o before tmpdir/copyreloc-lib.so · ca7db478
      H.J. Lu authored
      Since compiler may pass --as-needed to ld by default, link
      tmpdir/copyreloc-main.o before tmpdir/copyreloc-lib.so.
      
      	* testsuite/ld-i386/i386.exp: Link tmpdir/copyreloc-main.o
      	before tmpdir/copyreloc-lib.so and test --as-needed.
      	* testsuite/ld-x86-64/x86-64.exp: Likewise.
      ca7db478
    • H.J. Lu's avatar
      Update x86-64 tests for --as-needed · 576bc8b5
      H.J. Lu authored
      Since compiler may pass --as-needed to ld by default, link .o file
      before .so file in x86-64 tests.
      
      	PR ld/19774
      	* testsuite/ld-x86-64/x86-64.exp: Link tmpdir/pr17689b.o before
      	tmpdir/pr17689.so, fix gotpcrel1 test and add more --as-needed
      	tests.
      576bc8b5
    • H.J. Lu's avatar
      Support --as-needed in i386/x86-64 tests · 5975f54c
      H.J. Lu authored
      Since compiler may pass --as-needed to ld by default, link .o file
      before .so file in i386/x86-64 tests.
      
      	PR ld/19774
      	* testsuite/ld-i386/i386.exp: Link tmpdir/pr18900.o before
      	tmpdir/pr18900.so and test --as-needed.  Link tmpdir/gotpc1.o
      	before tmpdir/got1d.so and test --as-needed.
      	* testsuite/ld-x86-64/x86-64.exp: Link tmpdir/pr18900.o before
      	tmpdir/pr18900.so and test --as-needed.
      5975f54c
    • GDB Administrator's avatar
      Automatic date update in version.in · b7a91f90
      GDB Administrator authored
      b7a91f90
  8. 11 Jun, 2016 1 commit
  9. 10 Jun, 2016 1 commit
  10. 09 Jun, 2016 2 commits
    • Alan Modra's avatar
      Revert PR16467 change · bdf48af1
      Alan Modra authored
      This reverts the pr16467 change, which was incorrect due to faulty
      analysis of the pr16467 testcase.  The failure was not due to a
      mismatch in symbol type (ifunc/non-ifunc) but due to a symbol loop
      being set up.
      
      See https://sourceware.org/ml/binutils/2016-06/msg00013.html for some
      rambling on versioned symbols and ELF shared library symbol overriding
      that explain this patch.
      
      bfd/
      	PR ld/20159
      	PR ld/16467
      	* elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
      	(_bfd_elf_add_default_symbol): Don't indirect to/from defined
      	symbol given a version by a script different to the version
      	of the symbol being added.
      	(elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
      	_bfd_elf_strtab_restore.  Don't fudge dynstr references.
      	* elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
      	(struct strtab_save): New.
      	(_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
      	* elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
      	(_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
      bdf48af1
    • GDB Administrator's avatar
      Automatic date update in version.in · acf79a93
      GDB Administrator authored
      acf79a93
  11. 08 Jun, 2016 1 commit
  12. 07 Jun, 2016 1 commit
  13. 06 Jun, 2016 1 commit
  14. 05 Jun, 2016 1 commit
  15. 04 Jun, 2016 2 commits
    • Peter Bergner's avatar
      Re-add support for lbarx, lharx, stbcx. and sthcx. insns back to the E6500 cpu. · 4f952ba6
      Peter Bergner authored
      opcodes/
      	Backport from master
      	2016-06-03  Peter Bergner <bergner@vnet.ibm.com>
      
      	PR binutils/20196
      	* ppc-opc.c (powerpc_opcodes <lbarx, lharx, stbcx., sthcx.>): Enable
      	opcodes for E6500.
      
      gas/
      	Backport from master
      	2016-06-03  Peter Bergner <bergner@vnet.ibm.com>
      
      	PR binutils/20196
      	* gas/testsuite/gas/ppc/e6500.s <lbarx, lharx, lwarx, ldarx,
      	stbcx., sthcx., stwcx., stdcx.>: Add tests.
      	* gas/testsuite/gas/ppc/e6500.d: Likewise.
      	* gas/testsuite/gas/ppc/power8.s: Likewise.
      	* gas/testsuite/gas/ppc/power8.d: Likewise.
      	* gas/testsuite/gas/ppc/power4.s <lwarx, ldarx, stwcx.,
      	stdcx.>: Add tests.
      	* gas/testsuite/gas/ppc/power4.d: Likewise.
      4f952ba6
    • GDB Administrator's avatar
      Automatic date update in version.in · 3d6eddbc
      GDB Administrator authored
      3d6eddbc
  16. 03 Jun, 2016 1 commit
  17. 02 Jun, 2016 1 commit
  18. 01 Jun, 2016 2 commits
    • Peter Bergner's avatar
      Add support for new POWER ISA 3.0 instructions. · 8bfb4f26
      Peter Bergner authored
      opcodes/
      
      	Backport from master
      	2016-05-26  Peter Bergner <bergner@vnet.ibm.com>
      
      	* ppc-opc.c (CY): New define.  Document it.
      	(powerpc_opcodes) <addex[.], lwzmx, vmsumudm>: New mnemonics.
      
      gas/
      	Backport from master
      	2016-05-26  Peter Bergner <bergner@vnet.ibm.com>
      
      	* testsuite/gas/ppc/altivec3.d <vmsumudm>: Add test.
      	* testsuite/gas/ppc/altivec3.s: Likewise.
      	* testsuite/gas/ppc/power9.d <addex[.], lwzmx, vmsumudm>: Add tests.
      	* testsuite/gas/ppc/power9.s: Likewise.
      8bfb4f26
    • GDB Administrator's avatar
      Automatic date update in version.in · d38c222d
      GDB Administrator authored
      d38c222d
  19. 31 May, 2016 1 commit
  20. 30 May, 2016 1 commit
  21. 29 May, 2016 1 commit
  22. 28 May, 2016 1 commit
  23. 27 May, 2016 1 commit
  24. 26 May, 2016 1 commit