]> git.ipfire.org Git - thirdparty/binutils-gdb.git/log
thirdparty/binutils-gdb.git
6 years agoAutomatic date update in version.in
GDB Administrator [Sat, 25 Aug 2018 00:01:59 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Fri, 24 Aug 2018 00:01:32 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Thu, 23 Aug 2018 00:02:29 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Wed, 22 Aug 2018 00:01:44 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Tue, 21 Aug 2018 00:02:11 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Mon, 20 Aug 2018 00:01:38 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Sun, 19 Aug 2018 00:02:46 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Sat, 18 Aug 2018 00:02:07 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Fri, 17 Aug 2018 00:02:03 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Thu, 16 Aug 2018 00:01:40 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Wed, 15 Aug 2018 00:01:39 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Tue, 14 Aug 2018 00:01:51 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Mon, 13 Aug 2018 00:02:03 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agold-x86-64/pr23486b.d: Swap pr23486a.s and pr23486a.s
H.J. Lu [Sun, 12 Aug 2018 12:39:00 +0000 (05:39 -0700)] 
ld-x86-64/pr23486b.d: Swap pr23486a.s and pr23486a.s

Swap pr23486a.s and pr23486a.s so that pr23486b.d differs from pr23486a.d.

* testsuite/ld-x86-64/pr23486b.d: Swap pr23486a.s and pr23486a.s.

(cherry picked from commit 988daa317c01a610b5298bbcd80be8642ee66094)

6 years agox86: Properly add X86_ISA_1_NEEDED property
H.J. Lu [Sat, 11 Aug 2018 13:41:33 +0000 (06:41 -0700)] 
x86: Properly add X86_ISA_1_NEEDED property

Existing properties may be removed during property merging.  We avoid
adding X86_ISA_1_NEEDED property only if existing properties won't be
removed.

bfd/

PR ld/23428
* elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't
add X86_ISA_1_NEEDED property only if existing properties won't
be removed.

ld/

PR ld/23428
* testsuite/ld-elf/dummy.s: New file.
* testsuite/ld-elf/linux-x86.S: Add X86_FEATURE_1_AND property.
* testsuite/ld-elf/linux-x86.exp: Add dummy.s to pr23428.

(cherry picked from commit ab9e342807d132182892de1be1a92d6e91a5c1da)

6 years agoAutomatic date update in version.in
GDB Administrator [Sun, 12 Aug 2018 00:02:22 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Sat, 11 Aug 2018 00:01:56 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agox86: Replace evex-no-scale.s with evex-no-scale-[32|64].s
H.J. Lu [Fri, 10 Aug 2018 17:23:11 +0000 (10:23 -0700)] 
x86: Replace evex-no-scale.s with evex-no-scale-[32|64].s

.if is_64bit
vmovaps -1024(%rip), %zmm0
vmovaps 64(,%rax), %zmm0
vmovaps 64(,%riz), %zmm0
.endif

doesn't with i686-elf cross binutils on 64-bit hosts:

evex-no-scale.s: Assembler messages:
evex-no-scale.s:10: Error: bad register name `%rip)'
evex-no-scale.s:11: Error: bad register name `%rax)'
evex-no-scale.s:12: Error: bad register name `%riz)'

This patch replaces evex-no-scale.s with evex-no-scale-32.s and
evex-no-scale-64.s.

* testsuite/gas/i386/evex-no-scale-32.d: Don't use
evex-no-scale.s.
* testsuite/gas/i386/evex-no-scale-64.d: Likewise.
* testsuite/gas/i386/evex-no-scale-32.s: New file.
* testsuite/gas/i386/evex-no-scale-64.s: Likewise.
* testsuite/gas/i386/evex-no-scale.s: Removed.

(cherry picked from commit 19449d7c67690c641b1ec9c13ff3531677a5afcc)

6 years agox86: Properly merge GNU_PROPERTY_X86_ISA_1_USED
H.J. Lu [Wed, 8 Aug 2018 13:09:15 +0000 (06:09 -0700)] 
x86: Properly merge GNU_PROPERTY_X86_ISA_1_USED

Without the GNU_PROPERTY_X86_ISA_1_USED property, all ISAs may be used.
If a bit in the GNU_PROPERTY_X86_ISA_1_USED property is unset, the
corresponding x86 instruction set isn’t used.  When merging properties
from 2 input files and one input file doesn't have the
GNU_PROPERTY_X86_ISA_1_USED property, the output file shouldn't have
it neither.  This patch removes the GNU_PROPERTY_X86_ISA_1_USED
property if an input file doesn't have it.

This patch replaces the GNU_PROPERTY_X86_ISA_1_USED property with the
GNU_PROPERTY_X86_ISA_1_NEEDED property which is the minimum ISA
requirement.

bfd/

PR ld/23486
* elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove
GNU_PROPERTY_X86_ISA_1_USED if an input file doesn't have it.
(_bfd_x86_elf_link_setup_gnu_properties): Adding the
GNU_PROPERTY_X86_ISA_1_NEEDED, instead of
GNU_PROPERTY_X86_ISA_1_USED, property.

ld/

PR ld/23486
* testsuite/ld-i386/i386.exp: Run PR ld/23486 tests.
* testsuite/ld-x86-64/x86-64.exp: Likewise.
* testsuite/ld-i386/pr23486a.d: New file.
* testsuite/ld-i386/pr23486b.d: Likewise.
* testsuite/ld-x86-64/pr23486a-x32.d: Likewise.
* testsuite/ld-x86-64/pr23486a.d: Likewise.
* testsuite/ld-x86-64/pr23486a.s: Likewise.
* testsuite/ld-x86-64/pr23486b-x32.d: Likewise.
* testsuite/ld-x86-64/pr23486b.d: Likewise.
* testsuite/ld-x86-64/pr23486b.s: Likewise.
* testsuite/ld-i386/property-3.r: Remove "x86 ISA used".
* testsuite/ld-i386/property-4.r: Likewise.
* testsuite/ld-i386/property-5.r: Likewise.
* testsuite/ld-i386/property-x86-ibt3a.d: Likewise.
* testsuite/ld-i386/property-x86-ibt3b.d: Likewise.
* testsuite/ld-i386/property-x86-shstk3a.d: Likewise.
* testsuite/ld-i386/property-x86-shstk3b.d: Likewise.
* testsuite/ld-x86-64/property-3.r: Likewise.
* testsuite/ld-x86-64/property-4.r: Likewise.
* testsuite/ld-x86-64/property-5.r: Likewise.
* testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise.

(cherry picked from commit f7309df20c4e787041cedc4a6aced89c15259e54)

6 years agox86: Update assembler tests for non-ELF targets
H.J. Lu [Sun, 5 Aug 2018 17:05:52 +0000 (10:05 -0700)] 
x86: Update assembler tests for non-ELF targets

evex-no-scale.s has ELF directive:

.section .probe, "", @progbits

* testsuite/gas/i386/i386.exp: Run evex-no-scale-32 and
evex-no-scale-64 only for ELF targets.

(cherry picked from commit 99c2d522f7a7259947aa84c1b385a7c8147fa46c)

6 years agox32: Align the .note.gnu.property section to 4 bytes
H.J. Lu [Fri, 3 Aug 2018 22:47:26 +0000 (15:47 -0700)] 
x32: Align the .note.gnu.property section to 4 bytes

The .note.gnu.property section should be aligned to 4 bytes for x32.

* testsuite/ld-x86-64/property-x86-3.s: Use ".p2align 2" to
align .note.gnu.property section if __64_bit__ is undefined.

(cherry picked from commit 39aac631baa1c5c540d16e45b64c2813a14f95b0)

6 years agoAutomatic date update in version.in
GDB Administrator [Fri, 10 Aug 2018 00:01:33 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Thu, 9 Aug 2018 00:01:50 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Wed, 8 Aug 2018 00:01:49 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years ago__tls_get_addr_opt stubs and tocsave optimization
Alan Modra [Sun, 5 Aug 2018 10:14:03 +0000 (19:44 +0930)] 
__tls_get_addr_opt stubs and tocsave optimization

This patch fixes a bug in the handling of the __tls_get_addr_opt
stub.  Calls via this stub don't have a toc restoring instruction
following the "bl", and the stub itself doesn't have an initial toc
save instruction.  Thus it is incorrect to skip over the first
instruction when a __tls_get_addr call is marked with a tocsave
reloc.

* elf64-ppc.c (ppc64_elf_relocate_section): Don't skip first
instruction of __tls_get_addr_opt stub.
(plt_stub_size): Omit ALWAYS_EMIT_R2SAVE condition when
dealing with __tls_get_addr_opt stub.
(build_tls_get_addr_stub, ppc_size_one_stub): Likewise.

(cherry picked from commit e81b4c933c1b88e29f4b27627dd9ea0bf9189944)

6 years agoRe: PowerPC64 __tls_get_addr_opt stub .eh_frame fix
Alan Modra [Wed, 1 Aug 2018 09:29:03 +0000 (18:59 +0930)] 
Re: PowerPC64 __tls_get_addr_opt stub .eh_frame fix

The modified test failed on some powerpc targets due to differences in
default hash style.  If the default hash style is both, then more
sections are created, bumping section ids.  Section id is used in stub
symbols and although the test is careful to not depend on id in
labels, the stub hash traversal order changes when stub names change.
That lead to the stubs being emitted in a different order and thus not
matching expected output.

* testsuite/ld-powerpc/powerpc.exp: Run tlsopt5 with hash-style
specified.

(cherry picked from commit a67ae9b01af7eb2b1f8e5c517338a4b12167ce40)

6 years agoPowerPC64 __tls_get_addr_opt stub .eh_frame fix
Alan Modra [Wed, 1 Aug 2018 02:44:22 +0000 (12:14 +0930)] 
PowerPC64 __tls_get_addr_opt stub .eh_frame fix

This patch sets stub_offset in ppc_size_one_stub rather than in
ppc_build_one_stub.  That allows the plt stub alignment to be done in
just ppc_size_one_stub rather than both functions.  The patch also
corrects the place where the alignment was done, fixing a possible
error in .eh_frame data, and tidies some offset calculations.

bfd/
* elf64-ppc.c (plt_stub_pad): Delay plt_stub_size call until needed.
(ppc_build_one_stub): Don't set stub_offset, instead assert that
it is sane.  Don't adjust stub_offset for alignment.  Adjust size
calculation.  Use "targ" temp when calculating offsets.
(ppc_size_one_stub): Set stub_offset here.  Use "targ" temp when
calculating offsets.  Adjust for alignment before setting
tls_get_addr_opt_bctrl.
ld/
* testsuite/ld-powerpc/powerpc.exp: Run tlsopt5 with plt alignment.
* testsuite/ld-powerpc/tlsopt5.s: Add extra call.
* testsuite/ld-powerpc/tlsopt5.wf: Adjust expected output.
* testsuite/ld-powerpc/tlsopt5.d: Likewise.

6 years agoUpdated Bulgarian translation for the ld/ directory
Nick Clifton [Tue, 7 Aug 2018 07:17:11 +0000 (08:17 +0100)] 
Updated Bulgarian translation for the ld/ directory

6 years agoAutomatic date update in version.in
GDB Administrator [Tue, 7 Aug 2018 00:01:55 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAdd --warn-drop-version option; by default, do not warn when discarding version info.
Cary Coutant [Mon, 6 Aug 2018 21:08:48 +0000 (14:08 -0700)] 
Add --warn-drop-version option; by default, do not warn when discarding version info.

gold/
PR gold/23455
* options.h (General_options): Add --warn-drop-version option.
* symtab.cc (Symbol_table::set_dynsym_indexes): Check it.

6 years agoFix type checking errors.
Cary Coutant [Mon, 6 Aug 2018 20:36:42 +0000 (13:36 -0700)] 
Fix type checking errors.

gold/
* target.h (Sized_target::record_gnu_property): Change first two
parameters to unsigned int.
* x86_64.cc (Target_x86_64::record_gnu_property): Likewise.

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

6 years agoAutomatic date update in version.in
GDB Administrator [Sun, 5 Aug 2018 00:02:13 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Sat, 4 Aug 2018 00:01:27 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Fri, 3 Aug 2018 00:02:01 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Thu, 2 Aug 2018 00:01:29 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoFix spurious check-ld failures on aarch64-elf
Roland McGrath [Wed, 1 Aug 2018 20:36:51 +0000 (13:36 -0700)] 
Fix spurious check-ld failures on aarch64-elf

ld/
* testsuite/ld-aarch64/ifunc-1-local.d: Adjust regexps to match
the offsets emitted by aarch64-elf configurations.
* testsuite/ld-aarch64/ifunc-1.d: Likewise.
* testsuite/ld-aarch64/ifunc-2-local.d: Likewise.
* testsuite/ld-aarch64/ifunc-2.d: Likewise.
* testsuite/ld-aarch64/ifunc-21.d: Likewise.
* testsuite/ld-aarch64/ifunc-3a.d: Likewise.

(cherry picked from commit c198a1ecf835c5896ef810ebe1ded06729039dcd)

7 years ago[PATCH, LD, AArch64] Fix ifunc testisms
Andre Simoes Dias Vieira [Thu, 19 Jul 2018 15:18:28 +0000 (16:18 +0100)] 
[PATCH, LD, AArch64] Fix ifunc testisms

This patch fixes some ifunc testisms after H.J. Lu's patch to enable the
use of IFUNC pointers in position dependent code for binutils. See PR
LD/23169 in binutils bugzilla.

The aarch64 ifunc error message test was changed to no longer expect
this error message as this is now an accepted combination. This patch
also disables the executable tests added by H.J. Lu for aarch64, just as
Alan Modra did with his patch, as these tests only seem to work on some
architectures.

ld/ChangeLog:
2018-07-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* testsuite/ld-aarch64/ifunc-9.d: Remove no longer expected error.
* testsuite/ld-ifunc/ifunc.exp: Disable tests for aarch64.

(cherry picked from commit 3ba174474d3cc063d6b7abf0bfdd6021bbaf8a90)

7 years agoAutomatic date update in version.in
GDB Administrator [Wed, 1 Aug 2018 00:01:56 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agox86: don't mistakenly scale non-8-bit displacements
Jan Beulich [Tue, 31 Jul 2018 09:04:34 +0000 (11:04 +0200)] 
x86: don't mistakenly scale non-8-bit displacements

PR gas/23465

In commit b5014f7af2 I've removed (instead of replaced) a conditional,
resulting in addressing forms not allowing 8-bit displacements to now
get their displacements scaled under certain circumstances. Re-add the
missing conditional.

7 years agoAutomatic date update in version.in
GDB Administrator [Tue, 31 Jul 2018 00:02:23 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoFix unwind offset for call_info->start_symbol.
John David Anglin [Mon, 30 Jul 2018 14:52:34 +0000 (10:52 -0400)] 
Fix unwind offset for call_info->start_symbol.

* config/tc-hppa.c: Include "struc-symbol.h".
(pa_build_unwind_subspace): Use call_info->start_symbol->sy_frag
instead of frag_now for local symbol replacement.

7 years agoAutomatic date update in version.in
GDB Administrator [Mon, 30 Jul 2018 00:01:37 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sun, 29 Jul 2018 00:02:34 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sat, 28 Jul 2018 00:01:52 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Fri, 27 Jul 2018 00:02:08 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Thu, 26 Jul 2018 00:02:03 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Wed, 25 Jul 2018 00:01:45 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoS/390: Set the htm flag on PPA
Andreas Krebbel [Thu, 19 Jul 2018 08:00:51 +0000 (10:00 +0200)] 
S/390: Set the htm flag on PPA

The PPA instruction will be emitted by GCC transactional execution
builtins so it needs to be accepted with just -mhtm and without
-march=zEC12.

opcodes/ChangeLog:

2018-07-24  Andreas Krebbel  <krebbel@linux.ibm.com>

Backport from mainline
2018-07-19  Andreas Krebbel  <krebbel@linux.ibm.com>

* s390-opc.txt (PPA): Add the htm flag.

7 years agoAutomatic date update in version.in
GDB Administrator [Tue, 24 Jul 2018 00:01:45 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agox86: Add a GNU_PROPERTY_X86_ISA_1_USED note if needed
H.J. Lu [Fri, 20 Jul 2018 16:18:47 +0000 (09:18 -0700)] 
x86: Add a GNU_PROPERTY_X86_ISA_1_USED note if needed

When -z separate-code, which is enabled by default for Linux/x86, is
used to create executable, ld won't place any data in the code-only
PT_LOAD segment.  If there are no data sections placed before the
code-only PT_LOAD segment, the program headers won't be mapped into
any PT_LOAD segment.  When the executable tries to access it (based
on the program header address passed in AT_PHDR), it will lead to
segfault.  This patch inserts a GNU_PROPERTY_X86_ISA_1_USED note if
there may be no data sections before the text section so that the
first PT_LOAD segment won't be code-only and will contain the program
header.

Testcases are adjusted to either pass "-z noseparate-code" to ld or
discard the .note.gnu.property section.  A Linux/x86 run-time test is
added.

bfd/

PR ld/23428
* elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the
separate code program header is needed, make sure that the first
read-only PT_LOAD segment has no code by adding a
GNU_PROPERTY_X86_ISA_1_USED note.

ld/

PR ld/23428
* testsuite/ld-elf/linux-x86.S: New file.
* testsuite/ld-elf/linux-x86.exp: Likewise.
* testsuite/ld-elf/pr23428.c: Likewise.
* testsuite/ld-elf/sec64k.exp: Pass "-z noseparate-code" to ld
for Linux/x86 targets.
* testsuite/ld-i386/abs-iamcu.d: Likewise.
* testsuite/ld-i386/abs.d: Likewise.
* testsuite/ld-i386/pr12718.d: Likewise.
* testsuite/ld-i386/pr12921.d: Likewise.
* testsuite/ld-x86-64/abs-k1om.d: Likewise.
* testsuite/ld-x86-64/abs-l1om.d: Likewise.
* testsuite/ld-x86-64/abs.d: Likewise.
* testsuite/ld-x86-64/pr12718.d: Likewise.
* testsuite/ld-x86-64/pr12921.d: Likewise.
* testsuite/ld-linkonce/zeroeh.ld: Discard .note.gnu.property
section.
* testsuite/ld-scripts/print-memory-usage.t: Likewise.
* testsuite/ld-scripts/size-2.t: Likewise.
* testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Use ld
to create executable if language is "asm".

(cherry picked from commit 241e64e3b42cd9eba514b8e0ad2ef39a337f10a5)

7 years agoAutomatic date update in version.in
GDB Administrator [Mon, 23 Jul 2018 00:02:19 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sun, 22 Jul 2018 00:02:13 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sat, 21 Jul 2018 00:02:01 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Fri, 20 Jul 2018 00:01:42 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Thu, 19 Jul 2018 00:02:23 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agox86: Split vcvtps2{,u}qq and vcvttps2{,u}qq
H.J. Lu [Wed, 18 Jul 2018 19:34:44 +0000 (12:34 -0700)] 
x86: Split vcvtps2{,u}qq and vcvttps2{,u}qq

After

commit 1b54b8d7e4fc8055f9220a5287e8a94d8a65a88d
Author: Jan Beulich <jbeulich@novell.com>
Date:   Mon Dec 18 09:36:14 2017 +0100

    x86: fold RegXMM/RegYMM/RegZMM into RegSIMD

    ... qualified by their respective sizes, allowing to drop FirstXmm0 at
    the same time.

folded RegXMM, RegYMM and RegZMM into RegSIMD, it's no longer impossible
to distinguish if Xmmword can represent a memory reference when operand
specification contains SIMD register. For example, template operands
specification like these

RegXMM|...|Xmmword|...

and

RegXMM|...

The Xmmword bitfield is always set by RegXMM which is represented by
"RegSIMD|Xmmword".  This patch splits each of vcvtps2qq, vcvtps2uqq,
vcvttps2qq and vcvttps2uqq into 2 templates: one template only has
RegXMM source operand and the other only has mempry source operand.

gas/

PR gas/23418
* testsuite/gas/i386/xmmword.s: Add tests for vcvtps2qq,
vcvtps2uqq, vcvttps2qq and vcvttps2uqq.
* testsuite/gas/i386/xmmword.l: Updated.

opcodes/

PR gas/23418
* i386-opc.h (Byte): Update comments.
(Word): Likewise.
(Dword): Likewise.
(Fword): Likewise.
(Qword): Likewise.
(Tbyte): Likewise.
(Xmmword): Likewise.
(Ymmword): Likewise.
(Zmmword): Likewise.
* i386-opc.tbl: Split vcvtps2qq, vcvtps2uqq, vcvttps2qq and
vcvttps2uqq.
* i386-tbl.h: Regenerated.

(cherry picked from commit 11a322db5c8bc23009e97af30180d6b14d86dbd3)

7 years agoSet the development flag back to true.
Nick Clifton [Wed, 18 Jul 2018 08:05:35 +0000 (09:05 +0100)] 
Set the development flag back to true.

* development.sh: Set to true.

7 years agoRegenerate files and add changelog entries for 2.31.1 release binutils-2_31_1
Nick Clifton [Wed, 18 Jul 2018 07:54:05 +0000 (08:54 +0100)] 
Regenerate files and add changelog entries for 2.31.1 release

7 years agoFix typo in src-release.sh script. Update French translation for gold and Spanish...
Nick Clifton [Wed, 18 Jul 2018 07:35:24 +0000 (08:35 +0100)] 
Fix typo in src-release.sh script.  Update French translation for gold and Spanish translation for ld.

gold * po/fr.po: Updated French translation.
ld * po/es.po: Updated Spanish translation.
. * (DEVO_SUPPORT): Fix typo in previous delta.
(do_proto_toplev): Add --quiet option to configure command line.

7 years agoAutomatic date update in version.in
GDB Administrator [Wed, 18 Jul 2018 00:01:46 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Tue, 17 Jul 2018 00:02:04 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoImport patch from mainline to fix gold's handling of already versioned symbols.
Nick Clifton [Mon, 16 Jul 2018 13:29:26 +0000 (14:29 +0100)] 
Import patch from mainline to fix gold's handling of already versioned symbols.

gold PR gold/23409
* symtab.cc (Symbol_table::define_special_symbol): Add check for
version name on existing symbol.
* testsuite/Makefile.am (ver_test_pr23409): New test case.
* testsuite/Makefile.in: Regenerate.
* testsuite/ver_test_pr23409.sh: New test script.
* testsuite/ver_test_pr23409_1.script: New version script.
* testsuite/ver_test_pr23409_2.script: New version script.

7 years agoAdd the new top level files test-driver and ar-lib to the src-release script.
Nick Clifton [Mon, 16 Jul 2018 13:11:57 +0000 (14:11 +0100)] 
Add the new top level files test-driver and ar-lib to the src-release script.

* src-release.sh (DEVO_SUPPORT): Add test-driver and ar-lib.

7 years agoAutomatic date update in version.in
GDB Administrator [Mon, 16 Jul 2018 00:01:59 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sun, 15 Jul 2018 00:02:24 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoReset branch back to development mode
Nick Clifton [Sat, 14 Jul 2018 18:39:32 +0000 (19:39 +0100)] 
Reset branch back to development mode

7 years ago2.31 Release point binutils-2_31
Nick Clifton [Sat, 14 Jul 2018 18:05:56 +0000 (19:05 +0100)] 
2.31 Release point

7 years agoAutomatic date update in version.in
GDB Administrator [Sat, 14 Jul 2018 00:01:33 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAllow bit-patterns in the immediate field of ARM neon mov instructions.
Nick Clifton [Fri, 13 Jul 2018 10:44:49 +0000 (11:44 +0100)] 
Allow bit-patterns in the immediate field of ARM neon mov instructions.

* config/tc-arm.c (do_neon_mov): When converting an integer
immediate into a floating point value, check that the conversion
is valid.  Also warn if the immediate is valid as both a floating
point value and a bit pattern.
* testsuite/gas/arm/vfp-mov-enc.s: Add instructions that use
floating point bit patterns.
* testsuite/gas/arm/vfp-mov-enc.d: Add regexps for the disassembly
of the new insns.

7 years agoAutomatic date update in version.in
GDB Administrator [Fri, 13 Jul 2018 00:02:29 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoHide dynamic symbols in discarded sections
Alan Modra [Tue, 3 Jul 2018 02:48:10 +0000 (12:18 +0930)] 
Hide dynamic symbols in discarded sections

This is a followup to git commit 97196564c7 "Strip global symbol
defined in discarded section".  If a symbol defined in a discarded
section was dynamic, that patch left .dynsym with holes (ie. all zero
entries).  For example, the following from libstdc++.so:

Symbol table '.dynsym' contains 6090 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 00000000000a74e0     0 SECTION LOCAL  DEFAULT   10
     2: 0000000000264180     0 SECTION LOCAL  DEFAULT   17
     3: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_addUserCommitAction
     4: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_memcpyRtWn
     5: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
readelf: Warning: local symbol 5 found at index >= .dynsym's sh_info value of 3
     6: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
readelf: Warning: local symbol 6 found at index >= .dynsym's sh_info value of 3
[snip]

This patch removes the symbols from .dynsym too.

PR 17550
* elflink.c (_bfd_elf_fix_symbol_flags): Hide dynamic symbols
in discarded sections.

(cherry picked from commit af0bfb9c4283ce80fe37ad6360d12cae8ec38696)

7 years agoThis patch adds support for the SSBB and PSSBB speculation barrier instructions to...
Nick Clifton [Thu, 12 Jul 2018 14:50:35 +0000 (15:50 +0100)] 
This patch adds support for the SSBB and PSSBB speculation barrier instructions to the AArch64 assembler and disassembler.

For more details see: https://static.docs.arm.com/ddi0596/a/DDI_0596_ARM_a64_instruction_set_architecture.pdf

opcodes * aarch64-tbl.h (aarch64_opcode_table): Add entry for
ssbb and pssbb and update dsb flags to F_HAS_ALIAS.
* aarch64-asm-2.c: Regenerate.
* aarch64-dis-2.c: Regenerate.
* aarch64-opc-2.c: Regenerate.

gas * testsuite/gas/aarch64/system.s: Add test for ssbb
and pssbb.
* testsuite/gas/aarch64/system.d: Update accordingly
and remove explicit addresses.

7 years agoResolve merge conflicts.
Nick Clifton [Thu, 12 Jul 2018 10:27:30 +0000 (11:27 +0100)] 
Resolve merge conflicts.

7 years agoAdd support for the ARM speculation barrier instructions SSBB and PSSBB.
Sudakshina Das [Thu, 12 Jul 2018 10:25:12 +0000 (11:25 +0100)] 
Add support for the ARM speculation barrier instructions SSBB and PSSBB.

opcodes * arm-dis.c (arm_opcodes): Add ssbb and pssbb and move
     csdb together with them.
     (thumb32_opcodes): Likewise.

gas  * config/tc-arm.c (insns): Add new ssbb and pssbb instructions.
     * testsuite/gas/arm/csdb.s: Add new tests for ssbb and pssbb.
     * testsuite/gas/arm/csdb.d: Likewise
     * testsuite/gas/arm/thumb2_it_bad.s: Likewise.
     * testsuite/gas/arm/thumb2_it_bad.l: Likewise.
     * testsuite/gas/arm/barrier.d: Update with ssbb.
     * testsuite/gas/arm/barrier-thumb.d: Likewise.

7 years agoAdd remainder of Em16 restrictions for AArch64 gas.
Tamar Christina [Thu, 12 Jul 2018 09:28:46 +0000 (10:28 +0100)] 
Add remainder of Em16 restrictions for AArch64 gas.

This adds the missing Em16 constraints the rest of the instructions requiring them
and also adds a testcase to test all the instructions so these are checked from
now on.

The Em16 operand constrains the valid registers to the lower 16 registers when used
with a half precision qualifier.

The list has been cross checked (by hand) through the Arm ARM version Ca.

opcodes/

PR binutils/23192
* aarch64-tbl.h (sqdmlal, sqdmlal2, smlsl, smlsl2, sqdmlsl, sqdmlsl2,
mul, smull, smull2, sqdmull, sqdmull2, sqdmulh, sqrdmulh, mla, umlal,
umlal2, mls, umlsl, umlsl2, umull, umull2, sqdmlal, sqdmlsl, sqdmull,
sqdmulh, sqrdmulh): Use Em16.

gas/

PR binutils/23192
* testsuite/gas/aarch64/illegal-by-element.s: New.
* testsuite/gas/aarch64/illegal-by-element.d: New.
* testsuite/gas/aarch64/illegal-by-element.l: New.

(cherry picked from commit 45a28947f3fe5693560e9a1d6373807a9e82c04a)
Signed-off-by: Tamar Christina <tamar.christina@arm.com>
7 years agoAutomatic date update in version.in
GDB Administrator [Thu, 12 Jul 2018 00:01:43 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoxtensa: don't emit dynamic relocation for weak undefined symbol
Max Filippov [Mon, 2 Jul 2018 18:12:44 +0000 (11:12 -0700)] 
xtensa: don't emit dynamic relocation for weak undefined symbol

Resolved reference to a weak undefined symbol in PIE must not have
a dynamic relative relocation against itself, otherwise the value of a
reference will be changed from 0 to the base of executable, breaking
code like the following:

  void weak_function (void);
  if (weak_function)
    weak_function ();

This fixes tests for PR ld/22269 and a number of PIE tests in xtensa gcc
testsuite.

bfd/
2018-07-11  Max Filippov  <jcmvbkbc@gmail.com>

* elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Don't allocate
space for dynamic relocation for undefined weak symbol.
(elf_xtensa_relocate_section): Don't emit R_XTENSA_RELATIVE
relocation for undefined weak symbols.
(shrink_dynamic_reloc_sections): Don't shrink dynamic relocation
section for relocations against undefined weak symbols.

(cherry picked from commit c451bb34ae8bd2d0669bd563366883cfbcf0de9b)

7 years agoDuplicate code update.
Nick Clifton [Wed, 11 Jul 2018 15:46:47 +0000 (16:46 +0100)] 
Duplicate code update.

7 years agoReimport a patch to fix building gold on Cygwin64 systms: m.arena has size_t on Cygwi...
Franz Sirl [Wed, 11 Jul 2018 15:44:22 +0000 (16:44 +0100)] 
Reimport a patch to fix building gold on Cygwin64 systms: m.arena has size_t on Cygwin64 and thus errors out due to -Werror=format.

gold * main.cc: Print m.arena as long long.

7 years agoFix printing the size of GOLD's memory areana on Cygwin based systems.
Franz Sirl [Wed, 24 Jan 2018 13:39:11 +0000 (13:39 +0000)] 
Fix printing the size of GOLD's memory areana on Cygwin based systems.

I just stumbled over this with 2.29.1 while building a cross-toolchain, on Cygwin64, but it's still the same for 2.30. m.arena has size_t on Cygwin64 and thus errors out due to -Werror=format.

gold
* main.cc: Print m.arena as long long.

7 years agoAutomatic date update in version.in
GDB Administrator [Wed, 11 Jul 2018 00:02:00 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoBFD/ELF: Correct a `remove' global shadowing error for pre-4.8 GCC
Maciej W. Rozycki [Tue, 10 Jul 2018 23:42:43 +0000 (00:42 +0100)] 
BFD/ELF: Correct a `remove' global shadowing error for pre-4.8 GCC

Remove `-Wshadow' compilation errors:

cc1: warnings being treated as errors
.../bfd/elflink.c: In function 'bfd_elf_final_link':
.../bfd/elflink.c:11722: error: declaration of 'remove' shadows a global declaration
/usr/include/stdio.h:154: error: shadowed declaration is here

which for versions of GCC before 4.8 prevent support for ELF targets
from being built.  See also GCC PR c/53066.

bfd/
* elflink.c (bfd_elf_final_link): Rename `remove' local variable
to `remove_section'.

(cherry picked from commit 5270eddc6ed6b5d8e4e2817491bb44b784fa6f81)

7 years agoFix test for availability of emplace_back.
Cary Coutant [Mon, 9 Jul 2018 23:12:27 +0000 (16:12 -0700)] 
Fix test for availability of emplace_back.

Testing for the GCC version 5 or later isn't right, since C++ 11 support
wasn't enabled by default until later.  This patch tests the C++ standard
support directly instead of inferring it from the GCC version.

gold/
* incremental.cc (Sized_incremental_binary::setup_readers): Use
emplace_back for C++ 11 or later.

7 years agoAutomatic date update in version.in
GDB Administrator [Tue, 10 Jul 2018 00:02:08 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agobfd: Use changequote for "i[3-7]86-*-linux-*"
H.J. Lu [Mon, 9 Jul 2018 13:51:17 +0000 (06:51 -0700)] 
bfd: Use changequote for "i[3-7]86-*-linux-*"

Use changequote to match "i[3-7]86-*-linux-*", instead of
"i3-786-*-linux-*".

PR ld/23388
* configure.ac: Use changequote for "i[3-7]86-*-linux-*".
* configure: Regenerated.

(cherry picked from commit 872899f1efeda1e93ed569d322c6b2ee85ce885c)

7 years agox86: Remove x86 ISA properties with empty bits
H.J. Lu [Thu, 5 Jul 2018 16:24:07 +0000 (09:24 -0700)] 
x86: Remove x86 ISA properties with empty bits

There is no need to generate x86 ISA properties with empty bits in
linker output.

bfd/

PR ld/23372
* elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove x86
ISA properties with empty bits.

ld/

PR ld/23372
* testsuite/ld-i386/i386.exp: Run pr23372a and pr23372b.
* testsuite/ld-i386/pr23372a.d: New file.
* testsuite/ld-i386/pr23372a.s: Likewise.
* testsuite/ld-i386/pr23372b.d: Likewise.
* testsuite/ld-i386/pr23372b.s: Likewise.
* testsuite/ld-i386/pr23372c.s: Likewise.
* testsuite/ld-x86-64/pr23372a-x32.d: Likewise.
* testsuite/ld-x86-64/pr23372a.d: Likewise.
* testsuite/ld-x86-64/pr23372a.s: Likewise.
* testsuite/ld-x86-64/pr23372b-x32.d: Likewise.
* testsuite/ld-x86-64/pr23372b.d: Likewise.
* testsuite/ld-x86-64/pr23372b.s: Likewise.
* testsuite/ld-x86-64/pr23372c.s: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run pr23372a, pr23372a-x32,
pr23372b and pr23372b-x32.

(cherry picked from commit 56ad703d56ffe5dc55d5e719a6ec41fd6cf9bfbe)

7 years agoFix diagnostic errors
Alan Modra [Fri, 6 Jul 2018 05:37:08 +0000 (15:07 +0930)] 
Fix diagnostic errors

Fixes a number of build errors like the following
.../elf32-arm.c: In function 'elf32_arm_nabi_write_core_note':
.../elf32-arm.c:2177: error: #pragma GCC diagnostic not allowed inside functions
.../elf32-arm.c:2186: error: #pragma GCC diagnostic not allowed inside functions
See the comment in diagnostics.h.

include/
* diagnostics.h: Comment on macro usage.
bfd/
* elf32-arm.c (elf32_arm_nabi_write_core_note): Don't use
DIAGNOTIC_PUSH and DIAGNOSTIC_POP unconditionally.
* elf32-ppc.c (ppc_elf_write_core_note): Likewise.
* elf32-s390.c (elf_s390_write_core_note): Likewise.
* elf64-ppc.c (ppc64_elf_write_core_note): Likewise.
* elf64-s390.c (elf_s390_write_core_note): Likewise.
* elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise.

(cherry picked from commit fe75810f8e0cc33384f22d0479506711d4014c60)

7 years ago[GOLD] PowerPC .gnu.attributes support
Alan Modra [Thu, 5 Jul 2018 15:38:16 +0000 (01:08 +0930)] 
[GOLD] PowerPC .gnu.attributes support

elfcpp/
* powerpc.h (Tag_GNU_Power_ABI_FP): Define.
(Tag_GNU_Power_ABI_Vector, Tag_GNU_Power_ABI_Struct_Return): Define.
gold/
* powerpc.cc: Include attributes.h.
(Powerpc_relobj::attributes_section_data_): New variable, with
accessor and associated constructor and destructor support.
(Powerpc_dynobj::attributes_section_data_): Likewise.
(Powerpc_relobj::do_read_symbols): Stash SHT_GNU_ATTRIBUTES section
contents in attributes_section_data_.
(Powerpc_dynobj::do_read_symbols): Likewise.
(Target_powerpc): Add attributes_section_data_, last_fp_, last_ld_,
last_vec_, and last_struct_ vars.
(Target_powerpc::merge_object_attributes): New function.
(Target_powerpc::do_finalize_sections): Iterate over input objects
merging attributes.  Create output attributes section.

(cherry picked from commit 724436fccb68156ff53b7b03cb7f41547a65c30c)

7 years agoAutomatic date update in version.in
GDB Administrator [Mon, 9 Jul 2018 00:02:17 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sun, 8 Jul 2018 00:02:57 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sat, 7 Jul 2018 00:01:59 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoRISC-V: Add riscv-*-* configure support, and minor cleanup.
Jim Wilson [Fri, 6 Jul 2018 00:49:11 +0000 (17:49 -0700)] 
RISC-V: Add riscv-*-* configure support, and minor cleanup.

bfd/
* config.bfd (riscv32*-*-*): Renamed from riscv32-*-*.
(riscv64*-*-*): Likewise.
(riscv-*-*): Add as an alias for riscv32*-*-*.

ld/
* configure.tgt (riscv-*-*): Add as an alias for riscv32*-*-*.

(cherry picked from commit bb11866d6a635fadb9285d18e2fb819d2de2c28c)

7 years agoFix SBO bit in disassembly mask for ldrah on AArch64.
Tamar Christina [Fri, 6 Jul 2018 15:18:19 +0000 (16:18 +0100)] 
Fix SBO bit in disassembly mask for ldrah on AArch64.

The disassembly mask for ldarh incorrectly didn't mask out bit 20 which
is part of the SBO part of the instruction and shouldn't be considered input.

This fixes the wrong bit fixing the disassembly of instructions to
ldarh and makes the behavior consistent.

opcodes/

PR binutils/23242
* aarch64-tbl.h (ldarh): Fix disassembly mask.

(cherry picked from commit f311ba7ed84d66ae2cd77bd969747d7ab959d866)
Signed-off-by: Tamar Christina <tamar.christina@arm.com>
7 years agoFix the read/write flag for these registers on AArch64
Tamar Christina [Fri, 6 Jul 2018 15:15:41 +0000 (16:15 +0100)] 
Fix the read/write flag for these registers on AArch64

The previous constraints were based on information already in opcodes and it
seems that a few of them were wrong.  I have now hand verified the ones changed
by the previous patch and corrected where needed.

This prevents a warning to be issued when one shouldn't be.

opcodes/

PR binutils/23369
* aarch64-opc.c (aarch64_sys_regs): Make read/write csselr_el1,
vsesr_el2, osdtrrx_el1, osdtrtx_el1, pmsidr_el1.

gas/testsuite/

PR binutils/23369
* gas/aarch64/msr.d (csselr_el1,
vsesr_el2, osdtrrx_el1, osdtrtx_el1, pmsidr_el1): New.
* gas/aarch64/msr.s: Likewise.

(cherry picked from commit cba05feb51cb97f75f9a7814b081ce45245ac7b2)
Signed-off-by: Tamar Christina <tamar.christina@arm.com>
7 years agoFix bug generating relocations for notes created by the assembler.
Nick Clifton [Fri, 6 Jul 2018 10:48:15 +0000 (11:48 +0100)] 
Fix bug generating relocations for notes created by the assembler.

* write.c (maybe_generate_build_notes): Bias reloc offsets by the
number of notes already generated.

7 years agoUpdate config.sub
Sebastian Huber [Fri, 6 Jul 2018 06:23:40 +0000 (08:23 +0200)] 
Update config.sub

* config.sub: Sync with upstream version 2018-07-03.

7 years agoAutomatic date update in version.in
GDB Administrator [Fri, 6 Jul 2018 00:02:26 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoError for mismatched powerpc ABI tags
Alan Modra [Wed, 4 Jul 2018 01:11:31 +0000 (10:41 +0930)] 
Error for mismatched powerpc ABI tags

And report the two input files that are incompatible rather than
reporting that an input file is incompatible with the output.

bfd/
* elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Update prototype.
* elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Return error
on mismatch.  Remove "warning: " from messages.  Track last bfd
used to set tags.
(ppc_elf_merge_obj_attributes): Likewise.  Handle status from
_bfd_elf_ppc_merge_fp_attributes.
* elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Handle status
from _bfd_elf_ppc_merge_fp_attributes.
ld/
* testsuite/ld-powerpc/attr-gnu-4-12.d: Update expected output.
* testsuite/ld-powerpc/attr-gnu-4-13.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-4-21.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-4-23.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-4-31.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-4-32.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-8-23.d: Likewise.
* testsuite/ld-powerpc/attr-gnu-12-21.d: Likewise.

(cherry picked from commit 4a91d0ba307eb24eb87ad27f4ea8fcde823c3e61)

7 years agoCorrect removal of .gnu.attributes
Alan Modra [Tue, 3 Jul 2018 08:27:36 +0000 (17:57 +0930)] 
Correct removal of .gnu.attributes

Setting SEC_EXCLUDE for empty .gnu.attributes is too late in the link
process for the linker to remove the section.  That must be done in
bfd_elf_final_link, as we do for removed group sections.

* elflink.c (bfd_elf_final_link): Remove zero size .gnu.attributes
sections.

(cherry picked from commit b8a6ced79668ec8af3180e50b76f7517ebbab0d9)