]> git.ipfire.org Git - thirdparty/binutils-gdb.git/log
thirdparty/binutils-gdb.git
21 months agoAutomatic date update in version.in
GDB Administrator [Mon, 16 Oct 2023 00:02:12 +0000 (00:02 +0000)] 
Automatic date update in version.in

21 months agoAutomatic date update in version.in
GDB Administrator [Sun, 15 Oct 2023 00:01:43 +0000 (00:01 +0000)] 
Automatic date update in version.in

21 months agoAutomatic date update in version.in
GDB Administrator [Sat, 14 Oct 2023 00:02:20 +0000 (00:02 +0000)] 
Automatic date update in version.in

21 months agoAutomatic date update in version.in
GDB Administrator [Fri, 13 Oct 2023 00:01:05 +0000 (00:01 +0000)] 
Automatic date update in version.in

21 months agoAutomatic date update in version.in
GDB Administrator [Thu, 12 Oct 2023 00:02:31 +0000 (00:02 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Wed, 11 Oct 2023 00:01:59 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Tue, 10 Oct 2023 00:02:07 +0000 (00:02 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Mon, 9 Oct 2023 00:01:06 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Sun, 8 Oct 2023 00:02:40 +0000 (00:02 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Sat, 7 Oct 2023 00:01:24 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Fri, 6 Oct 2023 00:01:52 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Thu, 5 Oct 2023 00:01:57 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Wed, 4 Oct 2023 00:01:25 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Tue, 3 Oct 2023 00:03:07 +0000 (00:03 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Mon, 2 Oct 2023 00:01:37 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Sun, 1 Oct 2023 00:01:53 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Sat, 30 Sep 2023 00:01:37 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Fri, 29 Sep 2023 00:01:22 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Thu, 28 Sep 2023 00:01:32 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agox86-64: fix suffix-less PUSH of symbol address
Jan Beulich [Wed, 27 Sep 2023 08:53:38 +0000 (10:53 +0200)] 
x86-64: fix suffix-less PUSH of symbol address

PR gas/30856

In 5cc007751cdb ("x86: further adjust extend-to-32bit-address
conditions") I neglected the case of PUSH, which is the only insn
allowing (proper) symbol addresses to be used as immediates (not
displacements, like CALL/JMP) in the absence of any register operands.
Since it defaults to 64-bit operand size, guessing an L suffix is wrong
there.

22 months agoAutomatic date update in version.in
GDB Administrator [Wed, 27 Sep 2023 00:01:37 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Tue, 26 Sep 2023 00:02:12 +0000 (00:02 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Mon, 25 Sep 2023 00:00:57 +0000 (00:00 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Sun, 24 Sep 2023 00:01:25 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Sat, 23 Sep 2023 00:01:02 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Fri, 22 Sep 2023 00:01:12 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Thu, 21 Sep 2023 00:02:15 +0000 (00:02 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Wed, 20 Sep 2023 00:01:27 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Tue, 19 Sep 2023 00:02:08 +0000 (00:02 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Mon, 18 Sep 2023 00:01:13 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Sun, 17 Sep 2023 00:01:14 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Sat, 16 Sep 2023 00:01:06 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Fri, 15 Sep 2023 00:01:12 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Thu, 14 Sep 2023 00:02:08 +0000 (00:02 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Wed, 13 Sep 2023 00:01:23 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Tue, 12 Sep 2023 00:01:29 +0000 (00:01 +0000)] 
Automatic date update in version.in

22 months agoAutomatic date update in version.in
GDB Administrator [Mon, 11 Sep 2023 00:01:19 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Sun, 10 Sep 2023 00:01:01 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Sat, 9 Sep 2023 00:01:00 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoaarch64: Remove unused function
Richard Sandiford [Fri, 8 Sep 2023 16:20:56 +0000 (17:20 +0100)] 
aarch64: Remove unused function

set_expected_error is no longer used.  It has been replaced by
more specific error messages.

23 months agox86: restrict prefix use with .insn VEX/XOP/EVEX
Jan Beulich [Fri, 8 Sep 2023 06:45:11 +0000 (08:45 +0200)] 
x86: restrict prefix use with .insn VEX/XOP/EVEX

Avoid triggering the respective abort() in output_insn().

23 months agoAutomatic date update in version.in
GDB Administrator [Fri, 8 Sep 2023 00:01:02 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Thu, 7 Sep 2023 00:02:00 +0000 (00:02 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Wed, 6 Sep 2023 00:02:21 +0000 (00:02 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Tue, 5 Sep 2023 00:01:43 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Mon, 4 Sep 2023 00:00:56 +0000 (00:00 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Sun, 3 Sep 2023 00:01:19 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Sat, 2 Sep 2023 00:01:43 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Fri, 1 Sep 2023 00:01:17 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Thu, 31 Aug 2023 00:01:39 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Wed, 30 Aug 2023 00:01:52 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Tue, 29 Aug 2023 00:01:36 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Mon, 28 Aug 2023 00:01:20 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Sun, 27 Aug 2023 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Sat, 26 Aug 2023 00:01:13 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoPR30794, PowerPC gold: internal error in add_output_section_to_load
Alan Modra [Thu, 24 Aug 2023 23:42:18 +0000 (09:12 +0930)] 
PR30794, PowerPC gold: internal error in add_output_section_to_load

Caused by commit 5a97377e5513, specifically this code added to
Target_powerpc::do_relax
+      if (parameters->options().output_is_position_independent())
+       this->rela_dyn_size_
+         = this->rela_dyn_section(layout)->current_data_size();

The problem here is that if .rela.dyn isn't already created then the
call to rela_dyn_section creates it, and as this comment in
Target_powerpc::do_finalize_sections says:
  // Annoyingly, we need to make these sections now whether or
  // not we need them.  If we delay until do_relax then we
  // need to mess with the relaxation machinery checkpointing.
We can't be creating sections in do_relax.

PR 30794
* powerpc.cc (Target_powerpc::do_relax): Only set rela_dyn_size_
for size == 64, and assert that rela_dyn_ already exists.
Tidy code setting plt_thread_safe, which also only needs to be
set when size == 64 for ELFv1.

(cherry picked from commit d537f77ef3b18a5fbfd598643aaad957652e9608)

23 months agoAutomatic date update in version.in
GDB Administrator [Fri, 25 Aug 2023 00:00:59 +0000 (00:00 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Thu, 24 Aug 2023 00:01:03 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Wed, 23 Aug 2023 00:01:47 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Tue, 22 Aug 2023 00:01:40 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Mon, 21 Aug 2023 00:01:18 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Sun, 20 Aug 2023 00:00:53 +0000 (00:00 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Sat, 19 Aug 2023 00:01:15 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Fri, 18 Aug 2023 00:01:22 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Thu, 17 Aug 2023 00:01:54 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Wed, 16 Aug 2023 00:01:29 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoUpdated Russian translation for the bfd directory
Nick Clifton [Tue, 15 Aug 2023 13:27:20 +0000 (14:27 +0100)] 
Updated Russian translation for the bfd directory

23 months agoAutomatic date update in version.in
GDB Administrator [Tue, 15 Aug 2023 00:01:40 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Mon, 14 Aug 2023 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Sun, 13 Aug 2023 00:01:09 +0000 (00:01 +0000)] 
Automatic date update in version.in

23 months agoAutomatic date update in version.in
GDB Administrator [Sat, 12 Aug 2023 00:00:49 +0000 (00:00 +0000)] 
Automatic date update in version.in

2 years agoPR30724, cygwin ld performance regression since 014a602b86
Alan Modra [Sun, 6 Aug 2023 22:58:55 +0000 (08:28 +0930)] 
PR30724, cygwin ld performance regression since 014a602b86

According to the reporter of this bug the newlib fseek implementation
is likely slowed down by locking and fflush, only attempting to
optimise seeks when the file is opened read-only.  Thus when writing
the output we get a dramatic slowdown due to commit 014a602b86.

PR 30724
* bfd.c (enum bfd_last_io): New.
(struct bfd): Add last_io field.
* bfd-in2.h: Regenerate.
* bfd-io.c (bfd_bread, bfd_bwrite): Force seek if last_io is
opposite direction.
(bfd_seek): Reinstate optimisation for seek to same position.

(cherry picked from commit f82ee0c8dc4ee32556e23e6cd83ef083618f704f)

2 years agoAutomatic date update in version.in
GDB Administrator [Fri, 11 Aug 2023 00:01:06 +0000 (00:01 +0000)] 
Automatic date update in version.in

2 years agoAutomatic date update in version.in
GDB Administrator [Thu, 10 Aug 2023 00:01:44 +0000 (00:01 +0000)] 
Automatic date update in version.in

2 years agoAutomatic date update in version.in
GDB Administrator [Wed, 9 Aug 2023 00:01:40 +0000 (00:01 +0000)] 
Automatic date update in version.in

2 years agoAutomatic date update in version.in
GDB Administrator [Tue, 8 Aug 2023 00:01:25 +0000 (00:01 +0000)] 
Automatic date update in version.in

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

2 years agoAutomatic date update in version.in
GDB Administrator [Sun, 6 Aug 2023 00:01:00 +0000 (00:01 +0000)] 
Automatic date update in version.in

2 years agoAutomatic date update in version.in
GDB Administrator [Sat, 5 Aug 2023 00:01:01 +0000 (00:01 +0000)] 
Automatic date update in version.in

2 years agoPR30697, ppc32 mix of local-dynamic and global-dynamic TLS
Alan Modra [Fri, 4 Aug 2023 05:39:53 +0000 (15:09 +0930)] 
PR30697, ppc32 mix of local-dynamic and global-dynamic TLS

This fixes miscounting of dynamic relocations on GOT entries when
a) there are both local-dynamic and global-dynamic tls accesss for a
   given symbol, and
b) the symbol is global with non-default visibility, and
c) the __tls_get_addr calls aren't optimised away.

PR 30697
bfd/
* elf32-ppc.c (allocate_dynrelocs): Correct local-dynamic
reloc count.
ld/
* testsuite/ld-powerpc/tls32ldgd.d,
* testsuite/ld-powerpc/tls32ldgd.s: New test.
* testsuite/ld-powerpc/powerpc.exp: Run it.

(cherry picked from commit ae33771224660dac25e64c3f70943a17bfab7681)

2 years agoAutomatic date update in version.in
GDB Administrator [Fri, 4 Aug 2023 00:01:19 +0000 (00:01 +0000)] 
Automatic date update in version.in

2 years agoAutomatic date update in version.in
GDB Administrator [Thu, 3 Aug 2023 00:01:33 +0000 (00:01 +0000)] 
Automatic date update in version.in

2 years agoAutomatic date update in version.in
GDB Administrator [Wed, 2 Aug 2023 00:01:14 +0000 (00:01 +0000)] 
Automatic date update in version.in

2 years agogas: rework timestamp preservation on doc/asconfig.texi
Jan Beulich [Tue, 1 Aug 2023 10:39:44 +0000 (12:39 +0200)] 
gas: rework timestamp preservation on doc/asconfig.texi

PR 28909

Sadly "cp -p", doing more than just preserving the time stamp, can fail
e.g. upon trying to preserve ownership (which we don't care about), as
can be observed on e.g. Cygwin. Replace the use of -p by a use of touch,
this way also only preserving modification time.

2 years agoAutomatic date update in version.in
GDB Administrator [Tue, 1 Aug 2023 00:02:08 +0000 (00:02 +0000)] 
Automatic date update in version.in

2 years agoUpdated Spanish translation for the gprof directory
Nick Clifton [Mon, 31 Jul 2023 12:53:47 +0000 (13:53 +0100)] 
Updated Spanish translation for the gprof directory

2 years agoAutomatic date update in version.in
GDB Administrator [Mon, 31 Jul 2023 00:00:52 +0000 (00:00 +0000)] 
Automatic date update in version.in

2 years agoReset 2.41 branch back to development mode
Nick Clifton [Sun, 30 Jul 2023 15:03:48 +0000 (16:03 +0100)] 
Reset 2.41 branch back to development mode

2 years agoThe 2.41 release! binutils-2_41
Nick Clifton [Sun, 30 Jul 2023 13:55:52 +0000 (14:55 +0100)] 
The 2.41 release!

2 years agoAutomatic date update in version.in
GDB Administrator [Sun, 30 Jul 2023 00:01:24 +0000 (00:01 +0000)] 
Automatic date update in version.in

2 years agoAutomatic date update in version.in
GDB Administrator [Sat, 29 Jul 2023 00:01:11 +0000 (00:01 +0000)] 
Automatic date update in version.in

2 years agogas: amend X_unsigned uses
Jan Beulich [Fri, 28 Jul 2023 10:34:30 +0000 (12:34 +0200)] 
gas: amend X_unsigned uses

PR gas/30688

X_unsigned being clear does not indicate a negative number; it merely
indicates a signed one (whose sign may still be clear). Amend two uses
by an actual value check.

2 years agoRISC-V: Add actual 'Zvkt' extension support
Tsukasa OI [Wed, 26 Jul 2023 01:39:44 +0000 (01:39 +0000)] 
RISC-V: Add actual 'Zvkt' extension support

The 'Zvkt' extension is listed on the added extensions in the GNU Binutils
version 2.41 (see binutils/NEWS).  However, the support of this extension
was actually missing.

This commit adds actual support of this extension and adds implications
from 'Zvkn' and 'Zvks' superset extensions.

bfd/ChangeLog:

* elfxx-riscv.c (riscv_implicit_subsets) Add implications from
'Zvkn' and 'Zvks'.  (riscv_supported_std_z_ext): Add 'Zvkt' to
the supported extension list.

2 years agoMIPS: Support `-gnuabi64' target triplet suffix for 64-bit Linux targets
YunQiang Su [Fri, 28 Jul 2023 05:00:37 +0000 (06:00 +0100)] 
MIPS: Support `-gnuabi64' target triplet suffix for 64-bit Linux targets

Make the n64 ABI the default for 64-bit Linux targets specified with
`-gnuabi64' suffix included in the target triplet, for configurations
such as the Debian mips64el and mips64r6el ports.  Adjust testsuite
configuration accordingly.

There are the following regressions with the new target triplet:

mips64-linux-gnuabi64  +FAIL: readelf -S bintest
mips64-linux-gnuabi64  +FAIL: MIPS reloc estimation 1
mips64el-linux-gnuabi64  +FAIL: readelf -S bintest
mips64el-linux-gnuabi64  +FAIL: MIPS reloc estimation 1

The `readelf' issue comes from a difference in section headers produced
that the `binutils/testsuite/binutils-all/readelf.s-64' pattern template
does not match.  While there has been a precedent it does not appear to
me that there is a clear advantage from adding more and more variations
to the template rather than forking the existing template into multiple
ones for a more exact match.  So this is best deferred to a separate
discussion.

The MIPS reloc estimation issue is an actual bug in `objdump', which
discards a number of trailing entries from output here for n64 composed
relocations:

DYNAMIC RELOCATION RECORDS
OFFSET           TYPE              VALUE
0000000000000000 R_MIPS_NONE       *ABS*
0000000000000000 R_MIPS_NONE       *ABS*

and consequently `ld/testsuite/ld-mips-elf/reloc-estimate-1.d' does not
match even though ELF output produced is correct according to `readelf':

Relocation section '.rel.dyn' at offset 0x10400 contains 2 entries:
  Offset          Info           Type           Sym. Value    Sym. Name
000000000000  000000000000 R_MIPS_NONE
                    Type2: R_MIPS_NONE
                    Type3: R_MIPS_NONE
000000010000  000300001203 R_MIPS_REL32      0000000000010010 foo@@V2
                    Type2: R_MIPS_64
                    Type3: R_MIPS_NONE

As a genuine bug this has to be handled separately.

Co-Authored by: Maciej W. Rozycki <macro@orcam.me.uk>

bfd/
* config.bfd: Add `mips64*el-*-linux*-gnuabi64' and
`mips64*-*-linux*-gnuabi64' targets.

binutils/
* testsuite/binutils-all/mips/mips.exp: Handle `*-*-*-gnuabi64'
targets.
* testsuite/binutils-all/objcopy.exp: Handle
`mips64*-*-*-gnuabi64' targets.
* testsuite/binutils-all/remove-relocs-01.d: Likewise.
* testsuite/binutils-all/remove-relocs-04.d: Likewise.
* testsuite/binutils-all/remove-relocs-05.d: Likewise.
* testsuite/binutils-all/remove-relocs-06.d: Likewise.

gas/
* configure.ac: Handle `mips64*-linux-gnuabi64' targets.
* configure: Regenerate.
* testsuite/gas/mips/compact-eh-eb-7.d: Handle
`mips64*-*-*-gnuabi64' targets.
* testsuite/gas/mips/compact-eh-el-7.d: Likewise.

ld/
* configure.tgt: Add `mips64*el-*-linux-gnuabi64' and
`mips64*-*-linux-gnuabi64' targets.
* testsuite/ld-undefined/undefined.exp: Handle
`mips64*-*-*-gnuabi64' targets.
* testsuite/ld-mips-elf/attr-gnu-4-10.d: Likewise.
* testsuite/ld-mips-elf/compact-eh6.d: Likewise.
* testsuite/ld-mips-elf/mips-elf.exp: Handle `*-*-*-gnuabi64'
targets.

(cherry picked from commit 29c108c9610640439daa5244a573348b7c47d994)

2 years agoMIPS/GAS/testsuite: Fix n64 compact EH failures
YunQiang Su [Fri, 28 Jul 2023 05:00:36 +0000 (06:00 +0100)] 
MIPS/GAS/testsuite: Fix n64 compact EH failures

Expect a `.MIPS.options' section alternatively to `.reginfo' and ignore
contents of either as irrelevant for all the affected compact EH tests,
removing these regressions:

mips64-openbsd  -FAIL: Compact EH EB #1 with personality ID and FDE data
mips64-openbsd  -FAIL: Compact EH EB #2 with personality routine and FDE data
mips64-openbsd  -FAIL: Compact EH EB #3 with personality id and large FDE data
mips64-openbsd  -FAIL: Compact EH EB #4 with personality id, FDE data and LSDA
mips64-openbsd  -FAIL: Compact EH EB #5 with personality routine, FDE data and LSDA
mips64-openbsd  -FAIL: Compact EH EB #6 with personality id, LSDA and large FDE data
mips64-openbsd  -FAIL: Compact EH EL #1 with personality ID and FDE data
mips64-openbsd  -FAIL: Compact EH EL #2 with personality routine and FDE data
mips64-openbsd  -FAIL: Compact EH EL #3 with personality id and large FDE data
mips64-openbsd  -FAIL: Compact EH EL #4 with personality id, FDE data and LSDA
mips64-openbsd  -FAIL: Compact EH EL #5 with personality routine, FDE data and LSDA
mips64-openbsd  -FAIL: Compact EH EL #6 with personality id, LSDA and large FDE data
mips64el-openbsd  -FAIL: Compact EH EB #1 with personality ID and FDE data
mips64el-openbsd  -FAIL: Compact EH EB #2 with personality routine and FDE data
mips64el-openbsd  -FAIL: Compact EH EB #3 with personality id and large FDE data
mips64el-openbsd  -FAIL: Compact EH EB #4 with personality id, FDE data and LSDA
mips64el-openbsd  -FAIL: Compact EH EB #5 with personality routine, FDE data and LSDA
mips64el-openbsd  -FAIL: Compact EH EB #6 with personality id, LSDA and large FDE data
mips64el-openbsd  -FAIL: Compact EH EL #1 with personality ID and FDE data
mips64el-openbsd  -FAIL: Compact EH EL #2 with personality routine and FDE data
mips64el-openbsd  -FAIL: Compact EH EL #3 with personality id and large FDE data
mips64el-openbsd  -FAIL: Compact EH EL #4 with personality id, FDE data and LSDA
mips64el-openbsd  -FAIL: Compact EH EL #5 with personality routine, FDE data and LSDA
mips64el-openbsd  -FAIL: Compact EH EL #6 with personality id, LSDA and large FDE data

Co-Authored-By: Maciej W. Rozycki <macro@orcam.me.uk>
gas/
* testsuite/gas/mips/compact-eh-eb-1.d: Accept `.MIPS.options'
section as an alternative to `.reginfo' and ignore contents of
either.
* testsuite/gas/mips/compact-eh-eb-2.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-3.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-4.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-5.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-6.d: Likewise.
* testsuite/gas/mips/compact-eh-el-1.d: Likewise.
* testsuite/gas/mips/compact-eh-el-2.d: Likewise.
* testsuite/gas/mips/compact-eh-el-3.d: Likewise.
* testsuite/gas/mips/compact-eh-el-4.d: Likewise.
* testsuite/gas/mips/compact-eh-el-5.d: Likewise.
* testsuite/gas/mips/compact-eh-el-6.d: Likewise.

(cherry picked from commit 316be2b229f5bd07ebef48fd1d7b8cb103e4d815)

2 years agotestsuite: Handle composed R_MIPS_NONE relocations
YunQiang Su [Fri, 28 Jul 2023 05:00:36 +0000 (06:00 +0100)] 
testsuite: Handle composed R_MIPS_NONE relocations

MIPS n64 ABI has a peculiarity where all relocations are composed of
three, with subsequent relocation types set to R_MIPS_NONE if further
calculation is not required.  Example output produced by `readelf' and
`objdump' for such relocations is:

  Offset          Info           Type           Sym. Value    Sym. Name + Addend
000000000000  000800000002 R_MIPS_32         0000000000000000 foo + 0
                    Type2: R_MIPS_NONE
                    Type3: R_MIPS_NONE

and:

OFFSET           TYPE              VALUE
0000000000000000 R_MIPS_32         foo
0000000000000000 R_MIPS_NONE       *ABS*
0000000000000000 R_MIPS_NONE       *ABS*

respectively.  The presence of these extra R_MIPS_NONE entries is not
relevant for generic or even some MIPS tests, so optionally match them
with the respective dump patterns, also discarding `xfail' annotation
for MIPS/OpenBSD targets from gas/elf/missing-build-notes.d, removing
these regressions:

mips64-openbsd  -FAIL: readelf -r bintest
mips64-openbsd  -FAIL: forward expression
mips64-openbsd  -FAIL: assignment tests
mips64-openbsd  -FAIL: gas/all/none
mips64-openbsd  -XFAIL: gas/elf/missing-build-notes
mips64-openbsd  -FAIL: macro test 2
mips64-openbsd  -FAIL: macro irp
mips64-openbsd  -FAIL: macro rept
mips64-openbsd  -FAIL: nested irp/irpc/rept
mips64-openbsd  -FAIL: macro vararg
mips64-openbsd  -FAIL: mips jalx
mips64-openbsd  -FAIL: ST Microelectronics Loongson-2F workarounds of Jump Instruction issue
mips64el-openbsd  -FAIL: readelf -r bintest
mips64el-openbsd  -FAIL: forward expression
mips64el-openbsd  -FAIL: assignment tests
mips64el-openbsd  -FAIL: gas/all/none
mips64el-openbsd  -XFAIL: gas/elf/missing-build-notes
mips64el-openbsd  -FAIL: macro test 2
mips64el-openbsd  -FAIL: macro irp
mips64el-openbsd  -FAIL: macro rept
mips64el-openbsd  -FAIL: nested irp/irpc/rept
mips64el-openbsd  -FAIL: macro vararg
mips64el-openbsd  -FAIL: mips jalx
mips64el-openbsd  -FAIL: ST Microelectronics Loongson-2F workarounds of Jump Instruction issue

Co-Authored-By: Maciej W. Rozycki <macro@orcam.me.uk>
binutils/
* testsuite/binutils-all/readelf.r-64: Optionally match extra
R_MIPS_NONE pairs.

gas/
* testsuite/gas/all/assign.d: Optionally match extra
R_MIPS_NONE pairs.
* testsuite/gas/all/fwdexp.d: Likewise.
* testsuite/gas/all/none.d: Likewise.
* testsuite/gas/macros/irp.d: Likewise.
* testsuite/gas/macros/repeat.d: Likewise.
* testsuite/gas/macros/rept.d: Likewise.
* testsuite/gas/macros/test2.d: Likewise.
* testsuite/gas/macros/vararg.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-1.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-2.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-3.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-4.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-5.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-6.d: Likewise.
* testsuite/gas/mips/compact-eh-el-1.d: Likewise.
* testsuite/gas/mips/compact-eh-el-2.d: Likewise.
* testsuite/gas/mips/compact-eh-el-3.d: Likewise.
* testsuite/gas/mips/compact-eh-el-4.d: Likewise.
* testsuite/gas/mips/compact-eh-el-5.d: Likewise.
* testsuite/gas/mips/compact-eh-el-6.d: Likewise.
* testsuite/gas/mips/loongson-2f-3.d: Likewise.
* testsuite/gas/mips/mips-jalx.d: Likewise.
* testsuite/gas/elf/missing-build-notes.d: Likewise.  Remove
the `xfail' tag.

ld/
* testsuite/ld-mips-elf/reloc-estimate-1.d: Optionally match
extra R_MIPS_NONE pairs.

(cherry picked from commit ed4dca900c0dbc1317917cb289255d2f8d03f732)

2 years agoMIPS/testsuite: Handle 64-bit addresses
YunQiang Su [Fri, 28 Jul 2023 05:00:36 +0000 (06:00 +0100)] 
MIPS/testsuite: Handle 64-bit addresses

Several MIPS test cases are suitable for the n64 ABI if not for the
extra leading zeros or spaces in addresses not handled by dump patterns.
Match the characters then, removing these regressions:

mips64-openbsd  -FAIL: .set arch=FOO
mips64-openbsd  -FAIL: ST Microelectronics Loongson-2F workarounds of nop issue
mips64-openbsd  -FAIL: MIPS DSP ASE for MIPS64
mips64-openbsd  -FAIL: gas/mips/align2
mips64-openbsd  -FAIL: gas/mips/align2-el
mips64-openbsd  -FAIL: Locally-resolvable PC-relative code references
mips64-openbsd  -FAIL: MIPS jalx-1
mips64-openbsd  -FAIL: JAL overflow 2
mips64el-openbsd  -FAIL: .set arch=FOO
mips64el-openbsd  -FAIL: ST Microelectronics Loongson-2F workarounds of nop issue
mips64el-openbsd  -FAIL: MIPS DSP ASE for MIPS64
mips64el-openbsd  -FAIL: gas/mips/align2
mips64el-openbsd  -FAIL: gas/mips/align2-el
mips64el-openbsd  -FAIL: Locally-resolvable PC-relative code references
mips64el-openbsd  -FAIL: MIPS jalx-1
mips64el-openbsd  -FAIL: JAL overflow 2

Co-Authored-By: Maciej W. Rozycki <macro@orcam.me.uk>
gas/
* testsuite/gas/mips/align2-el.d: Match extra leading zeros
with addresses.
* testsuite/gas/mips/align2.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-1.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-2.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-3.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-4.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-5.d: Likewise.
* testsuite/gas/mips/compact-eh-eb-6.d: Likewise.
* testsuite/gas/mips/compact-eh-el-1.d: Likewise.
* testsuite/gas/mips/compact-eh-el-2.d: Likewise.
* testsuite/gas/mips/compact-eh-el-3.d: Likewise.
* testsuite/gas/mips/compact-eh-el-4.d: Likewise.
* testsuite/gas/mips/compact-eh-el-5.d: Likewise.
* testsuite/gas/mips/compact-eh-el-6.d: Likewise.
* testsuite/gas/mips/loongson-2f-2.d: Likewise.
* testsuite/gas/mips/loongson-2f-3.d: Likewise.
* testsuite/gas/mips/mips-jalx.d: Likewise.
* testsuite/gas/mips/mips64-dsp.d: Likewise.
* testsuite/gas/mips/pcrel-1.d: Likewise.
* testsuite/gas/mips/set-arch.d: Likewise.

ld/
* testsuite/ld-mips-elf/jaloverflow-2.d: Match extra leading
zeros and spaces with addresses as appropriate.
* testsuite/ld-mips-elf/jalx-1.d: Likewise.
* testsuite/ld-mips-elf/reloc-estimate-1.d: Likewise.

(cherry picked from commit ec76a6172f7b6d61f7d76c2bcf766122132116b8)

2 years agotestsuite: Also discard the `.MIPS.options' section
YunQiang Su [Fri, 28 Jul 2023 05:00:36 +0000 (06:00 +0100)] 
testsuite: Also discard the `.MIPS.options' section

Also discard the `.MIPS.options' section, used with n64 MIPS binaries,
along with similar other MIPS sections (`.reginfo', `.MIPS.abiflags')
not relevant for the test cases concerned, fixing these regressions:

mips64-openbsd  -FAIL: ld-elf/group3a
mips64-openbsd  -FAIL: ld-elf/group3b
mips64-openbsd  -FAIL: Place orphan sections (map file check)
mips64-openbsd  -FAIL: ld-elf/orphan-region
mips64-openbsd  -FAIL: ld-elf/orphan
mips64-openbsd  -FAIL: overlay size (map file check)
mips64-openbsd  -FAIL: overlay size
mips64el-openbsd  -FAIL: ld-elf/group3a
mips64el-openbsd  -FAIL: ld-elf/group3b
mips64el-openbsd  -FAIL: Place orphan sections (map file check)
mips64el-openbsd  -FAIL: ld-elf/orphan-region
mips64el-openbsd  -FAIL: ld-elf/orphan
mips64el-openbsd  -FAIL: overlay size (map file check)
mips64el-openbsd  -FAIL: overlay size

Co-Authored-By: Maciej W. Rozycki <macro@orcam.me.uk>
binutils/
* testsuite/binutils-all/strip-3.d: Add `-R .MIPS.options' to
the `strip' tag.

ld/
* testsuite/ld-elf/group.ld: Also discard `.MIPS.options'.
* testsuite/ld-elf/orphan-region.ld: Likewise.
* testsuite/ld-elf/orphan.ld: Likewise.
* testsuite/ld-mips-elf/got-page-1.ld: Likewise.
* testsuite/ld-scripts/overlay-size.t: Likewise.

(cherry picked from commit 60ec8306db150e687fc05870949056bae6c8d635)

2 years agoMIPS/LD/testsuite: Fix MIPS16 interlinking test IRIX 6 regressions
Maciej W. Rozycki [Fri, 28 Jul 2023 05:00:36 +0000 (06:00 +0100)] 
MIPS/LD/testsuite: Fix MIPS16 interlinking test IRIX 6 regressions

IRIX 6 does not have MIPS16 stub section support in its n32 linker
scripts, causing such input sections to be propagated to the respective
output sections rather than `.text', causing dump pattern mismatches.

Expect IRIX 6 to fail with n32 testing then, removing this regression:

mips-sgi-irix6  -FAIL: MIPS16 interlinking for local functions 1 (n32)

We may choose to update IRIX 6 n32 linker scripts sometime, as it seems
a harmless change.

ld/
* testsuite/ld-mips-elf/mips-elf.exp: Expect IRIX 6 to fail with
n32 `mips16-local-stubs-1' testing.

(cherry picked from commit ec3205bbc6f2018c9907bfd6e6c6ae51a2e01432)

2 years agoMIPS/LD/testsuite: Fix MIPS16 interlinking test n64 regressions
YunQiang Su [Fri, 28 Jul 2023 05:00:36 +0000 (06:00 +0100)] 
MIPS/LD/testsuite: Fix MIPS16 interlinking test n64 regressions

The MIPS16 interlinking test for local functions expects to be assembled
with 32-bit addressing, otherwise causing assembly warnings:

.../ld/testsuite/ld-mips-elf/mips16-local-stubs-1.s: Assembler messages:
.../ld/testsuite/ld-mips-elf/mips16-local-stubs-1.s:16: Warning: la used to load 64-bit address; recommend using dla instead

Use the per-ABI framework then to run the test explicitly for o32 and
n32 ABIs only, replacing the `-mips4' option from the `as' tag with
`.module mips4' pseudo-op within the source itself so as to avoid
assembly errors:

Assembler messages:
Error: -mips4 conflicts with the other architecture options, which imply -mips3

with n32 testing for some targets, and ultimately removing these
regressions:

mips64-openbsd  -FAIL: MIPS16 interlinking for local functions 1
mips64el-openbsd  -FAIL: MIPS16 interlinking for local functions 1

Co-Authored-By: Maciej W. Rozycki <macro@orcam.me.uk>
ld/
* testsuite/ld-mips-elf/mips16-local-stubs-1.d: Remove `-mips4'
from the `as' tag.
* testsuite/ld-mips-elf/mips16-local-stubs-1.s: Add `.module
mips4'.
* testsuite/ld-mips-elf/mips-elf.exp: Run `mips16-local-stubs-1'
for o32 and n32 ABIs only.

(cherry picked from commit 3c8ed624caf3317b2155a8c00a7af6a8bb6a3c10)