]> git.ipfire.org Git - thirdparty/binutils-gdb.git/log
thirdparty/binutils-gdb.git
8 years agoAdd support for the new 'lnia' extended mnemonic. binutils-2_26-branch
Peter Bergner [Wed, 8 Mar 2017 22:24:58 +0000 (16:24 -0600)] 
Add support for the new 'lnia' extended mnemonic.

opcodes/
Apply from master.
2017-03-08  Peter Bergner  <bergner@vnet.ibm.com>
* ppc-opc.c (powerpc_opcodes) <lnia>: New extended mnemonic.

gas/
Apply from master.
2017-03-08  Peter Bergner  <bergner@vnet.ibm.com>
* testsuite/gas/ppc/power9.d <lnia> New test.
* testsuite/gas/ppc/power9.s: Likewise.

8 years agoBackport addition of scv and rfscv P9 instructions.
Peter Bergner [Tue, 28 Feb 2017 22:17:52 +0000 (16:17 -0600)] 
Backport addition of scv and rfscv P9 instructions.

opcodes/
Apply from master.
2017-02-10  Nicholas Piggin  <npiggin@gmail.com>

* ppc-opc.c (powerpc_opcodes) <scv, rfscv>: New mnemonics.

gas/
Apply from master.
2017-02-10  Nicholas Piggin  <npiggin@gmail.com>

* testsuite/gas/ppc/power9.d <scv, rfscv>: New tests.

8 years agoBackport lastest POWER9 support to match final ISA 3.0 documentation.
Peter Bergner [Fri, 16 Sep 2016 21:40:13 +0000 (16:40 -0500)] 
Backport lastest POWER9 support to match final ISA 3.0 documentation.

opcodes/
Apply from master.
2016-09-14  Peter Bergner <bergner@vnet.ibm.com>

* ppc-opc.c (powerpc_opcodes) <slbiag>: New mnemonic.
<addex., brd, brh, brw, lwzmx, nandxor, rldixor, setbool,
xor3>: Delete mnemonics.
<cp_abort>: Rename mnemonic from ...
<cpabort>: ...to this.
<setb>: Change to a X form instruction.
<sync>: Change to 1 operand form.
<copy>: Delete mnemonic.
<copy_first>: Rename mnemonic from ...
<copy>: ...to this.
<paste, paste.>: Delete mnemonics.
<paste_last>: Rename mnemonic from ...
<paste.>: ...to this.

gas/
Apply from master.
2016-09-14  Peter Bergner <bergner@vnet.ibm.com>

* testsuite/gas/ppc/power9.d <slbiag, cpabort> New tests.
<addex., brd, brh, brw, lwzmx, nandxor, rldixor, setbool,
xor3, cp_abort, copy_first, paste, paste_last, sync>: Remove tests.
<copy, paste.>: Update tests.
* testsuite/gas/ppc/power9.s: Likewise.

8 years agoPowerPC64 ld segfault with code in non-executable sections
Alan Modra [Tue, 2 Aug 2016 13:58:47 +0000 (23:28 +0930)] 
PowerPC64 ld segfault with code in non-executable sections

PR ld/20428
* elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group.

