]> git.ipfire.org Git - thirdparty/binutils-gdb.git/log
thirdparty/binutils-gdb.git
6 years agoAutomatic date update in version.in
GDB Administrator [Tue, 5 Mar 2019 00:01:47 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Mon, 4 Mar 2019 00:01:30 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Sun, 3 Mar 2019 00:02:37 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Sat, 2 Mar 2019 00:02:03 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoRevert "Add support to GNU ld to separate got related plt entries"
Andreas Krebbel [Fri, 1 Mar 2019 14:23:42 +0000 (15:23 +0100)] 
Revert "Add support to GNU ld to separate got related plt entries"

bfd/ChangeLog:

2019-03-01  Andreas Krebbel  <krebbel@linux.ibm.com>

This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>

PR 20113
* elf32-s390.c (allocate_dynrelocs): Update comment.

ld/ChangeLog:

2019-03-01  Andreas Krebbel  <krebbel@linux.ibm.com>

This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>

PR 20113
* emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define.
* emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define.
* testsuite/ld-s390/gotreloc_31-1.dd: Update expected output.
* testsuite/ld-s390/tlsbin.dd: Likewise.
* testsuite/ld-s390/tlsbin.rd: Likewise.
* testsuite/ld-s390/tlsbin.sd: Likewise.
* testsuite/ld-s390/tlsbin_64.dd: Likewise.
* testsuite/ld-s390/tlsbin_64.rd: Likewise.
* testsuite/ld-s390/tlsbin_64.sd: Likewise.
* testsuite/ld-s390/tlspic.dd: Likewise.
* testsuite/ld-s390/tlspic.rd: Likewise.
* testsuite/ld-s390/tlspic.sd: Likewise.
* testsuite/ld-s390/tlspic_64.dd: Likewise.
* testsuite/ld-s390/tlspic_64.rd: Likewise.
* testsuite/ld-s390/tlspic_64.sd: Likewise.
* testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets.

6 years agoAutomatic date update in version.in
GDB Administrator [Fri, 1 Mar 2019 00:02:38 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Thu, 28 Feb 2019 00:02:14 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Wed, 27 Feb 2019 00:02:13 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Tue, 26 Feb 2019 00:01:45 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Mon, 25 Feb 2019 00:02:13 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Sun, 24 Feb 2019 00:02:46 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Sat, 23 Feb 2019 00:01:51 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Fri, 22 Feb 2019 00:01:48 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Thu, 21 Feb 2019 00:02:02 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Wed, 20 Feb 2019 00:02:02 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Tue, 19 Feb 2019 00:02:09 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Mon, 18 Feb 2019 00:02:17 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Sun, 17 Feb 2019 00:02:39 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Sat, 16 Feb 2019 00:02:09 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Fri, 15 Feb 2019 00:02:33 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Thu, 14 Feb 2019 00:02:35 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Wed, 13 Feb 2019 00:01:28 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoUpdated French translation for ld/ and gold/ subdirectories
Nick Clifton [Tue, 12 Feb 2019 13:32:37 +0000 (13:32 +0000)] 
Updated French translation for ld/ and gold/ subdirectories

6 years agoAutomatic date update in version.in
GDB Administrator [Tue, 12 Feb 2019 00:01:13 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Mon, 11 Feb 2019 00:01:09 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAdd ChangeLog entries for PR gas/24165
H.J. Lu [Sun, 10 Feb 2019 13:55:07 +0000 (05:55 -0800)] 
Add ChangeLog entries for PR gas/24165

6 years agogas: Pass max_bytes to TC_FRAG_INIT
H.J. Lu [Sun, 10 Feb 2019 12:34:10 +0000 (04:34 -0800)] 
gas: Pass max_bytes to TC_FRAG_INIT

ommit 3ae729d5a4f63740ed9a778960b17c2912b0bbdd
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Mar 7 04:18:45 2018 -0800

    x86: Rewrite NOP generation for fill and alignment

increased MAX_MEM_FOR_RS_ALIGN_CODE to 4095 which resulted in increase
of assembler time and memory usage by 5 times for inputs with many
.p2align directives, which is typical for LTO output.  This patch passes
max_bytes to TC_FRAG_INIT so that MAX_MEM_FOR_RS_ALIGN_CODE can be set
as needed and tracked by backend it so that HANDLE_ALIGN can check the
maximum alignment for each rs_align_code frag.  Wall time to assemble
the same cc1plus.s:

before:

423.78user 0.89system 7:05.71elapsed 99%CPU

after:

102.35user 0.27system 1:42.89elapsed 99%CPU

PR gas/24165
* config/tc-i386.h (MAX_MEM_FOR_RS_ALIGN_CODE): Set to
(alignment ? ((1 << alignment) - 1) : 1)
(i386_tc_frag_data): Add max_bytes.
(TC_FRAG_INIT): Track max_chars in max_bytes.
(HANDLE_ALIGN): Replace MAX_MEM_FOR_RS_ALIGN_CODE with
fragP->tc_frag_data.max_bytes.

(cherry picked from commit db22231044df03bbcb987496f3f29f0462b2e9ee)

6 years agox86-64: Restore PIC check for PCREL reloc against protected symbol
H.J. Lu [Wed, 6 Feb 2019 02:45:23 +0000 (18:45 -0800)] 
x86-64: Restore PIC check for PCREL reloc against protected symbol

commit bd7ab16b4537788ad53521c45469a1bdae84ad4a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Feb 13 07:34:22 2018 -0800

    x86-64: Generate branch with PLT32 relocation

removed check R_X86_64_PC32 relocation against protected symbols in
shared objects.  Since elf_x86_64_check_relocs is called after we
have seen all input files, we can check for PC-relative relocations in
elf_x86_64_check_relocs.  We should not allow PC-relative relocations
against protected symbols since address of protected function and
location of protected data may not be in the shared object.

bfd/

PR ld/24151
* elf64-x86-64.c (elf_x86_64_need_pic): Check
SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
(elf_x86_64_relocate_section): Move PIC check for PC-relative
relocations to ...
(elf_x86_64_check_relocs): Here.
(elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
to check if a symbol is defined in a non-shared object.
* elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.

ld/

PR ld/24151
* testsuite/ld-x86-64/pr24151a-x32.d: New file.
* testsuite/ld-x86-64/pr24151a.d: Likewise.
* testsuite/ld-x86-64/pr24151a.s: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run pr24151a and pr24151a-x32.

(cherry picked from commit 83924b3846361f2f76f9a6e7b5afa01c0eebbd4f)

6 years agoAutomatic date update in version.in
GDB Administrator [Sun, 10 Feb 2019 00:02:39 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Sat, 9 Feb 2019 00:02:13 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoMake inline plt reloc "unsupported for bss-plt" an error
Alan Modra [Fri, 8 Feb 2019 01:21:34 +0000 (11:51 +1030)] 
Make inline plt reloc "unsupported for bss-plt" an error

This was always supposed to be an error.  Code emitted by gcc for
inline PLT calls assumes PLT is an array of addresses.

* elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
for bss-plt" warning to make it an error.

(cherry picked from commit 482f3505d1b62cbcf46ffed54807fad0d91c8f09)

6 years agoAutomatic date update in version.in
GDB Administrator [Fri, 8 Feb 2019 00:01:49 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoArm: Backport hlt to all architectures.
Tamar Christina [Thu, 7 Feb 2019 17:12:23 +0000 (17:12 +0000)] 
Arm: Backport hlt to all architectures.

The software trap instruction HLT that was introduced in Armv8-a is used
as the semihosting trap instruction in AArch64.  In order to allow systems
configured to run AArch64 code to also run AArch32 with semihosting it was
decided that AArch32 should also use HLT in the case of the "mixed mode"
environment.  This requires that HLT also be backported to all earlier
architectures.  The instruction is in the undefined encoding space earlier
architectures but must trigger a semihosting trap [3].

The Arm Architectural Reference Manual [1] doesn't explicitly mention this
however this is an explicit requirement in the Semihosting-v2 protocol [2].

[1] https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile
[2] https://developer.arm.com/docs/100863/latest/the-semihosting-interface
[3] https://github.com/qemu/qemu/commit/19a6e31c9d2701ef648b70ddcfc3bf64cec8c37e

gas/ChangeLog:

* config/tc-arm.c (insns): Redefine THUMB_VARIANT and ARM_VARIANT for
hlt to armv1.
* testsuite/gas/arm/armv8a-automatic-hlt.d: Update TAGs
* testsuite/gas/arm/hlt.d: New test.
* testsuite/gas/arm/hlt.s: New test.

opcodes/ChangeLog:

* arm-dis.c (arm_opcodes): Redefine hlt to armv1.

(cherry picked from commit f7dd2fb2e2b750f0fb9dedaf885c17bc6beef1f7)

6 years agoSPARC: fix PR ld/18841
Eric Botcazou [Thu, 7 Feb 2019 16:04:31 +0000 (17:04 +0100)] 
SPARC: fix PR ld/18841

This fixes the last ld failures on SPARC64/Linux:

FAIL: Run pr18841 with libpr18841b.so
FAIL: Run pr18841 with libpr18841c.so
FAIL: Run pr18841 with libpr18841bn.so (-z now)
FAIL: Run pr18841 with libpr18841cn.so (-z now)

by mimicing what has been done on x86-64 and Aarch64 to fix the PR.

bfd/
PR ld/18841
        * elf32-sparc.c (elf32_sparc_reloc_type_class): Return
        reloc_class_ifunc for ifunc symbols.
        * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.

6 years agoVisium: fix bogus overflow check on 32-bit hosts
Eric Botcazou [Thu, 7 Feb 2019 16:02:24 +0000 (17:02 +0100)] 
Visium: fix bogus overflow check on 32-bit hosts

bfd/
* elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
<R_VISIUM_PC16>: Use explicit range test to detect an overflow.

6 years agoVisium: align branch absolute instruction for the GR6
Eric Botcazou [Thu, 7 Feb 2019 15:58:47 +0000 (16:58 +0100)] 
Visium: align branch absolute instruction for the GR6

This is done in order to avoid a pipeline hazard on the GR6.

gas/
* config/tc-visium.c (md_assemble) <mode_cad>: Align instruction
on 64-bit boundaries for the GR6.
* testsuite/gas/visium/allinsn_gr6.s: Tweak.
* testsuite/gas/visium/allinsn_gr6.d: Likewise.
* testsuite/gas/visium/bra-1.d: New test.
* testsuite/gas/visium/bra-1.s: Likewise.
* testsuite/gas/visium/visium.exp: Run bra-1 test.

6 years agoUpdated Swedish translation for the opcodes sub-directory
Nick Clifton [Thu, 7 Feb 2019 14:50:22 +0000 (14:50 +0000)] 
Updated Swedish translation for the opcodes sub-directory

6 years agoAutomatic date update in version.in
GDB Administrator [Thu, 7 Feb 2019 00:02:20 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Wed, 6 Feb 2019 00:01:26 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Tue, 5 Feb 2019 00:02:02 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoFix thinko on 2.32 branch - set experimental flag to false.
Nick Clifton [Mon, 4 Feb 2019 10:30:48 +0000 (10:30 +0000)] 
Fix thinko on 2.32 branch - set experimental flag to false.

6 years agoAutomatic date update in version.in
GDB Administrator [Mon, 4 Feb 2019 00:02:25 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Sun, 3 Feb 2019 00:01:57 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoRestore 2.32 branch to development status
Nick Clifton [Sat, 2 Feb 2019 17:47:38 +0000 (17:47 +0000)] 
Restore 2.32 branch to development status

6 years agoSet to 2.32 release version and regenerate configure and pot files binutils-2_32
Nick Clifton [Sat, 2 Feb 2019 16:05:58 +0000 (16:05 +0000)] 
Set to 2.32 release version and regenerate configure and pot files

6 years agoAutomatic date update in version.in
GDB Administrator [Sat, 2 Feb 2019 00:01:21 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Fri, 1 Feb 2019 00:01:43 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoS/390: Implement instruction set extensions
Andreas Krebbel [Thu, 31 Jan 2019 16:01:27 +0000 (17:01 +0100)] 
S/390: Implement instruction set extensions

opcodes/ChangeLog:

2019-01-31  Andreas Krebbel  <krebbel@linux.ibm.com>

Backport from mainline
2019-01-31  Andreas Krebbel  <krebbel@linux.ibm.com>

* s390-mkopc.c (main): Accept arch13 as cpu string.
* s390-opc.c: Add new instruction formats and instruction opcode
masks.
* s390-opc.txt: Add new arch13 instructions.

include/ChangeLog:

2019-01-31  Andreas Krebbel  <krebbel@linux.ibm.com>

Backport from mainline
2019-01-31  Andreas Krebbel  <krebbel@linux.ibm.com>

* opcode/s390.h (enum s390_opcode_cpu_val): Add
S390_OPCODE_ARCH13.

gas/ChangeLog:

2019-01-31  Andreas Krebbel  <krebbel@linux.ibm.com>

Backport from mainline
2019-01-31  Andreas Krebbel  <krebbel@linux.ibm.com>

* config/tc-s390.c (s390_parse_cpu): New entry for arch13.
* doc/c-s390.texi: Document arch13 march option.
* testsuite/gas/s390/s390.exp: Run the arch13 related tests.
* testsuite/gas/s390/zarch-arch13.d: New test.
* testsuite/gas/s390/zarch-arch13.s: New test.
* testsuite/gas/s390/zarch-z13.d: Expect the renamed mnemonics
also for z13.

6 years agoAssorted warning fixes
Alan Modra [Thu, 31 Jan 2019 04:08:45 +0000 (14:38 +1030)] 
Assorted warning fixes

gcc-9 flagged warnings at the places I'm patching here, all real bugs.

* config/tc-alpha.c (md_apply_fix): Correct range checks for
BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BSR.
* config/tc-arm.c (md_apply_fix): Use llabs rather than abs.
* config/tc-csky.c (get_macro_reg_vals): Pass s to csky_show_error.

(cherry picked from commit 3ca4a8eca78b4d5e3fa308dbd21c67ebef09a261)

6 years agoDocument ld -t behaviour
Alan Modra [Thu, 31 Jan 2019 01:07:44 +0000 (11:37 +1030)] 
Document ld -t behaviour

* NEWS: Mention -t change.
* ld.texi (--trace/-t): Expand documentation a little.

(cherry picked from commit 4f4690cd42476b0907b51a410fc026bfc94c66d2)

6 years agoAutomatic date update in version.in
GDB Administrator [Thu, 31 Jan 2019 00:01:18 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Wed, 30 Jan 2019 00:01:54 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoxtensa: gas: don't keep relocations for constants
Max Filippov [Sat, 26 Jan 2019 02:52:32 +0000 (18:52 -0800)] 
xtensa: gas: don't keep relocations for constants

xtensa gas chokes on 8/16 bit data entries representing constant symbols
because it leaves BFD_RELOC_8/BFD_RELOC_16 fixups for which xtensa BFD
cannot emit relocations. Resolve fixups for constant symbols in
md_apply_fix.

gas/
2019-01-29  Max Filippov  <jcmvbkbc@gmail.com>

* config/tc-xtensa.c (md_apply_fix): Mark fixups for constant
symbols as done in md_apply_fix.
* testsuite/gas/all/forward.d: Don't XFAIL for xtensa.

6 years agoControl gas enable-checking default by bfd/development.sh
Alan Modra [Sun, 27 Jan 2019 23:03:28 +0000 (09:33 +1030)] 
Control gas enable-checking default by bfd/development.sh

* configure.ac (ac_checking): Set from bfd/development.sh
development variable.
* configure: Regenerate.

(cherry picked from commit e044973b0cadb4c36c2a2c11e908d758b8cd75f9)

6 years agoFix error in expression evalutation in linker output maps.
Nick Clifton [Tue, 29 Jan 2019 11:20:02 +0000 (11:20 +0000)] 
Fix error in expression evalutation in linker output maps.

PR 24008
* ldexp.h (lang_phase_type): Add lang_fixed_phase_enum.
* ldexp.c (fold_name): Move expld.assign_name check later to
avoid an extra lookup.
(exp_fold_tree_1): When lang_fixed_phase_enum, don't change symbol
values, and don't clear expld.assign_name.
* ldlang.c (lang_map): Set expld.phase to lang_fixed_phase_enum.
(print_assignment): Resolve entire assignment expression.
Don't access symbol u.def unless symbol is defined.

6 years agoSkip ld/pr23169 on SPARC.
Eric Botcazou [Tue, 29 Jan 2019 09:11:01 +0000 (10:11 +0100)] 
Skip ld/pr23169 on SPARC.

The test is already skipped on PowerPC and Aarch64 because it's invalid.

* testsuite/ld-ifunc/ifunc.exp: Skip pr23169 on SPARC.

6 years agoAutomatic date update in version.in
GDB Administrator [Tue, 29 Jan 2019 00:02:14 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoFix compilation warning building BFD library for ARM using gcc v9.
Nick Clifton [Mon, 28 Jan 2019 17:09:41 +0000 (17:09 +0000)] 
Fix compilation warning building BFD library for ARM using gcc v9.

* elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
of 'labs' (and fix GCC warning).

6 years agoUpdated Russian and French translations for the gas sub-directory
Nick Clifton [Mon, 28 Jan 2019 15:22:23 +0000 (15:22 +0000)] 
Updated Russian and French translations for the gas sub-directory

6 years agoAutomatic date update in version.in
GDB Administrator [Mon, 28 Jan 2019 00:01:21 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Sun, 27 Jan 2019 00:02:44 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Sat, 26 Jan 2019 00:02:26 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAArch64: Add missing changelog for Update encodings for stg, st2g, stzg and st2zg
Tamar Christina [Fri, 25 Jan 2019 15:50:01 +0000 (15:50 +0000)] 
AArch64: Add missing changelog for Update encodings for stg, st2g, stzg and st2zg

(cherry picked from commit e10620d3b96a725c4752198cb3c7c00ea21b42b4)

6 years agoAArch64: Update encodings for stg, st2g, stzg and st2zg.
Sudi Das [Fri, 25 Jan 2019 14:28:07 +0000 (14:28 +0000)] 
AArch64: Update encodings for stg, st2g, stzg and st2zg.

This patch is part of a series of patches to introduce a few changes to the
Armv8.5-A Memory Tagging Extension. This patch updates the st*g instructions
to use a previously reserved field for a new register operand. Thus the
new versions of the instructions are as follows:

- STG Xt, [<Xn|SP>, #<simm>]
- STG Xt, [<Xn|SP>, #<simm>]!
- STG Xt, [<Xn|SP>], #<simm>
- STZG Xt, [<Xn|SP>, #<simm>]
- STZG Xt, [<Xn|SP>, #<simm>]!
- STZG Xt, [<Xn|SP>], #<simm>
- ST2G Xt, [<Xn|SP>, #<simm>]
- ST2G Xt, [<Xn|SP>, #<simm>]!
- ST2G Xt, [<Xn|SP>], #<simm>
- STZ2G Xt, [<Xn|SP>, #<simm>]
- STZ2G Xt, [<Xn|SP>, #<simm>]!
- STZ2G Xt, [<Xn|SP>], #<simm>

Committed on behalf of Sudakshina Das.

*** gas/ChangeLog ***

* config/tc-aarch64.c (warn_unpredictable_ldst): Exempt
stg, st2g, stzg and stz2g from Xt == Xn with writeback warning.
* testsuite/gas/aarch64/armv8_5-a-memtag.d: Change tests for
stg, stzg, st2g and stz2g.
* testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
* testsuite/gas/aarch64/illegal-memtag.s: Likewise.

*** opcodes/ChangeLog ***

* aarch64-tbl.h (QL_LDST_AT): Update macro.
(aarch64_opcode): Change encoding for stg, stzg
st2g and st2zg.
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.

(cherry picked from commit 69105ce4c42e5644ab92cb9b2765ff5ce6bf7b1b)

6 years agoAArch64: Add new STZGM instruction for Armv8.5-A Memory Tagging Extension.
Sudi Das [Fri, 25 Jan 2019 14:15:45 +0000 (14:15 +0000)] 
AArch64: Add new STZGM instruction for Armv8.5-A Memory Tagging Extension.

This patch is part of a series of patches to introduce a few changes to the
Armv8.5-A Memory Tagging Extension. This patch adds the new STZGM instruction.

STGZM Xt, [<Xn|SP>]

Committed on behalf of Sudakshina Das.

*** gas/ChangeLog ***

* testsuite/gas/aarch64/armv8_5-a-memtag.d: New tests for stzgm.
* testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
* testsuite/gas/aarch64/illegal-memtag.s: Likewise.

*** opcodes/ChangeLog ***

* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Likewise.
* aarch64-opc-2.c: Likewise.
* aarch64-tbl.h (aarch64_opcode): Add new stzgm.

(cherry picked from commit 20a4ca5524b9bde2f5dfb19661570c25a3b05e5d)

6 years agoAArch64: Remove ldgv and stgv instructions from Armv8.5-A Memory Tagging Extension.
Sudi Das [Fri, 25 Jan 2019 13:57:14 +0000 (13:57 +0000)] 
AArch64: Remove ldgv and stgv instructions from Armv8.5-A Memory Tagging Extension.

This patch is part of a series of patches to introduce a few changes to the
Armv8.5-A Memory Tagging Extension. This patch removes the LDGV and STGV
instructions. These instructions needed special infrastructure to support
[base]! style for addressing mode. That is also removed now.

Committed on behalf of Sudakshina Das.

*** gas/ChangeLog ***

* config/tc-aarch64.c (parse_address_main): Remove support for
[base]! address expression.
(parse_operands): Remove support for AARCH64_OPND_ADDR_SIMPLE_2.
(warn_unpredictable_ldst): Remove support for ldstgv_indexed.
* testsuite/gas/aarch64/armv8_5-a-memtag.d: Remove tests for ldgv
and stgv.
* testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
* testsuite/gas/aarch64/illegal-memtag.l: Likewise.
* testsuite/gas/aarch64/illegal-memtag.s: Likewise.

*** include/ChangeLog ***

* opcode/aarch64.h (enum aarch64_opnd): Remove
AARCH64_OPND_ADDR_SIMPLE_2.
(enum aarch64_insn_class): Remove ldstgv_indexed.

*** opcodes/ChangeLog ***

* aarch64-asm.c (aarch64_ins_addr_simple_2): Remove.
* aarch64-asm.h (ins_addr_simple_2): Likeiwse.
* aarch64-dis.c (aarch64_ext_addr_simple_2): Likewise.
* aarch64-dis.h (ext_addr_simple_2): Likewise.
* aarch64-opc.c (operand_general_constraint_met_p): Remove
case for ldstgv_indexed.
(aarch64_print_operand): Remove case for AARCH64_OPND_ADDR_SIMPLE_2.
* aarch64-tbl.h (struct aarch64_opcode): Remove ldgv and stgv.
(AARCH64_OPERANDS): Remove ADDR_SIMPLE_2.
* aarch64-asm-2.c: Regenerated.
* aarch64-dis-2.c: Regenerated.
* aarch64-opc-2.c: Regenerated.

(cherry picked from commit 550fd7bf6858cd708c54ec90412ffb653a932c3d)

6 years agoUpdated Bulgarian and Russian translations for some of the binutils sub-directories
Nick Clifton [Fri, 25 Jan 2019 11:49:48 +0000 (11:49 +0000)] 
Updated Bulgarian and Russian translations for some of the binutils sub-directories

6 years agoAutomatic date update in version.in
GDB Administrator [Fri, 25 Jan 2019 00:02:03 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Thu, 24 Jan 2019 00:02:00 +0000 (00:02 +0000)] 
Automatic date update in version.in

6 years agoFix changelog entry.
Nick Clifton [Wed, 23 Jan 2019 10:30:26 +0000 (10:30 +0000)] 
Fix changelog entry.

6 years agoUpdated translations for some binutils sub-directories.
Nick Clifton [Wed, 23 Jan 2019 10:29:20 +0000 (10:29 +0000)] 
Updated translations for some binutils sub-directories.

6 years agoAutomatic date update in version.in
GDB Administrator [Wed, 23 Jan 2019 00:01:56 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 years ago[MIPS] fix typo in mips_arch_choices. binutils-2_32-branch
Chenghua Xu [Tue, 22 Jan 2019 01:17:24 +0000 (01:17 +0000)] 
[MIPS] fix typo in mips_arch_choices.

opcodes/
* mips-dis.c (mips_arch_choices): Fix typo in
gs464, gs464e and gs264e descriptors.

6 years agoUpdated Brazilian Portuguese translation for the ld/ subdirectory.
Nick Clifton [Mon, 21 Jan 2019 13:06:28 +0000 (13:06 +0000)] 
Updated Brazilian Portuguese translation for the ld/ subdirectory.

6 years agoUpdated translations for vatious binutils subdirectories
Nick Clifton [Mon, 21 Jan 2019 13:00:55 +0000 (13:00 +0000)] 
Updated translations for vatious binutils subdirectories

6 years agoChange to version 2.31.90 and regenerate configure and pot files.
Nick Clifton [Sat, 19 Jan 2019 16:55:39 +0000 (16:55 +0000)] 
Change to version 2.31.90 and regenerate configure and pot files.

6 years agoAdd markers for 2.32 branch to NEWS and ChangeLog files.
Nick Clifton [Sat, 19 Jan 2019 15:55:50 +0000 (15:55 +0000)] 
Add markers for 2.32 branch to NEWS and ChangeLog files.

6 years agoAutomatic date update in version.in
GDB Administrator [Sat, 19 Jan 2019 00:00:46 +0000 (00:00 +0000)] 
Automatic date update in version.in

6 years agoAutomatic date update in version.in
GDB Administrator [Fri, 18 Jan 2019 00:00:50 +0000 (00:00 +0000)] 
Automatic date update in version.in

6 years agoMake minimal symbol range adapter a method on objfile
Tom Tromey [Wed, 16 Jan 2019 14:18:58 +0000 (07:18 -0700)] 
Make minimal symbol range adapter a method on objfile

This removes class objfile_msymbols in favor of a method on the
objfile.

2019-01-16  Tom Tromey  <tom@tromey.com>

* objfiles.h (struct minimal_symbol_iterator): Rename.  Move
earlier.
(struct objfile) <msymbols_range>: Move from top level.
<msymbols>: New method.
(class objfile_msymbols): Remove.
* symtab.c (default_collect_symbol_completion_matches_break_on):
Update.
* symmisc.c (dump_msymbols): Update.
* stabsread.c (scan_file_globals): Update.
* objc-lang.c (info_selectors_command, info_classes_command)
(find_methods): Update.
* minsyms.c (find_solib_trampoline_target): Update.
* hppa-tdep.c (hppa_lookup_stub_minimal_symbol): Update.
* coffread.c (coff_symfile_read): Update.
* ada-lang.c (ada_lookup_simple_minsym)
(ada_collect_symbol_completion_matches): Update.

6 years agoSimplify minsym iteration
Tom Tromey [Wed, 16 Jan 2019 14:09:55 +0000 (07:09 -0700)] 
Simplify minsym iteration

This simplifies the minimal symbol iterator, by using
minimal_symbol_count and just doing a somewhat ordinary array-like
iteration.  array_view is nearly usable, except that it is more
convenient for this iterator to return pointers rather than
references.

gdb/ChangeLog
2019-01-16  Tom Tromey  <tom@tromey.com>

* objfiles.h (class objfile_msymbols) <iterator>: Change argument
type.  Remove no-argument constructor.
<iterator::operator++>: Simplify.
<begin>: Update.
<end>: Use minimal_symbol_count.

6 years agoMake psymtab range adapter a method on objfile
Tom Tromey [Wed, 16 Jan 2019 13:37:15 +0000 (06:37 -0700)] 
Make psymtab range adapter a method on objfile

This removes the objfile_psymtabs class in favor of a method on
objfile and on psymtab_storage.

2019-01-16  Tom Tromey  <tom@tromey.com>

* objfiles.h (struct objfile) <psymtabs>: New method.
(class objfile_psymtabs): Remove.
* psymtab.h (class psymtab_storage) <partial_symtab_range>: New
typedef.
<range>: New method.
(require_partial_symbols): Change return type.
* psymtab.c (require_partial_symbols)
(psym_expand_symtabs_matching): Update.
* mdebugread.c (parse_partial_symbols): Update.
* dbxread.c (dbx_end_psymtab): Update.

6 years agoAdd compunits range adapter to objfile
Tom Tromey [Wed, 16 Jan 2019 03:06:48 +0000 (20:06 -0700)] 
Add compunits range adapter to objfile

This removes the objfile_compunits range adapter in favor of using a
method on objfile.

2019-01-15  Tom Tromey  <tom@tromey.com>

* symtab.c (lookup_objfile_from_block)
(lookup_symbol_in_objfile_symtabs)
(basic_lookup_transparent_type_1, find_pc_sect_compunit_symtab)
(find_line_symtab, info_sources_command)
(default_collect_symbol_completion_matches_break_on)
(make_source_files_completion_list): Update.
* symmisc.c (print_objfile_statistics, dump_objfile)
(maintenance_print_symbols, maintenance_info_symtabs)
(maintenance_check_symtabs, maintenance_info_line_tables):
Update.
* source.c (select_source_symtab)
(forget_cached_source_info_for_objfile): Update.
* objfiles.h (class objfile_compunits): Remove.
(struct objfile) <compunits_range>: New typedef.
(compunits): New method.
* objfiles.c (objfile_relocate1): Update.
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update.
* maint.c (count_symtabs_and_blocks): Update.
* linespec.c (iterate_over_all_matching_symtabs): Update.
* cp-support.c (add_symbol_overload_list_qualified): Update.
* coffread.c (coff_symtab_read): Update.
* ada-lang.c (add_nonlocal_symbols)
(ada_collect_symbol_completion_matches)
(ada_add_global_exceptions): Update.

6 years agoChange all_objfiles_safe adapter to be a method on program_space
Tom Tromey [Wed, 16 Jan 2019 00:06:38 +0000 (17:06 -0700)] 
Change all_objfiles_safe adapter to be a method on program_space

This changes the all_objfiles_safe range adapter to be a method on the
program space, and fixes up all the users.

gdb/ChangeLog
2019-01-15  Tom Tromey  <tom@tromey.com>

* progspace.h (program_space) <objfiles_safe_range>: New
typedef.
<objfiles_safe>: New method.
* objfiles.h (class all_objfiles_safe): Remove.
* objfiles.c (free_all_objfiles, objfile_purge_solibs): Update.
* jit.c (jit_inferior_exit_hook): Update.

6 years agoChange all_objfiles adapter to be a method on program_space
Tom Tromey [Tue, 15 Jan 2019 23:55:05 +0000 (16:55 -0700)] 
Change all_objfiles adapter to be a method on program_space

This changes the all_objfiles range adapter to be a method on the
program space, and fixes up all the users.

gdb/ChangeLog
2019-01-17  Tom Tromey  <tom@tromey.com>

* progspace.h (program_space) <objfiles_range>: New typedef.
<objfiles>: New method.
<objfiles_head>: Rename from objfiles.
(object_files): Update.
* guile/scm-progspace.c (gdbscm_progspace_objfiles): Update.
* guile/scm-pretty-print.c
(ppscm_find_pretty_printer_from_objfiles): Update.
* guile/scm-objfile.c (gdbscm_objfiles): Update.
* python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
Update.
* python/py-progspace.c (pspy_get_objfiles): Update.
* python/py-prettyprint.c (find_pretty_printer_from_objfiles):
Update.
* python/py-objfile.c (objfpy_lookup_objfile_by_name)
(objfpy_lookup_objfile_by_build_id): Update.
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update.
* windows-tdep.c (windows_iterate_over_objfiles_in_search_order):
Update.
* symtab.c (iterate_over_symtabs, matching_obj_sections)
(expand_symtab_containing_pc, lookup_objfile_from_block)
(lookup_static_symbol, basic_lookup_transparent_type)
(find_pc_sect_compunit_symtab, find_symbol_at_address)
(find_line_symtab, info_sources_command)
(default_collect_symbol_completion_matches_break_on)
(make_source_files_completion_list, find_main_name): Update.
* symmisc.c (print_symbol_bcache_statistics)
(print_objfile_statistics, maintenance_print_symbols)
(maintenance_print_msymbols, maintenance_print_objfiles)
(maintenance_info_symtabs, maintenance_check_symtabs)
(maintenance_expand_symtabs, maintenance_info_line_tables):
Update.
* symfile.c (remove_symbol_file_command, overlay_invalidate_all)
(find_pc_overlay, find_pc_mapped_section, list_overlays_command)
(map_overlay_command, unmap_overlay_command)
(simple_overlay_update, expand_symtabs_matching)
(map_symbol_filenames): Update.
* symfile-debug.c (set_debug_symfile): Update.
* spu-tdep.c (spu_overlay_update, spu_objfile_from_frame):
Update.
* source.c (select_source_symtab, forget_cached_source_info):
Update.
* solib.c (solib_read_symbols): Update.
* solib-spu.c (append_ocl_sos): Update.
* psymtab.c (maintenance_print_psymbols)
(maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
* probe.c (parse_probes_in_pspace, find_probe_by_pc): Update.
* printcmd.c (info_symbol_command): Update.
* ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created):
Update.
* objfiles.h (class all_objfiles): Remove.
* objfiles.c (have_partial_symbols, have_full_symbols)
(have_minimal_symbols, qsort_cmp, update_section_map)
(shared_objfile_contains_address_p)
(default_iterate_over_objfiles_in_search_order): Update.
* objc-lang.c (info_selectors_command, info_classes_command)
(find_methods): Update.
* minsyms.c (find_solib_trampoline_target): Update.
* maint.c (maintenance_info_sections)
(maintenance_translate_address, count_symtabs_and_blocks):
Update.
* main.c (captured_main_1): Update.
* linux-thread-db.c (try_thread_db_load_from_pdir)
(has_libpthread): Update.
* linespec.c (iterate_over_all_matching_symtabs)
(search_minsyms_for_name): Update.
* jit.c (jit_find_objf_with_entry_addr): Update.
* hppa-tdep.c (find_unwind_entry)
(hppa_lookup_stub_minimal_symbol): Update.
* gcore.c (gcore_create_callback, objfile_find_memory_regions):
Update.
* elfread.c (elf_gnu_ifunc_resolve_by_cache)
(elf_gnu_ifunc_resolve_by_got): Update.
* dwarf2-frame.c (dwarf2_frame_find_fde): Update.
* dwarf-index-write.c (save_gdb_index_command): Update.
* cp-support.c (add_symbol_overload_list_qualified): Update.
* breakpoint.c (create_overlay_event_breakpoint)
(create_longjmp_master_breakpoint)
(create_std_terminate_master_breakpoint)
(create_exception_master_breakpoint): Update.
* blockframe.c (find_pc_partial_function): Update.
* ada-lang.c (ada_lookup_simple_minsym, add_nonlocal_symbols)
(ada_collect_symbol_completion_matches)
(ada_add_global_exceptions): Update.

6 years agoRemove cleanups from solib-target.c
Tom Tromey [Thu, 17 Jan 2019 04:46:00 +0000 (21:46 -0700)] 
Remove cleanups from solib-target.c

This removes the remaining cleanups from solib-target.c, plus a VEC,
by using std::vector and std::unique_ptr.

Tested by the buildbot.

gdb/ChangeLog
2019-01-17  Tom Tromey  <tom@tromey.com>

* solib-target.c (lm_info_target_p): Remove typedef.  Don't
declare VEC.
(solib_target_parse_libraries): Change return type.
(library_list_start_segment, library_list_start_section)
(library_list_end_library, library_list_start_library); Update.
(solib_target_free_library_list): Remove.
(solib_target_parse_libraries): Remove cleanup.  Change return
type.
(solib_target_current_sos): Update.

6 years agoReplace "the the" with "the"
Tom Tromey [Thu, 17 Jan 2019 17:19:44 +0000 (10:19 -0700)] 
Replace "the the" with "the"

This replaces "the the" with "the" in various comments.

Tested by rebuilding.  This didn't test the solib-dsbt.c change, but
it looks harmless.

gdb/ChangeLog
2019-01-17  Tom Tromey  <tromey@bapiya>

* valprint.c: Replace "the the" with "the".
* symtab.c: Replace "the the" with "the".
* solib.c: Replace "the the" with "the".
* solib-dsbt.c: Replace "the the" with "the".
* linespec.c: Replace "the the" with "the".
* dwarf2loc.h: Replace "the the" with "the".
* amd64-windows-tdep.c: Replace "the the" with "the".
* aarch64-tdep.c: Replace "the the" with "the".

6 years agoArm: Clean up PE GAS testsuite correct THUMB tests.
Tamar Christina [Thu, 17 Jan 2019 16:05:37 +0000 (16:05 +0000)] 
Arm: Clean up PE GAS testsuite correct THUMB tests.

The PE targets don't support mapping symbols and so the disassembler is unable
to correctly output thumb instructions when the input was thumb.

So for testcases that only have thumb output, I have copied them and skipped the
ones for which auto-detection is supposed to work on PE, and added a new one
that will force thumb output.  This so that the tests still check the mapping
symbols.

For the tests that switch between thumb and arm in one file I just skip them
entirely on PE targets.

This cleans up the PE GAS testsuite.

gas/

* testsuite/gas/arm/archv6t2-1-pe.d: New test.
* testsuite/gas/arm/archv6t2-1.d: Skip pe.
* testsuite/gas/arm/csdb.d: Skip pe.
* testsuite/gas/arm/sb-thumb1-pe.d: New test.
* testsuite/gas/arm/sb-thumb1.d: Skip pe.
* testsuite/gas/arm/sb-thumb2-pe.d: New test.
* testsuite/gas/arm/sb-thumb2.d: Skip pe.
* testsuite/gas/arm/udf.d: Skip pe.

6 years agoUpdate objdump's --disassemble=<symbol> feature so that if <symbol> is a function...
Nick Clifton [Thu, 17 Jan 2019 15:29:43 +0000 (15:29 +0000)] 
Update objdump's --disassemble=<symbol> feature so that if <symbol> is a function, the entire function will be disassembled, regardless of the presence of interveening symbols.

* objdump.c (disassemble_section): When disassembling from a
symbol only stop at the next symbol if the original symbol was not
a function symbol.  Otherwise continue disassembling until a new
function is reached.
* testsuite/binutils-all/objdump.exp: Add tests of extended
functionality.
* testsuite/binutils-all/disasm.s: New test source file.

6 years agoAutomatic date update in version.in
GDB Administrator [Thu, 17 Jan 2019 00:00:51 +0000 (00:00 +0000)] 
Automatic date update in version.in

6 years agoActually remove definitions of DEFINE_NON_INLINE_P and DEFINE_INLINE_P
Simon Marchi [Wed, 16 Jan 2019 22:01:42 +0000 (17:01 -0500)] 
Actually remove definitions of DEFINE_NON_INLINE_P and DEFINE_INLINE_P

I applied the patch "Do not expand macros to 'defined'" by hand because
I couldn't apply it with git-am, and of course forgot to remove the
macro definitions.  This patch fixes it, and also makes the ChangeLog
entry a bit cleaner.

6 years agoDon't emit vendor attribute section if there is no attribute to emit.
Jim Wilson [Wed, 16 Jan 2019 21:37:35 +0000 (13:37 -0800)] 
Don't emit vendor attribute section if there is no attribute to emit.

2019-01-16  Kito Cheng  <kito@andestech.com>
bfd/
* elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
for OBJ_ATTR_PROC.
gas/
* testsuite/gas/riscv/attribute-empty.d: New.

6 years agoRISC-V: Merge ELF attribute for ld.
Jim Wilson [Wed, 16 Jan 2019 21:28:35 +0000 (13:28 -0800)] 
RISC-V: Merge ELF attribute for ld.

2019-01-16  Kito Cheng  <kito@andestech.com>
    Nelson Chu  <nelson@andestech.com>

bfd/
* elfnn-riscv.c (in_subsets): New.
(out_subsets): Likewise.
(merged_subsets): Likewise.
(riscv_std_ext_p): Likewise.
(riscv_non_std_ext_p): Likewise.
(riscv_std_sv_ext_p): Likewise.
(riscv_non_std_sv_ext_p): Likewise.
(riscv_version_mismatch): Likewise.
(riscv_i_or_e_p): Likewise.
(riscv_merge_std_ext): Likewise.
(riscv_merge_non_std_and_sv_ext): Likewise.
(riscv_merge_arch_attr_info): Likewise.
(riscv_merge_attributes): Likewise.
(_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
ld/
* testsuite/ld-elf/orphan-region.d: XFAIL for RISC-V, because add new
section.
* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Add new tests.
* testsuite/ld-riscv-elf/attr-merge-arch-01.d: New test.
* testsuite/ld-riscv-elf/attr-merge-arch-01a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-01b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-02.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-02a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-02b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-03.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-03a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-03b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-priv-spec.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-stack-align-a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-stack-align-b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-stack-align-failed-a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-stack-align-failed-b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-stack-align-failed.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-stack-align.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-01.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-01a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-01b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-02.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-02a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-02b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-03.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-03a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-03b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-04.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-04a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-04b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-05.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-05a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-05b.s: Likewise.

6 years agoRISC-V: Support ELF attribute for gas and readelf.
Jim Wilson [Wed, 16 Jan 2019 21:14:59 +0000 (13:14 -0800)] 
RISC-V: Support ELF attribute for gas and readelf.

2019-01-16  Kito Cheng  <kito@andestech.com>
    Nelson Chu  <nelson@andestech.com>

bfd/
* elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
(elf_backend_obj_attrs_vendor): Define.
(elf_backend_obj_attrs_section_type): Likewise.
(elf_backend_obj_attrs_section): Likewise.
(elf_backend_obj_attrs_arg_type): Define as
riscv_elf_obj_attrs_arg_type.
* elfxx-riscv.c (riscv_estimate_digit): New.
(riscv_estimate_arch_strlen1): Likewise.
(riscv_estimate_arch_strlen): Likewise.
(riscv_arch_str1): Likewise.
(riscv_arch_str): Likewise.
* elfxx-riscv.h (riscv_arch_str): Declare.
binutils/
* readelf.c (get_riscv_section_type_name): New function.
(get_section_type_name): Add handler for RISC-V.
(riscv_attr_tag_t): Declare.
(riscv_attr_tag): New.
(display_riscv_attribute): New function.
(process_attributes): Add handler for RISC-V.
* testsuite/binutils-all/strip-3.d: Remove .riscv.attribute
section.
gas/
* config/tc-riscv.c (DEFAULT_RISCV_ATTR): Define to 0 if not defined.
(riscv_set_options): Add `arch_attr` field.
(riscv_opts): Set default value for arch_attr.
(riscv_write_out_arch_attr): New.
(riscv_set_public_attributes): Likewise.
(riscv_md_end): Likewise.
(riscv_convert_symbolic_attribute): Likewise.
(s_riscv_attribute): Likewise.
(explicit_arch_attr): Likewise.
(riscv_pseudo_table): Add .attribute to the table.
(options): Add OPTION_ARCH_ATTR and OPTION_NO_ARCH_ATTR
enumeration constants.
(md_longopts): Add `march-attr' and `mno-arch-attr' options.
(md_parse_option): Handle the new options.
(md_show_usage): Document the `march-attr' option.
* config/tc-riscv.h (md_end): Define as riscv_md_end
(riscv_md_end): Declare.
(CONVERT_SYMBOLIC_ATTRIBUTE): Define as
riscv_convert_symbolic_attribute.
(riscv_convert_symbolic_attribute): Declare.
(start_assemble): Declare.
* testsuite/gas/elf/elf.exp: Adjust test case for section2.e.
* testsuite/gas/elf/section2.e-riscv: New.
* testsuite/gas/riscv/attribute-01.d: New test
* testsuite/gas/riscv/attribute-02.d: Likewise.
* testsuite/gas/riscv/attribute-03.d: Likewise.
* testsuite/gas/riscv/attribute-04.d: Likewise.
* testsuite/gas/riscv/attribute-04.s: Likewise.
* testsuite/gas/riscv/attribute-05.d: Likewise.
* testsuite/gas/riscv/attribute-05.s: Likewise.
* testsuite/gas/riscv/attribute-06.d: Likewise.
* testsuite/gas/riscv/attribute-06.s: Likewise.
* testsuite/gas/riscv/attribute-07.d: Likewise.
* testsuite/gas/riscv/attribute-07.s: Likewise.
* testsuite/gas/riscv/attribute-08.d: Likewise.
* testsuite/gas/riscv/attribute-08.s: Likewise.
* testsuite/gas/riscv/attribute-unknown.d: Likewise.
* testsuite/gas/riscv/attribute-unknown.s: Likewise.
* testsuite/gas/riscv/empty.l: Likewise.
* doc/c-riscv.texi (.attribute): Add documentation.
* configure.ac (--enable-default-riscv-attribute): New options.
* configure: Re-generate.
* config.in: Re-generate.
include/
* elf/riscv.h (SHT_RISCV_ATTRIBUTES): Define.
(Tag_RISCV_arch): Likewise.
(Tag_RISCV_priv_spec): Likewise.
(Tag_RISCV_priv_spec_minor): Likewise.
(Tag_RISCV_priv_spec_revision): Likewise.
(Tag_RISCV_unaligned_access): Likewise.
(Tag_RISCV_stack_align): Likewise.

6 years agoDo not expand macros to 'defined'
Pavel I. Kryukov [Wed, 16 Jan 2019 21:04:34 +0000 (16:04 -0500)] 
Do not expand macros to 'defined'

Expanding a macro which contains 'defined' PP keyword is UB.  It causes
a compilation failure when -Wexpansion-to-defined is used.

sim/common/Changelog:
2019-01-16  Pavel I. Kryukov  <kryukov@frtk.ru>

* sim-arange.c: eliminate DEFINE_NON_INLINE_P

6 years agoIntroduce dwarf2_cu::get_builder
Keith Seitz [Wed, 16 Jan 2019 19:38:06 +0000 (11:38 -0800)] 
Introduce dwarf2_cu::get_builder

This patch is an attempt to deal with a variety of bugs reported where
GDB segfaults attempting to access a dwarf2_cu's builder.  In certain
circumstances, this builder can be NULL.  This is especially common
when inheriting DIEs via inlined subroutines in other CUs.  The test
case demonstrates one such situation reported by users.  See gdb/23773,
rhbz1638798, and dups for other concrete examples.

The approach taken here is to save the ancestor CU into the dwarf2_cu of
all CUs with DIEs that are "imported."  This can happen whenever
follow_die_offset and friends are called.  This essentially introduces a
chain of CUs that caused the importation of a DIE from a CU.  Whenever
a builder is requested of a CU that has none, the ancestors are searched
for the first one with a builder.

A design side effect of this is that the builder can now only be
accessed by getter and setter methods because the builder itself
is private.

The bulk of the patch is relatively mindless text conversion from
"cu->builder" to "cu->get_builder ()".  I've included one test which
was derived from one (of the many) bugs reported on the issue in both
sourceware and Fedora bugzillas.

gdb/ChangeLog:

PR gdb/23773
* dwarf2read.c (dwarf2_cu) <ancestor>: New field.
<builder>: Rename to ..
<m_builder>: ... this and make private.
(dwarf2_cu::get_builder): New method.  Change all users of
`builder' to use this method.
(dwarf2_start_symtab): Move to ...
(dwarf2_cu::start_symtab): ... here.  Update all callers
(setup_type_unit_groups): Move to ...
(dwarf2_cu::setup_type_unit_groups): ... here.  Update all
callers.
(dwarf2_cu::reset_builder): New method.
(process_full_compunit, process_full_type_unit): Use
dwarf2_cu::reset_builder.
(follow_die_offset): Record the ancestor CU if it is different
from the followed DIE's CU.
(follow_die_sig_1): Likewise.

gdb/testsuite/ChangeLog:

PR gdb/23773
* gdb.dwarf2/inlined_subroutine-inheritance.exp: New file.

6 years agodoc: Add table of MI versions
Simon Marchi [Wed, 16 Jan 2019 19:32:13 +0000 (14:32 -0500)] 
doc: Add table of MI versions

This patch adds a table summarizing the history or MI versions:

- The version number
- Which GDB version introduced it
- Breaking changes compared to the previous version

The goal of the table is to help writers of front ends know which
version of MI they can use with a given GDB version.  It will also help
them update their code to work against a newer MI version.

Right now, we just have 1 and 2, but we expect to add an entry for 3
soon.  I did a bit of archelogy and reverse engineering of the code to
come up with the breaking changes for MI 2.

I did some changes to the text around it, some things that I thought
needed to be clarified, seemed a bit dated or seemed just wrong
(especially "Apart from mi0, new versions of @value{GDBN} will not
support old versions of MI").

gdb/doc/ChangeLog:

* gdb.texinfo (GDB/MI Development and Front Ends): Add table of
MI versions.  Update text around it.

6 years agoS12Z: gas: Fix bug when a symbol name was the single letter 'c'.
John Darrington [Mon, 14 Jan 2019 15:55:17 +0000 (16:55 +0100)] 
S12Z: gas: Fix bug when a symbol name was the single letter 'c'.

The assembler incorrectly recognised "c" as a register name, and
refused to allow it where it expected a symbol/label.

gas/
* config/tc-s12z.c (lex_reg_name): Compare the length of the strings
before the contents.
* testsuite/gas/s12z/labels.d: New file.
* testsuite/gas/s12z/labels.s: New file.
* testsuite/gas/s12z/s12z.exp: Add them.

6 years agoS12Z: gas: Permit "extend" instructions which don't actually extend.
John Darrington [Wed, 16 Jan 2019 13:34:50 +0000 (14:34 +0100)] 
S12Z: gas: Permit "extend" instructions which don't actually extend.

Other assemblers permit "extending" a register into a register of a
smaller size or the same size.  It doesn't make much sense to do this
but would appear to be a valid instruction.  So change the error to a
warning.

gas/
* config/tc-s12z.c (tfr): Change as_bad to as_warn.
Also fix message typo and semantics.

6 years agoS12Z: Emit RELOC_S12Z_OPR instead of RELOC_EXT24 where appropriate.
John Darrington [Wed, 16 Jan 2019 13:34:50 +0000 (14:34 +0100)] 
S12Z: Emit RELOC_S12Z_OPR instead of RELOC_EXT24 where appropriate.

When assembling instructions which involve OPR references, emit
RELOC_S12Z_OPR instead of RELOC_EXT24.

bfd/
* bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
* libbfd.h: regen.
* elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
source field.  (md_apply_fix): Apply final fix
to BFD_RELOC_S12Z_OPR.
* reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.

gas/
* config/tc-s12z.c (emit_opr): Emit BFD_RELOC_S12Z_OPR instead of
BFD_RELOC_24.
* testsuite/gas/s12z/opr-indirect-expr.d: Expect R_S12Z_OPR instead
of R_S12Z_EXT24.