]> git.ipfire.org Git - thirdparty/binutils-gdb.git/log
thirdparty/binutils-gdb.git
4 years agoAutomatic date update in version.in
GDB Administrator [Wed, 18 Nov 2020 00:00:56 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years ago[GOLD] powerpc incremental-dump assertion failure
Alan Modra [Tue, 17 Nov 2020 04:43:37 +0000 (15:13 +1030)] 
[GOLD] powerpc incremental-dump assertion failure

incremental-dump wants to instantiate Target_powerpc without options
being set up.  This patch fixes
  internal error in options, at gold/parameters.h:92

* powerpc.cc (Target_powerpc::no_tprel_opt_): Rename from tprel_opt_.
Init to false.
(Target_powerpc::tprel_opt): Test parameters->options().tls_optimize().
(Target_powerpc::set_tprel_opt): Delete.
(Target_powerpc::set_no_tprel_opt): New function.  Update all uses
of set_tprel_opt.

(cherry picked from commit 4e0e019fa8eda9b7ffe0615133f55e9b0b882fa1)

4 years ago[GOLD] fix jump to long branch on powerpc
Michael Hudson-Doyle [Mon, 16 Nov 2020 01:20:23 +0000 (14:20 +1300)] 
[GOLD] fix jump to long branch on powerpc

PR 26902
* powerpc.cc (Relocate::relocate): Do not include local entry
offset of target function when computing the address of a stub.

(cherry picked from commit f1e05b19786669d29d59f48f26bc06ad67c221e2)

4 years agoAutomatic date update in version.in
GDB Administrator [Tue, 17 Nov 2020 00:00:52 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agodwarf: Also match abbrev base when searching abbrev list
H.J. Lu [Thu, 29 Oct 2020 16:19:25 +0000 (09:19 -0700)] 
dwarf: Also match abbrev base when searching abbrev list

A .debug_abbrev section can have multiple CUs.  When caching abbrev list,
we need to check abbrev base to support multiple CUs.

PR binutils/26808
* dwarf.c (abbrev_list): Add abbrev_base.
(new_abbrev_list): Add an abbrev_base argument and record it.
(find_abbrev_list_by_abbrev_offset): Add an abbrev_base argument
and match it.
(process_debug_info): Pass abbrev_base to new_abbrev_list and
find_abbrev_list_by_abbrev_offset.
(display_debug_abbrev): Pass 0 abbrev_base to new_abbrev_list
and find_abbrev_list_by_abbrev_offset.
* testsuite/binutils-all/x86-64/pr26808.dump: New file.
* testsuite/binutils-all/x86-64/pr26808.dwp.bz2: Likewise.
* testsuite/binutils-all/x86-64/x86-64.exp: Run PR binutils/26808
test.

(cherry picked from commit 76868f3606fb9de04f49c441c1e3cdd3e943a34d)

4 years agoRe: Sync libiberty and include with GCC for get_DW_UT_name
Alan Modra [Fri, 25 Sep 2020 00:30:01 +0000 (10:00 +0930)] 
Re: Sync libiberty and include with GCC for get_DW_UT_name

* dwarf.h (DW_FIRST_UT, DW_UT, DW_END_UT): Define.

(cherry picked from commit cc9ea2c21cd6e2c88995a7484d2c848c7d7ce71b)

4 years agoAccept the DW_FORM_ref8 type when parsing DWARF types.
Nick Clifton [Tue, 10 Nov 2020 11:55:18 +0000 (11:55 +0000)] 
Accept the DW_FORM_ref8 type when parsing DWARF types.

* dwarf.c (skip_attr_bytes): Correctly handle DW_FORM_ref8.
(get_type_abbrev_from_form): Accept DW_FORM_ref8.

(cherry picked from commit 1f57314183549008c065ad2240598d2b0f0ff56b
 and commit ed1afd86668781159a131dc9c9c4a54a3b0a1e3a)

4 years agoFix the decoding of DW_FORM_ref_addr DWARF attribute.
Nick Clifton [Tue, 27 Oct 2020 16:17:13 +0000 (16:17 +0000)] 
Fix the decoding of DW_FORM_ref_addr DWARF attribute.

* dwarf.c (struct abbrev_list): New structure.  Used to collect
lists of abbreviation sets.
(struct abbrev_map): New structure.  Used to map CU offsets to
abbreviation offsets.
(record_abbrev_list): New function.  A new entry to an
abbreviation list.
(free_all_abbrevs): Update to free abbreviation lists.
(new_abbrev_list): New function.  Start a new abbreviation
list.
(find_abbrev_list_by_abbrev_offset): New function.
(find_abbrev_map_by_offset): New function.
(add_abbrev): Add abbrev_list parameter.
(add_abbrev_attr): Likewise.
(process_abbrev_section): Rename to process_abbrev_set and add
list parameter.
(get_type_abbrev_from_form): New function.  Attempts to decode the
forms used by DW_AT_type attributes.
(get_type_signedness): Display type names if operating in wide
mode.  Use get_type_abbrev_from_form.
(read_and_display_attr_value): Use get_type_abbrev_from_form.
(process_debug_info): Pre-parse the CU headers to collate all the
abbrevs before starting the main scan.
(process_debug_abbrev): Do not free any loaded abbrevs.
(free_debug_memory): Free the abbrev maps.

(cherry picked from commit bcd213b2cfbca2df53fb7e5d187fd67ea8eb7185)

4 years agoWork around problem in DWARF decoding library which can result in attempts to read...
Nick Clifton [Wed, 21 Oct 2020 16:42:42 +0000 (17:42 +0100)] 
Work around problem in DWARF decoding library which can result in attempts to read arbitrary bytes as if they were an LEB128 encoded value.

* dwarf.c (skip_attr_bytes): Accept DWARF versions higher than 4
when processing the DW_FORM_ref_addr form.
Skip bytes in DW_FORM_block and DW_FORM_exprloc forms.
Handle DW_FORM_indirect.
(get_type_signedness): Allow a limited amount of recursion.
Do not attempt to decode types that use the DW_FORM_ref_addr form.
(read_and_display_attr_value):  Do not attempt to decode types
that use the DW_FORM_ref_addr form.

(cherry picked from commit 596245135106b2a965d809e272dc7c758afdc98f)

4 years agogas: Reuse the input file entry in the file table
H.J. Lu [Fri, 16 Oct 2020 11:03:20 +0000 (04:03 -0700)] 
gas: Reuse the input file entry in the file table

Some instructions can be emitted (dwarf2_emit_insn is called) before the
first .file <NUMBER> directive has been seen, which allocates the input
file as the first file entry.  Reuse the input file entry in the file
table.

PR gas/25878
PR gas/26740
* dwarf2dbg.c (file_entry): Remove auto_assigned.
(assign_file_to_slot): Remove the auto_assign argument.
(allocate_filenum): Updated.
(allocate_filename_to_slot): Reuse the input file entry in the
file table.
(dwarf2_where): Replace as_where with as_where_physical.
* testsuite/gas/i386/dwarf5-line-1.d: New file.
* testsuite/gas/i386/dwarf5-line-1.s: Likewise.
* testsuite/gas/i386/i386.exp: Run dwarf5-line-1.

(cherry picked from commit 6915020bb134ae29fd772295c66fd67b5944962d)

gas: Always use as_where for preprocessed assembly codes

Always clear the slot 1 if it was assigned to the input file before the
first .file <NUMBER> directive has been seen.  Always use as_where to
generate the correct debug infor for preprocessed assembly codes.

PR gas/25878
PR gas/26740
* dwarf2dbg.c (allocate_filename_to_slot): Don't reuse the slot 1
here.
(dwarf2_where): Restore as_where.
(dwarf2_directive_filename): Clear the slot 1 if it was assigned
to the input file.
* testsuite/gas/i386/dwarf5-line-2.d: New file.
* testsuite/gas/i386/dwarf5-line-2.s: Likewise.
* testsuite/gas/i386/dwarf5-line-3.d: Likewise.
* testsuite/gas/i386/dwarf5-line-3.s: Likewise.
* testsuite/gas/i386/i386.exp: Run dwarf5-line-2 and
dwarf5-line-3.

(cherry picked from commit bd0c565edbf4ba8121fded38e389530d7fa6f963)

gas: Clear all auto-assigned file slots

Since a file slot is auto-assigned for the #APP marker appeared before
the first .file <NUMBER> directive has been seen, clear all auto-assigned
file slots when seeing the first .file <NUMBER> directive.

PR gas/26778
* * dwarf2dbg.c (num_of_auto_assigned): New.
(allocate_filenum): Increment num_of_auto_assigned.
(dwarf2_directive_filename): Clear the slots auto-assigned
before the first .file <NUMBER> directive was seen.
* testsuite/gas/i386/dwarf4-line-1.d: New file.
* testsuite/gas/i386/dwarf4-line-1.s: Likewise.
* testsuite/gas/i386/i386.exp: Run dwarf4-line-1.

(cherry picked from commit ae9d2233e61a98ff8dba56be10219aa5306ffc9a)

4 years agoreadelf: Fix output of rnglists section
Bernd Edlinger [Wed, 11 Nov 2020 14:31:46 +0000 (14:31 +0000)] 
readelf: Fix output of rnglists section

* dwarf.c (display_debug_rnglists_list): Only bias the
DW_RLS_offset_pair with the base address.

(cherry picked from commit 4d93271533473d65165022ee9f82c368511ce82a)

4 years agobinutils: dwarf.c handle DWARF5 DW_LLE_start_end and DW_LLE_start_length.
Mark Wielaard [Mon, 28 Sep 2020 22:02:06 +0000 (00:02 +0200)] 
binutils: dwarf.c handle DWARF5 DW_LLE_start_end and DW_LLE_start_length.

display_loclists_list only handled DW_LLE_offset_pair as bounded
location description. Also handle DW_LLE_start_end and DW_LLE_start_lenght.
These don't use the base_address.

binutils/ChangeLog:

      * dwarf.c (display_loclists_list): Handle DW_LLE_start_end and
      DW_LLE_start_length. Only add base_address for DW_LLE_offset_pair.

(cherry picked from commit 1c9f770d16a715662564d810a1c1efefd7a66540)

4 years agoreadelf: Show Unit Type for DWARF5
Mark Wielaard [Wed, 23 Sep 2020 14:48:35 +0000 (16:48 +0200)] 
readelf: Show Unit Type for DWARF5

binutils/ChangeLog:

* dwarf.c (process_debug_info): Print Unit Type for DWARF5.
* testsuite/binutils-all/dw5.W: Adjust expected output.
* testsuite/binutils-all/dwarf-attributes.W: Likewise.

gas/ChangeLog:

* testsuite/gas/elf/dwarf-5-cu.d: Adjust expected output.

(cherry picked from commit debd1a62c4d250a6257e9018d9f9c7355edcdf8b)

4 years agoSync libiberty and include with GCC for get_DW_UT_name.
Mark Wielaard [Wed, 23 Sep 2020 14:41:06 +0000 (16:41 +0200)] 
Sync libiberty and include with GCC for get_DW_UT_name.

This adds a get_DW_UT_name function to dwarfnames using dwarf2.def
for use in binutils readelf to show the unit types in a DWARF5 header.

include/ChangeLog:

Sync with GCC
* dwarf2.def: Add DWARF5 Unit type header encoding macros
DW_UT_FIRST, DW_UT and DW_UT_END.
* dwarf2.h (enum dwarf_unit_type): Removed and define using
DW_UT_FIRST, DW_UT and DW_UT_END macros.
(get_DW_UT_name): New function declaration.

libiberty/ChangeLog:

Sync with GCC
* dwarfnames.c (get_DW_UT_name): Define using DW_UT_FIRST, DW_UT
and DW_UT_END.

(cherry picked from commit d7b477c541bd31045483f37345727bd8335a052a)

4 years agobinutils: Handle DWARF5 DW_FORM_ref_addr and DW_UT_partial.
Mark Wielaard [Wed, 23 Sep 2020 14:31:14 +0000 (16:31 +0200)] 
binutils: Handle DWARF5 DW_FORM_ref_addr and DW_UT_partial.

dwz in DWARF5 mode might produce DW_UT_partial unit types, which are
the same as DW_UT_compile unit types (but start with a DW_TAG_partial_unit)
and it might produce DW_FORM_ref_addr to create a reference between
units. Accept both constructs.

binutils/ChangeLog:

* dwarf.c (read_and_display_attr_value): Handle DW_FORM_ref_addr
for dwarf_version 5 just as version 3 and 4 (only 2 is different).
(process_debug_info): Allow DW_UT_partial.

(cherry picked from commit ec47b32a85294af959457ad19bd98dd13f6389fd)

4 years agoelf: Set rel_from_abs to 1 for __ehdr_start
H.J. Lu [Mon, 16 Nov 2020 14:37:53 +0000 (06:37 -0800)] 
elf: Set rel_from_abs to 1 for __ehdr_start

bfdlink.h has

  /* Symbol will be converted from absolute to section-relative.  Set for
     symbols defined by a script from "dot" (also SEGMENT_START or ORIGIN)
     outside of an output section statement.  */
  unsigned int rel_from_abs : 1;

linker.c has

.{* Return TRUE if the symbol described by a linker hash entry H
.   is going to be absolute.  Linker-script defined symbols can be
.   converted from absolute to section-relative ones late in the
.   link.  Use this macro to correctly determine whether the symbol
.   will actually end up absolute in output.  *}
.#define bfd_is_abs_symbol(H) \
.  (((H)->type == bfd_link_hash_defined \
.    || (H)->type == bfd_link_hash_defweak) \
.   && bfd_is_abs_section ((H)->u.def.section) \
.   && !(H)->rel_from_abs)
.

Set rel_from_abs to 1 for __ehdr_start which will be converted from
absolute to section-relative in assign_file_positions_for_load_sections.

PR ld/26869
* ldelf.c (ldelf_before_allocation): Set rel_from_abs to 1 for
__ehdr_start.
* testsuite/ld-i386/i386.exp: Run pr26869.
* testsuite/ld-i386/pr26869.d: New file.
* testsuite/ld-i386/pr26869.s: Likewise.

(cherry picked from commit cbd5b99cce073273f668b154d4514e8e7e7ccc51)

4 years agoAutomatic date update in version.in
GDB Administrator [Mon, 16 Nov 2020 00:00:51 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Sun, 15 Nov 2020 00:00:49 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Sat, 14 Nov 2020 00:00:57 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Fri, 13 Nov 2020 00:01:22 +0000 (00:01 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Thu, 12 Nov 2020 00:01:03 +0000 (00:01 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Wed, 11 Nov 2020 00:00:52 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Tue, 10 Nov 2020 00:01:06 +0000 (00:01 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Mon, 9 Nov 2020 00:00:42 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Sun, 8 Nov 2020 00:00:52 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Sat, 7 Nov 2020 00:00:57 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Fri, 6 Nov 2020 00:01:04 +0000 (00:01 +0000)] 
Automatic date update in version.in

4 years agoaarch64: Add support for Neoverse N2 CPU
Alex Coplan [Thu, 5 Nov 2020 14:45:28 +0000 (14:45 +0000)] 
aarch64: Add support for Neoverse N2 CPU

This patch backports the AArch64 support for Arm's Neoverse N2 CPU to
binutils 2.35.

gas/ChangeLog:

* config/tc-aarch64.c (aarch64_cpus): Add neoverse-n2.
* doc/c-aarch64.texi: Document support for Neoverse N2.

4 years agoAutomatic date update in version.in
GDB Administrator [Thu, 5 Nov 2020 00:00:56 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Wed, 4 Nov 2020 00:00:59 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Tue, 3 Nov 2020 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Mon, 2 Nov 2020 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Sun, 1 Nov 2020 00:00:47 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Sat, 31 Oct 2020 00:00:49 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Fri, 30 Oct 2020 00:00:50 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Thu, 29 Oct 2020 00:01:13 +0000 (00:01 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Wed, 28 Oct 2020 00:00:52 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Tue, 27 Oct 2020 00:00:43 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Mon, 26 Oct 2020 00:00:44 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Sun, 25 Oct 2020 00:00:48 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Sat, 24 Oct 2020 00:00:56 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Fri, 23 Oct 2020 00:01:02 +0000 (00:01 +0000)] 
Automatic date update in version.in

4 years agoarm: Fix the wrong error message string for mve vldr/vstr (PR26763).
Srinath Parvathaneni [Thu, 22 Oct 2020 12:42:01 +0000 (13:42 +0100)] 
arm: Fix the wrong error message string for mve vldr/vstr (PR26763).

For mve vldr/vstr instructions assembler is throwing wrong error message.
Instead of 'Error: syntax error' assembler fails with 'Error: lo register required'.
This patch fixes the issue.

eg:
$ cat x.s
.syntax unified
.thumb

vldrb.s16 q0, r0

Before this patch:
$ arm-none-eabi-as x.s -march=armv8.1-m.main+mve -mfloat-abi=hard
x.s: Assembler messages:
x.s:4: Error: lo register required -- `vldrb.s16 q0,r0'

After this patch:
$ arm-none-eabi-as x.s -march=armv8.1-m.main+mve -mfloat-abi=hard
x.s: Assembler messages:
x.s:4: Error: syntax error -- `vldrb.s16 q0,r0'

gas/ChangeLog:

2020-10-21  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>

PR target/26763
* config/tc-arm.c (parse_address_main): Add new MVE addressing mode
check.
* testsuite/gas/arm/mve-vldr-vstr-bad.d: New test.
* testsuite/gas/arm/mve-vldr-vstr-bad.l: Likewise.
* testsuite/gas/arm/mve-vldr-vstr-bad.s: Likewise.

4 years agoAutomatic date update in version.in
GDB Administrator [Thu, 22 Oct 2020 00:00:45 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Wed, 21 Oct 2020 00:00:49 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Tue, 20 Oct 2020 00:00:45 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Mon, 19 Oct 2020 00:00:47 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Sun, 18 Oct 2020 00:00:48 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Sat, 17 Oct 2020 00:00:40 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Fri, 16 Oct 2020 00:00:50 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Thu, 15 Oct 2020 00:00:43 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Wed, 14 Oct 2020 00:00:43 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Tue, 13 Oct 2020 00:00:48 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Mon, 12 Oct 2020 00:00:38 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Sun, 11 Oct 2020 00:00:42 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Sat, 10 Oct 2020 00:00:39 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoarm: Add support for Neoverse N2 CPU
Alex Coplan [Fri, 9 Oct 2020 14:05:51 +0000 (15:05 +0100)] 
arm: Add support for Neoverse N2 CPU

This patch backports the AArch32 support for Arm's Neoverse N2 CPU to
binutils 2.35.

gas/ChangeLog:

* config/tc-arm.c (arm_cpus): Add Neoverse N2.
* doc/c-arm.texi: Document -mcpu=neoverse-n2.

4 years ago[GOLD] Power10 segv due to wild r2
Alan Modra [Fri, 9 Oct 2020 06:26:33 +0000 (16:56 +1030)] 
[GOLD] Power10 segv due to wild r2

Calling non-pcrel functions from pcrel code requires a stub to set up
r2.  Gold created the stub, but an "optimisation" made the stub jump
to the function local entry, ie. r2 was not initialised.

This patch fixes that long branch stub problem, and another that might
occur for plt call stubs to local functions.

bfd/
* elf64-ppc.c (write_plt_relocs_for_local_syms): Don't do local
entry offset optimisation.
gold/
* powerpc.cc (Powerpc_relobj::do_relocate_sections): Don't do
local entry offset optimisation for lplt_section.
(Target_powerpc::Branch_info::make_stub): Don't add local
entry offset to long branch dest passed to
add_long_branch_entry.  Do pass st_other bits.
(Stub_table::Branch_stub_ent): Add "other_" field.
(Stub_table::add_long_branch_entry): Add "other" param, and
save.
(Stub_table::branch_stub_size): Adjust long branch offset.
(Stub_table::do_write): Likewise.
(Target_powerpc::Relocate::relocate): Likewise.

(cherry picked from commit fa40fbe484954c560ab1c0ff4bc1b2eeb1511344)

4 years ago[GOLD] internal error in relocate, at powerpc.cc:10473
Alan Modra [Fri, 9 Oct 2020 00:29:33 +0000 (10:59 +1030)] 
[GOLD] internal error in relocate, at powerpc.cc:10473

GOT relocations can refer directly to a function in a fixed position
executable, unlike ADDR64 which needs a global entry stub, or branch
relocs, which need PLT stubs.

* powerpc.cc (is_got_reloc): New function.
(Target_powerpc::Relocate::relocate): Use it here, exclude GOT
relocs when looking for stubs.

(cherry picked from commit 4290b0ab2b65db23afc9bd8177885bfd91911c0c)

4 years agoarm: Add support for Neoverse V1 CPU
Alex Coplan [Fri, 9 Oct 2020 09:57:01 +0000 (10:57 +0100)] 
arm: Add support for Neoverse V1 CPU

This patch backports the AArch32 support for Arm's Neoverse V1 CPU to
binutils 2.35.

gas/ChangeLog:

* config/tc-arm.c (arm_cpus): Add Neoverse V1.
* doc/c-arm.texi: Document Neoverse V1 support.

4 years agoAutomatic date update in version.in
GDB Administrator [Fri, 9 Oct 2020 00:00:44 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agogold: Update testsuite/split_[i386|x32|x86_64].sh
H.J. Lu [Thu, 8 Oct 2020 11:54:26 +0000 (04:54 -0700)] 
gold: Update testsuite/split_[i386|x32|x86_64].sh

Update testsuite/split_i386.sh, testsuite/split_x32.sh and
testsuite/split_x86_64.sh for

commit f9ff65d4dffbaf342dce7a8760059c27683cd962
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Oct 8 10:27:43 2020 +1030

    [GOLD] Increase --split-stack-adjust-size

* testsuite/split_i386.sh: Updated for --split-stack-adjust-size
default change.
* testsuite/split_x32.sh: Likewise.
* testsuite/split_x86_64.sh: Likewise.

(cherry picked from commit f511427204f281bc6278bb1facf6493518300806)

4 years ago[GOLD] Increase --split-stack-adjust-size
Alan Modra [Wed, 7 Oct 2020 23:57:43 +0000 (10:27 +1030)] 
[GOLD] Increase --split-stack-adjust-size

For functions with small (< 256 bytes) stack frames, the current x86
do_calls_non_split ignores --split-stack-adjust-size and, in
combination with __morestack_non_split, supplies a non-split-stack
function with at least 0x100000 (1M) available stack.  On powerpc64, a
default of 0x4000 is not large enough to reliably work with the golang
testsuite.  This increase the default size to the defacto x86 value.

* options.h (split_stack_adjust_size): Default to 0x100000.

(cherry picked from commit f9ff65d4dffbaf342dce7a8760059c27683cd962)

4 years agoAutomatic date update in version.in
GDB Administrator [Thu, 8 Oct 2020 00:00:42 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agox86: Update register operand check for AddrPrefixOpReg
H.J. Lu [Sat, 3 Oct 2020 11:23:55 +0000 (04:23 -0700)] 
x86: Update register operand check for AddrPrefixOpReg

When the address size prefix applies to both the memory and the register
operand, we need to extract the address size prefix from the register
operand if the memory operand has no real registers, like symbol, DISP
or symbol(%rip).

NB: GCC always generates symbol(%rip) for RIP-relative addressing for
both x32 and x86-64.

Move the .code16 tests in movdir.s to movdir-16bit to show the correct
output from objdump.

gas/

PR gas/26685
* config/tc-i386.c (process_suffix): Also check the register
operand for the address size prefix if the memory operand has
no real registers.
* testsuite/gas/i386/enqcmd-16bit.d: New file.
* testsuite/gas/i386/enqcmd-16bit.s: Likewise.
* testsuite/gas/i386/movdir-16bit.d: Likewise.
* testsuite/gas/i386/movdir-16bit.s: Likewise.
* testsuite/gas/i386/enqcmd.s: Add tests with symbol and DISP.
* testsuite/gas/i386/x86-64-enqcmd.s: Likewise.
* testsuite/gas/i386/x86-64-movdir.s: Likewise.
* testsuite/gas/i386/movdir.s: Add tests with symbol and DISP.
Remove the .code16 test.
* testsuite/gas/i386/i386.exp: Run movdir-16bit and enqcmd-16bit.
* testsuite/gas/i386/x86-64-enqcmd-intel.d: Updated.
* testsuite/gas/i386/x86-64-enqcmd.d: Likewise.
* testsuite/gas/i386/x86-64-movdir-intel.d: Likewise.
* testsuite/gas/i386/x86-64-movdir.d: Likewise.
* testsuite/gas/i386/enqcmd-intel.d: Likewise.
* testsuite/gas/i386/enqcmd.d: Likewise.
* testsuite/gas/i386/movdir-intel.d: Likewise.
* testsuite/gas/i386/movdir.d: Likewise.
* testsuite/gas/i386/x86-64-enqcmd-intel.d: Likewise.
* testsuite/gas/i386/x86-64-enqcmd.d: Likewise.
* testsuite/gas/i386/x86-64-movdir-intel.d: Likewise.
* testsuite/gas/i386/x86-64-movdir.d: Likewise.

opcodes/

PR gas/26685
* i386-dis.c (mod_table): Replace Gv with Gdq on movdiri.

(cherry picked from commit b3a3496f83a14ad226790725c8e3ed9777fe2899)

4 years agox86: Check register operand for AddrPrefixOpReg
H.J. Lu [Wed, 30 Sep 2020 23:33:35 +0000 (16:33 -0700)] 
x86: Check register operand for AddrPrefixOpReg

If the address prefix changes the register operand, we need to check the
register operand when the memory operand is RIP-relative.

PR gas/26685
* config/tc-i386.c (process_suffix): Check the register operand
for the address size prefix if the memory operand is symbol(%rip).
* testsuite/gas/i386/x86-64-enqcmd.s: Add tests with RIP-relative
addressing.
* testsuite/gas/i386/x86-64-movdir.s: Likewise.
* testsuite/gas/i386/x86-64-enqcmd-intel.d: Updated.
* testsuite/gas/i386/x86-64-enqcmd.d: Likewise.
* testsuite/gas/i386/x86-64-movdir-intel.d: Likewise.
* testsuite/gas/i386/x86-64-movdir.d: Likewise.

(cherry picked from commit 27f134698ac529f3050f5ddbd31a0ab0bbe5be99)

4 years agoRevert "x86: Don't display eiz with no scale"
Jan Beulich [Tue, 21 Jul 2020 12:20:11 +0000 (14:20 +0200)] 
Revert "x86: Don't display eiz with no scale"

This reverts commit 04c662e2b66bedd050f97adec19afe0fcfce9ea7.
In my underlying suggestion I neglected the fact that in those
cases (,%eiz,1) is the only visible indication that 32-bit
addressing is in effect.

(cherry picked from commit bf4ba07ca61793a1faf81c0447ba97fdc6639b50)

4 years agox86: Update GNU property tests
H.J. Lu [Tue, 6 Oct 2020 22:51:33 +0000 (15:51 -0700)] 
x86: Update GNU property tests

Update property tests for glibc compiled by Fedora binary annotation
plugin for GCC, which may insert additonal GNU properties:

x86 ISA needed: SSE, SSE2

* testsuite/ld-i386/property-3.r: Updated for Fedora binary
annotation plugin for GCC.
* testsuite/ld-i386/property-4.r: Likewise.
* testsuite/ld-i386/property-5.r: 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.

(cherry picked from commit f95f5adb9a50a27639a811c540c008e776aee46d)

4 years agox86: Properly merge -z ibt and -z shstk
H.J. Lu [Tue, 6 Oct 2020 22:38:23 +0000 (15:38 -0700)] 
x86: Properly merge -z ibt and -z shstk

Merge -z ibt and -z shstk only with GNU_PROPERTY_X86_FEATURE_1_AND, not
any GNU_PROPERTY_X86_UINT32_AND_XXX properties.

bfd/

PR ld/26711
* elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Merge -z ibt
and -z shstk only with GNU_PROPERTY_X86_FEATURE_1_AND.

ld/

PR ld/26711
* testsuite/ld-i386/i386.exp: Run ld/26711 tests.
* testsuite/ld-x86-64/x86-64.exp: Likewise.
* testsuite/ld-i386/pr26711-1.d: Likewise.
* testsuite/ld-i386/pr26711-2.d: Likewise.
* testsuite/ld-i386/pr26711-3.d: Likewise.
* testsuite/ld-x86-64/pr26711-1-x32.d: Likewise.
* testsuite/ld-x86-64/pr26711-1.d: Likewise.
* testsuite/ld-x86-64/pr26711-2-x32.d: Likewise.
* testsuite/ld-x86-64/pr26711-2.d: Likewise.
* testsuite/ld-x86-64/pr26711-3-x32.d: Likewise.
* testsuite/ld-x86-64/pr26711-3.d: Likewise.
* testsuite/ld-x86-64/pr26711.s: Likewise.

(cherry picked from commit 574df58f5295ef2728526e6a73b5f429b05f2a8c)

4 years agoAutomatic date update in version.in
GDB Administrator [Wed, 7 Oct 2020 00:00:51 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoaarch64: Fix bogus type punning in parse_barrier() [PR26699]
Alex Coplan [Tue, 6 Oct 2020 14:56:44 +0000 (15:56 +0100)] 
aarch64: Fix bogus type punning in parse_barrier() [PR26699]

This patch fixes a bogus use of type punning in parse_barrier() which
was causing an assembly failure on big endian LP64 hosts when attempting
to assemble "isb sy" for AArch64.

The type of the entries in aarch64_barrier_opt_hsh is
aarch64_name_value_pair. We were incorrectly casting this to the
locally-defined asm_barrier_opt which has a wider type (on LP64) for the
second member. This happened to work on little-endian hosts but fails on
LP64 big endian.

The fix is to use the correct type in parse_barrier(). This makes the
locally-defined asm_barrier_opt redundant, so remove it.

gas/ChangeLog:

PR 26699
* config/tc-aarch64.c (asm_barrier_opt): Delete.
(parse_barrier): Fix bogus type punning.
* testsuite/gas/aarch64/system.d: Update disassembly.
* testsuite/gas/aarch64/system.s: Add isb sy test.

(cherry picked from commit 05cfb0d8cc9b7f8676f5ae55a93642f091d5405f)

4 years agoAutomatic date update in version.in
GDB Administrator [Tue, 6 Oct 2020 00:00:45 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Mon, 5 Oct 2020 00:00:44 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Sun, 4 Oct 2020 00:00:45 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Sat, 3 Oct 2020 00:00:46 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoaarch64: Add support for Neoverse V1 CPU
Alex Coplan [Fri, 2 Oct 2020 14:04:29 +0000 (15:04 +0100)] 
aarch64: Add support for Neoverse V1 CPU

This backports the AArch64 support for Arm's Neoverse V1 CPU to binutils
2.35.

gas/ChangeLog:

* config/tc-aarch64.c (aarch64_cpus): Add Neoverse V1.
* doc/c-aarch64.texi: Document Neoverse V1 support.

4 years agoAutomatic date update in version.in
GDB Administrator [Fri, 2 Oct 2020 00:00:44 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Thu, 1 Oct 2020 00:00:54 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Wed, 30 Sep 2020 00:00:48 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Tue, 29 Sep 2020 00:00:46 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoRe: PR26656, power10 libstdc++.so segfault in __cxxabiv1::__cxa_throw
Alan Modra [Mon, 28 Sep 2020 00:00:19 +0000 (09:30 +0930)] 
Re: PR26656, power10 libstdc++.so segfault in __cxxabiv1::__cxa_throw

Some missing NULL checks meant a stub for a local symbol used a stub
looking like the __tls_get_addr_opt stub.

PR 26656
* elf64-ppc.c (ppc_build_one_stub, ppc_size_one_stub): Check for
NULL stub_entry->h before calling is_tls_get_addr.

(cherry picked from commit 12cf8b93da0ae155643d262235486fde5af72a80)

4 years agoAutomatic date update in version.in
GDB Administrator [Mon, 28 Sep 2020 00:00:46 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Sun, 27 Sep 2020 00:00:44 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years ago[GOLD] PPC64_OPT_LOCALENTRY is incompatible with tail calls
Alan Modra [Sat, 26 Sep 2020 11:04:55 +0000 (20:34 +0930)] 
[GOLD] PPC64_OPT_LOCALENTRY is incompatible with tail calls

Gold version of commit 3cd7c7d7ef.

* powerpc.cc (Target_powerpc): Rename power10_stubs_ to
power10_relocs_.
(Target_powerpc::set_power10_relocs): New accessor.
(Target_powerpc::set_power10_stubs): Delete.
(Target_powerpc::power10_stubs): Adjust.
(Target_powerpc::has_localentry0): New accessor.
(ld_0_11): New constant.
(glink_eh_frame_fde_64v1, glink_eh_frame_fde_64v2): Adjust.
(glink_eh_frame_fde_64v2_localentry0): New.
(Output_data_glink::pltresolve_size): Update.
(Output_data_glink::add_eh_frame): Use localentry0 version eh_frame.
(Output_data_glink::do_write): Move r2 save to start of ELFv2 stub
and only emit for has_localentry0.  Don't use r2 in the stub.
(Target_powerpc::Scan::local, global): Adjust for
set_power10_relocs renaming.
(Target_powerpc::scan_relocs): Warn and reset plt_localentry0_.

(cherry picked from commit 63e5eea234c2bd2c7ce7dc921c71b22bc4fd0d6b)

4 years agoPPC64_OPT_LOCALENTRY is incompatible with tail calls
Alan Modra [Sat, 26 Sep 2020 05:40:09 +0000 (15:10 +0930)] 
PPC64_OPT_LOCALENTRY is incompatible with tail calls

The save of r2 in __glink_PLTresolve is the culprit.  Remove it,
unless we know we need it for --plt-localentry.  --plt-localentry
should not be used with power10 pc-relative code that makes tail
calls.

The patch also removes use of r2 as a scratch reg in the ELFv2
__glink_PLTresolve.  Using r2 isn't a problem, this is just reducing
the number of scratch regs.

bfd/
* elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Depend on has_plt_localentry0.
(LD_R0_0R11, ADD_R11_R0_R11): Define.
(ppc64_elf_tls_setup): Disable params->plt_localentry0 when power10
code detected.
(ppc64_elf_size_stubs): Update __glink_PLTresolve eh_frame.
(ppc64_elf_build_stubs): Move r2 save to start of __glink_PLTresolve,
and only emit for has_plt_localentry0.  Don't use r2 in the stub.
ld/
* testsuite/ld-powerpc/elfv2so.d,
* testsuite/ld-powerpc/notoc2.d,
* testsuite/ld-powerpc/tlsdesc.wf,
* testsuite/ld-powerpc/tlsdesc2.d,
* testsuite/ld-powerpc/tlsdesc2.wf,
* testsuite/ld-powerpc/tlsopt5.d,
* testsuite/ld-powerpc/tlsopt5.wf,
* testsuite/ld-powerpc/tlsopt6.d,
* testsuite/ld-powerpc/tlsopt6.wf: Update __glink_PLTresolve.

(cherry picked from commit 3cd7c7d7ef38ec5dc0a0c137c47d9ad0fc9e2e5f)

4 years agoAutomatic date update in version.in
GDB Administrator [Sat, 26 Sep 2020 00:00:44 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Fri, 25 Sep 2020 00:00:44 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoImport patch from mainline to fix decoding DWARF information in the BFD library.
Nick Clifton [Thu, 24 Sep 2020 12:42:04 +0000 (13:42 +0100)] 
Import patch from mainline to fix decoding DWARF information in the BFD library.

PR 26520
* dwarf2.c (scan_unit_for_symbols): Add member entries to the
variable table.

4 years ago[GOLD] PowerPC64 __tls_get_addr_opt stub
Alan Modra [Wed, 23 Sep 2020 13:24:01 +0000 (22:54 +0930)] 
[GOLD] PowerPC64 __tls_get_addr_opt stub

This stub doesn't have the r2 store at the beginning.

* powerpc.cc (Target_powerpc::Relocate::relocate): Don't skip
first insn of __tls_get_addr_opt stub.

(cherry picked from commit a993d270f8423a8b6faa2ce9d245073bed076bb0)

4 years ago[GOLD] Power10 stub selection
Alan Modra [Thu, 23 Jul 2020 01:05:56 +0000 (10:35 +0930)] 
[GOLD] Power10 stub selection

gold version of commit e10a07b32dc1.

* options.h (DEFINE_enum): Add optional_arg__ param, adjust
all uses.
(General_options): Add --power10-stubs and --no-power10-stubs.
* options.cc (General_options::finalize): Handle --power10-stubs.
* powerpc.cc (set_power10_stubs): Don't set when --power10-stubs=no.
(power10_stubs_auto): New.
(struct Plt_stub_ent): Add toc_ and tocoff_.  Don't use a bitfield
for indx_.
(struct Branch_stub_ent): Add toc_and tocoff_.  Use bitfields for
iter_, notoc_ and save_res_.
(add_plt_call_entry): Set toc_.  Adjust resizing conditions for
--power10-stubs=auto.
(add_long_branch_entry): Set toc_.
(add_eh_frame, define_stub_syms): No longer use const_iterators
for plt and long branch stub iteration.
(build_tls_opt_head, build_tls_opt_tail): Change parameters and
return value.  Move tests for __tls_get_addr to callers.
(plt_call_size): Handle --power10-stubs=auto.
(branch_stub_size): Likewise.
(Stub_table::do_write): Likewise.
(relocate): Likewise.

(cherry picked from commit afd2ea23626c43886ab8b028b68b7b663d6de3c6)

4 years agoPR26656, power10 libstdc++.so segfault in __cxxabiv1::__cxa_throw
Alan Modra [Tue, 22 Sep 2020 13:21:42 +0000 (22:51 +0930)] 
PR26656, power10 libstdc++.so segfault in __cxxabiv1::__cxa_throw

This adds missing support for a power10 version of the __tls_get_addr
call stub implementing DT_PPC64_OPT PPC64_OPT_TLS.  Without this,
power10 code using __tls_get_addr fails miserably at runtime unless
the --no-tls-get-addr-optimize option is given.

PR 26656
* elf64-ppc.c (plt_stub_size): Add "odd" param.  Use it with
size_power10_offset rather than calculating from start of stub.
Add size for notoc tls_get_addr_opt stub.
(plt_stub_pad): Add "odd" param, pass to plt_stub_size.
(build_tls_get_addr_head, build_tls_get_addr_tail): New functions.
(build_tls_get_addr_stub): Delete.
(ppc_build_one_stub): Use a temp for htab->params->stub_bfd.
Emit notoc tls_get_addr_opt stub.  Move eh_frame code to
suit.  Adjust code to use bfd_tls_get_addr_head/tail in place
of build_tls_get_addr_stub.
(ppc_size_one_stub): Size notoc tls_get_addr_opt stub.
Adjust plt_stub_size and plt_stub_pad calls.  Correct "odd"
when padding stub.  Size eh_frame for notoc stub too.
Correct lr_restore value.
(ppc64_elf_relocate_section): Don't skip over first insn of
notoc tls_get_addr_opt stub.

(cherry picked from commit 294338867c268b6da43327b6cbe70e746bff1a04)

4 years agoPR26655, Power10 libstdc++.so R_PPC64_NONE dynamic relocs
Alan Modra [Wed, 23 Sep 2020 05:25:39 +0000 (14:55 +0930)] 
PR26655, Power10 libstdc++.so R_PPC64_NONE dynamic relocs

Some of the powerpc64 code editing functions are better run after
dynamic symbols have stabilised in order to make proper decisions
based on SYMBOL_REFERENCES_LOCAL.  The dynamic symbols are processed
early in bfd_elf_size_dynamic_sections, before the backend
always_size_sections function is called.

One function, ppc64_elf_tls_setup must run before
bfd_elf_size_dynamic_sections because it changes dynamic symbols.
ppc64_elf_edit_opd and ppc64_elf_inline_plt can run early or late, I
think.  ppc64_elf_tls_optimize and ppc64_elf_edit_toc are better run
later.

So this patch arranges to call some edit functions later via
always_size_sections.

PR 26655
bfd/
* elf64-ppc.c (ppc64_elf_func_desc_adjust): Rename to..
(ppc64_elf_edit): Call params->edit.
(ppc64_elf_tls_setup): Don't call _bfd_elf_tls_setup.  Return a
bfd_boolean.
* elf64-ppc.h (struct ppc64_elf_params): Add "edit".
(ppc64_elf_tls_setup): Update declaration.
ld/
* emultempl/ppc64elf.em (params): Add ppc_edit.
(ppc_before_allocation): Split off some edit functions to..
(ppc_edit): ..this, new function.

(cherry picked from commit c94053440e29421dd8846530da73f09c9ede2e0f)

4 years agoCorrect vcmpsq, vcmpuq and xvtlsbb BF field
Alan Modra [Tue, 18 Aug 2020 23:17:35 +0000 (08:47 +0930)] 
Correct vcmpsq, vcmpuq and xvtlsbb BF field

These shouldn't be optional.  The record form of vector instructions
set CR6, giving an expectation that omitting BF should be the same as
specifying CR6.

opcodes/
* ppc-opc.c (powerpc_opcodes): Replace OBF with BF for vcmpsq,
vcmpuq and xvtlsbb.
gas/
* testsuite/gas/ppc/int128.s: Correct vcmpuq.
* testsuite/gas/ppc/int128.d: Update.
* testsuite/gas/ppc/xvtlsbb.d: Update.

(cherry picked from commit 18a8a00ebe3159b65798c6132cb5f93ff4ef6c17)

4 years agoPowerPC64 --no-pcrel-optimize
Alan Modra [Wed, 12 Aug 2020 14:01:28 +0000 (23:31 +0930)] 
PowerPC64 --no-pcrel-optimize

This new option effectively ignores R_PPC64_PCREL_OPT, disabling the
optimization of instructions marked by that relocation.  The patch
also disables GOT indirect to GOT/TOC pointer relative code editing
when --no-toc-optimize.

bfd/
* elf64-ppc.h (struct ppc64_elf_params): Add no_pcrel_opt.
* elf64-ppc.c (ppc64_elf_relocate_section): Disable GOT reloc
optimizations when --no-toc-optimize.  Disable R_PPC64_PCREL_OPT
optimization when --no-pcrel-optimize.
ld/
* emultempl/ppc64elf.em (params): Init new field.
(enum ppc64_opt): Add OPTION_NO_PCREL_OPT.
(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS),
(PARSE_AND_LIST_ARGS_CASES): Support --no-pcrel-optimize.

(cherry picked from commit 6738c8a7c93cd77a0caa720c6cc21c422561be2c)

4 years agoImplement missing powerpc mtspr and mfspr extended insns
Alan Modra [Mon, 10 Aug 2020 12:11:36 +0000 (21:41 +0930)] 
Implement missing powerpc mtspr and mfspr extended insns

* ppc-opc.c (powerpc_opcodes): Add many mtspr and mfspr extended
instructions.

(cherry picked from commit 3eb651743e06fb360687a26be87bc6b710fc7066)

4 years agoImplement missing powerpc extended mnemonics
Alan Modra [Mon, 10 Aug 2020 05:38:27 +0000 (15:08 +0930)] 
Implement missing powerpc extended mnemonics

gas/
* testsuite/gas/ppc/power8.d,
* testsuite/gas/ppc/power8.s: Add miso.
* testsuite/gas/ppc/power9.d,
* testsuite/gas/ppc/power8.s: Add exser, msgsndu, msgclru.
opcodes/
* ppc-opc.c (powerpc_opcodes): Add exser, msgsndu, msgclru.
Enable icbt for power5, miso for power8.

(cherry picked from commit 8b2742a1567273f2ecc9fe6d7df1c9287865f5b6)

4 years agoPrioritise mtfprd and mtvrd over mtvsrd in PowerPC disassembly
Alan Modra [Mon, 10 Aug 2020 05:37:33 +0000 (15:07 +0930)] 
Prioritise mtfprd and mtvrd over mtvsrd in PowerPC disassembly

gas/
* testsuite/gas/ppc/power8.d: Update.
* testsuite/gas/ppc/vsx2.d: Update.
opcodes/
* ppc-opc.c (powerpc_opcodes): Prioritise mtfprd and mtvrd over
mtvsrd, and similarly for mfvsrd.

(cherry picked from commit 5fbec329ec3b21fab7e06cd1e4bf7068332a876c)

4 years agoError on lmw, lswi and related PowerPC insns when LE
Alan Modra [Mon, 10 Aug 2020 05:36:43 +0000 (15:06 +0930)] 
Error on lmw, lswi and related PowerPC insns when LE

* config/tc-ppc.c (md_assemble): Error for lmw, stmw, lswi, lswx,
stswi, or stswx in little-endian mode.
* testsuite/gas/ppc/476.d,
* testsuite/gas/ppc/476.s: Delete lmw, stmw, lswi, lswx, stswi, stswx.
* testsuite/gas/ppc/a2.d,
* testsuite/gas/ppc/a2.s: Move lmw, stmw, lswi, lswx, stswi, stswx..
* testsuite/gas/ppc/be.d,
* testsuite/gas/ppc/be.s: ..to here, new big-endian only test.
* testsuite/gas/ppc/le_error.d,
* testsuite/gas/ppc/le_error.l: New little-endian test.
* testsuite/gas/ppc/ppc.exp: Run new tests.

(cherry picked from commit 86c0f617ac5f3a5f4aab76c7f90255254ca27576)

4 years agoAutomatic date update in version.in
GDB Administrator [Thu, 24 Sep 2020 00:00:46 +0000 (00:00 +0000)] 
Automatic date update in version.in

4 years agoAutomatic date update in version.in
GDB Administrator [Wed, 23 Sep 2020 00:00:40 +0000 (00:00 +0000)] 
Automatic date update in version.in