8 years agoAutomatic date update in version.in
GDB Administrator [Tue, 26 Jul 2016 00:01:12 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Mon, 25 Jul 2016 00:01:13 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Sun, 24 Jul 2016 00:01:05 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Sat, 23 Jul 2016 00:01:01 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Fri, 22 Jul 2016 00:01:08 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Thu, 21 Jul 2016 00:01:06 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Wed, 20 Jul 2016 00:00:59 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Tue, 19 Jul 2016 00:01:07 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Mon, 18 Jul 2016 00:01:03 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Sun, 17 Jul 2016 00:01:28 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Sat, 16 Jul 2016 00:00:59 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Fri, 15 Jul 2016 00:01:03 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Thu, 14 Jul 2016 00:01:09 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Wed, 13 Jul 2016 00:01:02 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Tue, 12 Jul 2016 00:01:01 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Mon, 11 Jul 2016 00:01:11 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Sun, 10 Jul 2016 00:01:02 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Sat, 9 Jul 2016 00:00:59 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Fri, 8 Jul 2016 00:00:57 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Thu, 7 Jul 2016 00:01:02 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Wed, 6 Jul 2016 00:01:03 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Tue, 5 Jul 2016 00:01:07 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Mon, 4 Jul 2016 00:01:09 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Sun, 3 Jul 2016 00:01:04 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 years agoAutomatic date update in version.in
GDB Administrator [Sat, 2 Jul 2016 00:01:09 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoRevert previous patch.
Tristan Gingold [Fri, 1 Jul 2016 09:19:31 +0000 (11:19 +0200)] 
Revert previous patch.

9 years agoGenerate markers for 2.27
Tristan Gingold [Fri, 1 Jul 2016 08:50:31 +0000 (10:50 +0200)] 
Generate markers for 2.27

binutils/
2016-07-01  Tristan Gingold  <gingold@adacore.com>

* NEWS: Add marker for 2.27.

gas/
2016-07-01  Tristan Gingold  <gingold@adacore.com>

* NEWS: Add marker for 2.27.

ld/
2016-07-01  Tristan Gingold  <gingold@adacore.com>

* NEWS: Add marker for 2.27.

9 years agoAutomatic date update in version.in
GDB Administrator [Fri, 1 Jul 2016 00:00:57 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Thu, 30 Jun 2016 00:01:00 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoBump to 2.26.2, development mode.
Tristan Gingold [Wed, 29 Jun 2016 09:40:56 +0000 (11:40 +0200)] 
Bump to 2.26.2, development mode.

bfd/
2016-06-29  Tristan Gingold  <gingold@adacore.com>

* version.m4: Bump version to 2.26.2
* configure: Regenerate.

binutils/
2016-06-29  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

gas/
2016-06-29  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

gprof/
2016-06-29  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

ld/
2016-06-29  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

opcodes/
2016-06-29  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

9 years agoBump to 2.26.1, commit generated files. binutils-2_26_1
Tristan Gingold [Wed, 29 Jun 2016 09:34:32 +0000 (11:34 +0200)] 
Bump to 2.26.1, commit generated files.

bfd/
2016-06-29  Tristan Gingold  <gingold@adacore.com>

* version.m4: Bump version to 2.26.1
* configure: Regenerate.

binutils/
2016-06-29  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

gas/
2016-06-29  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

gprof/
2016-06-29  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

ld/
2016-06-29  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

opcodes/
2016-06-29  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

9 years agoMIPS/GAS: Fix an ISA override not lifting ABI restrictions
Maciej W. Rozycki [Fri, 22 Apr 2016 00:04:52 +0000 (01:04 +0100)] 
MIPS/GAS: Fix an ISA override not lifting ABI restrictions

Correct a regression introduced with commit 919731affbef ("Add MIPS
.module directive") causing code like:

.set mips3
dli $2, 0x9000000080000000

to fail assembly with the following error message produced:

Error: number (0x9000000080000000) larger than 32 bits

if built with `mips3' selected as the global ISA (e.g. `-march=mips3').
This is because a `.set' directive doing an ISA override does not lift
the ABI restriction on register sizes if the ISA remains unchanged.
Previously the directive always set register sizes from the ISA chosen,
which is what some code expects.  Restore the old semantics then.

gas/
* config/tc-mips.c (code_option_type): New enum.
(parse_code_option): Return status indicating option type.
(s_mipsset): Update `parse_code_option' call site accordingly.
Always set register sizes from the ISA with ISA overrides.
(s_module): Update `parse_code_option' call site.
* testsuite/gas/mips/isa-override-1.d: New test.
* testsuite/gas/mips/micromips@isa-override-1.d: New test.
* testsuite/gas/mips/mips1@isa-override-1.d: New test.
* testsuite/gas/mips/mips2@isa-override-1.d: New test.
* testsuite/gas/mips/mips32@isa-override-1.d: New test.
* testsuite/gas/mips/mips32r2@isa-override-1.d: New test.
* testsuite/gas/mips/mips32r3@isa-override-1.d: New test.
* testsuite/gas/mips/mips32r5@isa-override-1.d: New test.
* testsuite/gas/mips/mips32r6@isa-override-1.d: New test.
* testsuite/gas/mips/mips64r2@isa-override-1.d: New test.
* testsuite/gas/mips/mips64r3@isa-override-1.d: New test.
* testsuite/gas/mips/mips64r5@isa-override-1.d: New test.
* testsuite/gas/mips/mips64r6@isa-override-1.d: New test.
* testsuite/gas/mips/r3000@isa-override-1.d: New test.
* testsuite/gas/mips/r3900@isa-override-1.d: New test.
* testsuite/gas/mips/r5900@isa-override-1.d: New test.
* testsuite/gas/mips/octeon@isa-override-1.d: New test.
* testsuite/gas/mips/octeon3@isa-override-1.d: New test.
* testsuite/gas/mips/isa-override-2.l: New list test.
* testsuite/gas/mips/mips1@isa-override-2.l: New list test.
* testsuite/gas/mips/mips2@isa-override-2.l: New list test.
* testsuite/gas/mips/mips32@isa-override-2.l: New list test.
* testsuite/gas/mips/mips32r2@isa-override-2.l: New list test.
* testsuite/gas/mips/mips32r3@isa-override-2.l: New list test.
* testsuite/gas/mips/mips32r5@isa-override-2.l: New list test.
* testsuite/gas/mips/mips32r6@isa-override-2.l: New list test.
* testsuite/gas/mips/r3000@isa-override-2.l: New list test.
* testsuite/gas/mips/r3900@isa-override-2.l: New list test.
* testsuite/gas/mips/octeon3@isa-override-2.l: New list test.
* testsuite/gas/mips/octeon3@isa-override-1.l: New stderr
output.
* testsuite/gas/mips/isa-override-1.s: New test source.
* testsuite/gas/mips/r5900@isa-override-1.s: New test source.
* testsuite/gas/mips/isa-override-2.s: New test source.
* testsuite/gas/mips/mips1@isa-override-2.s: New test source.
* testsuite/gas/mips/mips2@isa-override-2.s: New test source.
* testsuite/gas/mips/mips32@isa-override-2.s: New test source.
* testsuite/gas/mips/mips32r2@isa-override-2.s: New test source.
* testsuite/gas/mips/mips32r3@isa-override-2.s: New test source.
* testsuite/gas/mips/mips32r5@isa-override-2.s: New test source.
* testsuite/gas/mips/mips32r6@isa-override-2.s: New test source.
* testsuite/gas/mips/r3000@isa-override-2.s: New test source.
* testsuite/gas/mips/r3900@isa-override-2.s: New test source.
* testsuite/gas/mips/octeon3@isa-override-2.s: New test source.
* testsuite/gas/mips/mips.exp: Run the new tests.

(cherry picked from commit 22522f880a8e17a17c4f195796ec89caece7652b)

9 years agoGAS: Fix `abort' expansion in write.c
Maciej W. Rozycki [Tue, 28 Jun 2016 16:33:38 +0000 (17:33 +0100)] 
GAS: Fix `abort' expansion in write.c

Remove an internal diagnostic regression introduced with the inclusion of
"libbfd.h" from write.c, added with:

commit e7ff5c732e7b95aafccd0910ea1a5cb8251a1033
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Feb 16 03:40:17 2007 +0000

That change made "libbfd.h" override the `abort' definition provided by
"as.h" earlier on, making the message produced by any calls reached from
write.c, which is a part of the GAS proper, look like they came from
BFD, e.g.:

.../gas/testsuite/gas/elf/type.s: Assembler messages:
.../gas/testsuite/gas/elf/type.s:30: Error: symbol type "gnu_unique_object" is supported only by GNU targets
../as-new: BFD (GNU Binutils) 2.26.51.20160628 internal error, aborting at .../gas/write.c:608 in size_seg

../as-new: Please report this bug.

vs:

.../gas/testsuite/gas/elf/type.s: Assembler messages:
.../gas/testsuite/gas/elf/type.s:30: Error: symbol type "gnu_unique_object" is supported only by GNU targets
.../gas/testsuite/gas/elf/type.s: Internal error, aborting at .../gas/write.c:602 in size_seg
Please report this bug.

With the removal of "libbfd.h" restore the latter message format.

gas/
* write.c: Remove "libbfd.h" inclusion.

(cherry picked from commit 6d44f09a7645d7a2cb2f712c4d2f1f3512e848f5)

9 years agoAutomatic date update in version.in
GDB Administrator [Wed, 29 Jun 2016 00:01:13 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoInvalid read in _bfd_elf_get_symbol_version_string
Alan Modra [Tue, 28 Jun 2016 09:29:33 +0000 (18:59 +0930)] 
Invalid read in _bfd_elf_get_symbol_version_string

PR 20304
* objdump.c (objdump_print_symname): Don't attempt to retrieve
version info from synthetic symbols.

9 years agoFix ppc64le S-record test fail
Alan Modra [Tue, 28 Jun 2016 11:16:31 +0000 (20:46 +0930)] 
Fix ppc64le S-record test fail

Segfaults on --defsym symbol (__stack_chk_fail in this instance).

* elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
before dereferencing.

9 years agoPR 19264 looping in ppc64_elf_size_stubs
Alan Modra [Tue, 28 Jun 2016 10:37:26 +0000 (20:07 +0930)] 
PR 19264 looping in ppc64_elf_size_stubs

b399102 fixed the testcase in this PR but it may be possible to
trigger the problem in other ways.

PR ld/19264
* elf64-ppc.c (STUB_SHRINK_ITER): Define.
(ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
if shrinking stubs.
(ppc64_elf_size_stubs): Adjust to suit.

9 years agoAutomatic date update in version.in
GDB Administrator [Tue, 28 Jun 2016 00:01:04 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Mon, 27 Jun 2016 00:01:02 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Sun, 26 Jun 2016 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Sat, 25 Jun 2016 00:01:00 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Fri, 24 Jun 2016 00:00:52 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAdd support for yet some more new ISA 3.0 instructions.
Peter Bergner [Thu, 23 Jun 2016 15:09:47 +0000 (10:09 -0500)] 
Add support for yet some more new ISA 3.0 instructions.

opcodes/
Apply from master.
2016-06-22  Peter Bergner  <bergner@vnet.ibm.com>

* ppc-opc.c (RM, DRM, VXASH, VXASH_MASK, XMMF, XMMF_MASK): New defines.
(powerpc_opcodes) <brd, brh, brw, mffsce, mffscdrn, mffscdrni,
mffscrn, mffscrni, mffsl, nandxor, rldixor, setbool,
xor3>: New mnemonics.
<setb>: Change to a VX form instruction.
(insert_sh6): Add support for rldixor.
(extract_sh6): Likewise.

gas/
Apply from master.
2016-06-22  Peter Bergner  <bergner@vnet.ibm.com>

* testsuite/gas/ppc/power9.d <brd, brh, brw, mffs, mffs., mffsce,
mffscdrn, mffscdrni, mffscrn, mffscrni, mffsl, nandxor, rldixor,
setbool, xor3>: New tests.
* testsuite/gas/ppc/power9.s: Likewise.

9 years agoAutomatic date update in version.in
GDB Administrator [Thu, 23 Jun 2016 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Wed, 22 Jun 2016 00:01:01 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Tue, 21 Jun 2016 00:01:02 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Mon, 20 Jun 2016 00:01:05 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Sun, 19 Jun 2016 00:01:01 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Sat, 18 Jun 2016 00:01:05 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Fri, 17 Jun 2016 00:01:05 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Thu, 16 Jun 2016 00:01:04 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoFix PR ld/20254
Senthil Kumar Selvaraj [Wed, 15 Jun 2016 06:55:30 +0000 (12:25 +0530)] 
Fix PR ld/20254

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.

9 years agoAutomatic date update in version.in
GDB Administrator [Wed, 15 Jun 2016 00:01:00 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoAdd the GOT base for GOT32 relocs against IFUNC
H.J. Lu [Mon, 13 Jun 2016 16:27:12 +0000 (09:27 -0700)] 
Add the GOT base for GOT32 relocs against IFUNC

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.

9 years agoSubtract GOT base only with a base register
H.J. Lu [Sun, 12 Jun 2016 03:44:24 +0000 (20:44 -0700)] 
Subtract GOT base only with a base register

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.

9 years agoi386: Test external function reference without PLT
H.J. Lu [Wed, 8 Jun 2016 19:41:50 +0000 (12:41 -0700)] 
i386: Test external function reference without PLT

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.

9 years agoX86-64: Test external function reference without PLT
H.J. Lu [Wed, 8 Jun 2016 11:55:10 +0000 (04:55 -0700)] 
X86-64: Test external function reference without PLT

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.

9 years agoAutomatic date update in version.in
GDB Administrator [Tue, 14 Jun 2016 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoFix PR 20221 - adjust syms and relocs only if relax shrunk section.
Denis Chertykov [Thu, 9 Jun 2016 16:17:43 +0000 (19:17 +0300)] 
Fix PR 20221 - adjust syms and relocs only if relax shrunk section.

This patch fixes an edge case in linker relaxation that causes symbol
values to be computed incorrectly in the presence of align directives
in input source code.

bfd/
* elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
and relocs only if shrinking occurred.

ld/
* testsuite/ld-avr/avr-prop-5.d: New.
* testsuite/ld-avr/avr-prop-5.s: New.

9 years agoobjcopy add-symbol uninitialised struct
Alan Modra [Mon, 13 Jun 2016 01:04:38 +0000 (10:34 +0930)] 
objcopy add-symbol uninitialised struct

* objcopy.c (copy_main): Init newsym->othersym.

9 years agoAutomatic date update in version.in
GDB Administrator [Mon, 13 Jun 2016 00:01:05 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoLink tmpdir/copyreloc-main.o before tmpdir/copyreloc-lib.so
H.J. Lu [Sun, 6 Mar 2016 16:26:49 +0000 (08:26 -0800)] 
Link tmpdir/copyreloc-main.o before tmpdir/copyreloc-lib.so

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.

9 years agoUpdate x86-64 tests for --as-needed
H.J. Lu [Wed, 13 Apr 2016 12:41:36 +0000 (05:41 -0700)] 
Update x86-64 tests for --as-needed

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.

9 years agoSupport --as-needed in i386/x86-64 tests
H.J. Lu [Mon, 7 Mar 2016 17:03:24 +0000 (09:03 -0800)] 
Support --as-needed in i386/x86-64 tests

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.

9 years agoAutomatic date update in version.in
GDB Administrator [Sun, 12 Jun 2016 00:00:57 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Sat, 11 Jun 2016 00:00:54 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Fri, 10 Jun 2016 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoRevert PR16467 change
Alan Modra [Mon, 30 May 2016 00:13:44 +0000 (09:43 +0930)] 
Revert PR16467 change

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.

9 years agoAutomatic date update in version.in
GDB Administrator [Thu, 9 Jun 2016 00:00:56 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Wed, 8 Jun 2016 00:00:56 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Tue, 7 Jun 2016 00:00:53 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Mon, 6 Jun 2016 00:01:20 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Sun, 5 Jun 2016 00:01:08 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoRe-add support for lbarx, lharx, stbcx. and sthcx. insns back to the E6500 cpu.
Peter Bergner [Sat, 4 Jun 2016 02:00:04 +0000 (21:00 -0500)] 
Re-add support for lbarx, lharx, stbcx. and sthcx. insns back to the E6500 cpu.

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.

9 years agoAutomatic date update in version.in
GDB Administrator [Sat, 4 Jun 2016 00:00:55 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Fri, 3 Jun 2016 00:00:59 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Thu, 2 Jun 2016 00:00:59 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAdd support for new POWER ISA 3.0 instructions.
Peter Bergner [Wed, 1 Jun 2016 14:48:03 +0000 (09:48 -0500)] 
Add support for new POWER ISA 3.0 instructions.

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.

9 years agoAutomatic date update in version.in
GDB Administrator [Wed, 1 Jun 2016 00:01:02 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Tue, 31 May 2016 00:00:53 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Mon, 30 May 2016 00:00:53 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Sun, 29 May 2016 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Sat, 28 May 2016 00:00:52 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Fri, 27 May 2016 00:00:54 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Thu, 26 May 2016 00:00:54 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Wed, 25 May 2016 00:00:56 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Tue, 24 May 2016 00:00:53 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Mon, 23 May 2016 00:01:03 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Sun, 22 May 2016 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Sat, 21 May 2016 00:01:07 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 years agoDon't convert R_386_GOT32 relocation
H.J. Lu [Fri, 20 May 2016 16:41:50 +0000 (09:41 -0700)] 
Don't convert R_386_GOT32 relocation

Don't convert R_386_GOT32 since we can't tell if it is applied
to "mov $foo@GOT, %reg" which isn't a load via GOT.

bfd/

Backport from master
* elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
when setting need_convert_load.

PR ld/20117
* elf32-i386.c (elf_i386_convert_load): Don't convert
R_386_GOT32.

ld/

Backport from master
PR ld/20117
* testsuite/ld-i386/i386.exp: Run pr20117.
* testsuite/ld-i386/pr20117.d: New file.
* testsuite/ld-i386/pr20117.s: Likewise.

9 years agoAutomatic date update in version.in
GDB Administrator [Fri, 20 May 2016 00:00:52 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Thu, 19 May 2016 00:00:59 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years ago [ARM/STM32L4XX] PR 20030: --fix-stm32l4xx-629360 fails to create vldm/vpop veneer...
Christophe Monat [Wed, 18 May 2016 13:14:09 +0000 (15:14 +0200)] 
[ARM/STM32L4XX] PR 20030: --fix-stm32l4xx-629360 fails to create vldm/vpop veneers for double-precision registers

Backport from master
    bfd/
        PR ld/20030
        * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
        (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
        to nb_words.
        (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
        encoding.
        (create_instruction_vldmdb): Likewise.
        (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
        uses it to re-encode.

    ld/
        PR ld/20030
        * testsuite/ld-arm/arm-elf.exp: Run new stm32l4xx-fix-vldm-dp
        tests. Fix misnamed stm32l4xx-fix-all.
        * testsuite/ld-arm/stm32l4xx-fix-vldm-dp.s: New tests for multiple
        loads with DP registers.
        * testsuite/ld-arm/stm32l4xx-fix-vldm-dp.d: New reference file.
        * testsuite/ld-arm/stm32l4xx-fix-vldm.s: Add missing comment.
        * testsuite/ld-arm/stm32l4xx-fix-all.s: Add tests for multiple
        loads with DP registers.
        * testsuite/ld-arm/stm32l4xx-fix-all.d: Update reference.

9 years agoAutomatic date update in version.in
GDB Administrator [Wed, 18 May 2016 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 years agoAutomatic date update in version.in
GDB Administrator [Tue, 17 May 2016 00:00:53 +0000 (00:00 +0000)] 
Automatic date update in version.in