~ubuntu-support-team/binutils/+git/binutils-gdb:binutils-2_41-release-point

Last commit made on 2023-08-04
Get this branch:
git clone -b binutils-2_41-release-point https://git.launchpad.net/~ubuntu-support-team/binutils/+git/binutils-gdb

Branch merges

Branch information

Name:
binutils-2_41-release-point
Repository:
lp:~ubuntu-support-team/binutils/+git/binutils-gdb

Recent commits

49f6117... by Nick Clifton <email address hidden>

The GNU Binutils 2.41 release

2c73aeb... by Nick Clifton <email address hidden>

The 2.41 release!

50a60b0... by GDB Administrator <email address hidden>

Automatic date update in version.in

47f6803... by GDB Administrator <email address hidden>

Automatic date update in version.in

79426d9... by Jan Beulich <email address hidden>

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.

2e6c8fe... by Tsukasa OI <email address hidden>

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.

24acee2... by YunQiang Su <email address hidden>

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 <email address hidden>

 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)

34e4a7b... by YunQiang Su <email address hidden>

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 <email address hidden>

 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)

0d273e8... by YunQiang Su <email address hidden>

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 <email address hidden>

 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)

af72027... by YunQiang Su <email address hidden>

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 <email address hidden>

 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)