* [binutils-gdb/binutils-2_41-release] 2.41 Release sources
@ 2023-08-02 8:25 Nick Clifton
0 siblings, 0 replies; only message in thread
From: Nick Clifton @ 2023-08-02 8:25 UTC (permalink / raw)
To: bfd-cvs, gdb-cvs
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=675b9d612cc59446e84e2c6d89b45500cb603a8d
commit 675b9d612cc59446e84e2c6d89b45500cb603a8d
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Aug 2 09:23:36 2023 +0100
2.41 Release sources
Diff:
---
ChangeLog | 6 +
ChangeLog.git | 142648 +++++++++++++++++++
bfd/ChangeLog | 32 +-
bfd/bfd-in2.h | 5 -
bfd/bpf-reloc.def | 15 -
bfd/coffcode.h | 12 +-
bfd/config.bfd | 22 +-
bfd/configure | 20 +-
bfd/development.sh | 4 +-
bfd/elf64-bpf.c | 3 -
bfd/elf64-x86-64.c | 39 -
bfd/elfnn-loongarch.c | 67 +-
bfd/elfxx-loongarch.c | 4 +-
bfd/elfxx-riscv.c | 84 +-
bfd/libbfd.h | 2 -
bfd/peXXigen.c | 15 +-
bfd/po/bfd.pot | 277 +-
bfd/reloc.c | 4 -
bfd/section.c | 3 -
bfd/version.h | 2 +-
bfd/version.m4 | 2 +-
binutils/ChangeLog | 25 +-
binutils/NEWS | 3 -
binutils/README-how-to-make-a-release | 87 +-
binutils/bucomm.h | 6 +
binutils/configure | 262 +-
binutils/configure.ac | 248 +-
binutils/doc/binutils.texi | 20 +-
binutils/objcopy.c | 108 +-
binutils/od-elf32_avr.c | 19 +-
binutils/od-macho.c | 1 -
binutils/od-xcoff.c | 1 -
binutils/po/binutils.pot | 2 +-
binutils/readelf.c | 36 +-
binutils/testsuite/binutils-all/objcopy.exp | 7 +-
configure.ac | 2 +-
gas/ChangeLog | 178 +-
gas/Makefile.in | 2 +-
gas/NEWS | 10 -
gas/config/obj-elf.c | 5 +-
gas/config/tc-arc.c | 2 +-
gas/config/tc-bpf.c | 2921 +-
gas/config/tc-bpf.h | 7 +-
gas/config/tc-d10v.c | 4 +-
gas/config/tc-i386.c | 89 -
gas/config/tc-m68hc11.c | 18 +-
gas/config/tc-riscv.c | 59 +-
gas/config/tc-s390.c | 14 +-
gas/config/tc-sh.c | 27 +-
gas/config/tc-sparc.c | 1 -
gas/config/tc-vax.c | 5 +-
gas/config/tc-xtensa.c | 5 +-
gas/config/tc-z80.c | 13 +-
gas/configure | 23 +-
gas/configure.ac | 3 +-
gas/doc/c-bpf.texi | 898 +-
gas/doc/c-i386.texi | 10 +-
gas/doc/local.mk | 2 +-
gas/po/gas.pot | 2 +-
gas/symbols.c | 2 +-
gas/testsuite/gas/all/assign-bad-recursive.d | 1 +
gas/testsuite/gas/all/eqv-dot.d | 2 +-
gas/testsuite/gas/all/gas.exp | 5 +-
gas/testsuite/gas/bpf/alu-be-pseudoc.d | 73 +-
gas/testsuite/gas/bpf/alu-be.d | 75 +-
gas/testsuite/gas/bpf/alu-pseudoc.d | 75 +-
gas/testsuite/gas/bpf/alu-pseudoc.s | 18 +-
gas/testsuite/gas/bpf/alu.d | 75 +-
gas/testsuite/gas/bpf/alu.s | 13 -
gas/testsuite/gas/bpf/alu32-be-pseudoc.d | 66 +-
gas/testsuite/gas/bpf/alu32-be.d | 68 +-
gas/testsuite/gas/bpf/alu32-pseudoc.d | 66 +-
gas/testsuite/gas/bpf/alu32-pseudoc.s | 37 +-
gas/testsuite/gas/bpf/alu32.d | 66 +-
gas/testsuite/gas/bpf/alu32.s | 10 +-
gas/testsuite/gas/bpf/atomic-be.d | 27 +-
gas/testsuite/gas/bpf/atomic-pseudoc.d | 35 +-
gas/testsuite/gas/bpf/atomic-pseudoc.s | 26 +-
gas/testsuite/gas/bpf/atomic.d | 31 +-
gas/testsuite/gas/bpf/atomic.s | 27 +-
gas/testsuite/gas/bpf/bpf.exp | 41 +-
gas/testsuite/gas/bpf/call-be.d | 4 +-
gas/testsuite/gas/bpf/call.d | 4 +-
gas/testsuite/gas/bpf/data-be.d | 2 +-
gas/testsuite/gas/bpf/data.d | 2 +-
gas/testsuite/gas/bpf/exit-be.d | 4 +-
gas/testsuite/gas/bpf/exit.d | 4 +-
gas/testsuite/gas/bpf/indcall-1-pseudoc.d | 24 +-
gas/testsuite/gas/bpf/indcall-1.d | 24 +-
gas/testsuite/gas/bpf/jump-be.d | 7 +-
gas/testsuite/gas/bpf/jump-pseudoc.d | 35 +-
gas/testsuite/gas/bpf/jump-pseudoc.s | 2 -
gas/testsuite/gas/bpf/jump.d | 35 +-
gas/testsuite/gas/bpf/jump.s | 4 +-
gas/testsuite/gas/bpf/jump32-pseudoc.d | 33 +-
gas/testsuite/gas/bpf/jump32.d | 33 +-
gas/testsuite/gas/bpf/lddw-be-pseudoc.d | 19 +-
gas/testsuite/gas/bpf/lddw-be.d | 19 +-
gas/testsuite/gas/bpf/lddw-pseudoc.d | 19 +-
gas/testsuite/gas/bpf/lddw.d | 19 +-
gas/testsuite/gas/bpf/mem-be.d | 17 +-
gas/testsuite/gas/bpf/mem-pseudoc.d | 37 +-
gas/testsuite/gas/bpf/mem-pseudoc.s | 14 +-
gas/testsuite/gas/bpf/mem.d | 37 +-
gas/testsuite/gas/bpf/mem.s | 8 +-
gas/testsuite/gas/i386/avx512f-nondef.d | 8 +-
gas/testsuite/gas/i386/avx512f-nondef.s | 15 -
gas/testsuite/gas/i386/disassem.d | 376 +-
gas/testsuite/gas/i386/disassem.s | 51 +-
gas/testsuite/gas/i386/i386-intel.d | 52 +-
gas/testsuite/gas/i386/i386.d | 52 +-
gas/testsuite/gas/i386/i386.exp | 10 -
gas/testsuite/gas/i386/intel-intel.d | 2 +-
gas/testsuite/gas/i386/intel.d | 2 +-
gas/testsuite/gas/i386/opcode-intel.d | 2 +-
gas/testsuite/gas/i386/opcode-suffix.d | 4 +-
gas/testsuite/gas/i386/opcode.d | 2 +-
gas/testsuite/gas/i386/optimize-1.d | 15 -
gas/testsuite/gas/i386/optimize-1.s | 19 -
gas/testsuite/gas/i386/optimize-1a.d | 15 -
gas/testsuite/gas/i386/optimize-2.d | 4 -
gas/testsuite/gas/i386/optimize-2.s | 6 -
gas/testsuite/gas/i386/optimize-2b.d | 4 -
gas/testsuite/gas/i386/optimize-4.d | 15 -
gas/testsuite/gas/i386/optimize-5.d | 15 -
gas/testsuite/gas/i386/x86-64-disassem.d | 370 +-
gas/testsuite/gas/i386/x86-64-disassem.s | 48 +-
gas/testsuite/gas/i386/x86-64-lkgs-intel.d | 12 +-
gas/testsuite/gas/i386/x86-64-lkgs.d | 12 +-
gas/testsuite/gas/i386/x86-64-optimize-2.d | 19 -
gas/testsuite/gas/i386/x86-64-optimize-2.s | 23 -
gas/testsuite/gas/i386/x86-64-optimize-2a.d | 19 -
gas/testsuite/gas/i386/x86-64-optimize-2b.d | 19 -
gas/testsuite/gas/i386/x86-64-optimize-3.d | 8 -
gas/testsuite/gas/i386/x86-64-optimize-3.s | 11 -
gas/testsuite/gas/i386/x86-64-optimize-3b.d | 8 -
gas/testsuite/gas/i386/x86-64-optimize-5.d | 19 -
gas/testsuite/gas/i386/x86-64-optimize-6.d | 19 -
gas/testsuite/gas/i386/x86-64.exp | 13 -
gas/testsuite/gas/i386/x86_64-intel.d | 48 +-
gas/testsuite/gas/i386/x86_64.d | 48 +-
gas/testsuite/gas/ppc/aix.exp | 11 +-
gas/testsuite/gas/s390/esa-reloc.d | 2 +-
gas/testsuite/gas/sh/err-at.s | 2 -
gold/ChangeLog | 3 +-
gold/object.cc | 45 +-
gold/object.h | 2 +-
gold/po/gold.pot | 10 +-
gold/powerpc.cc | 11 +-
gold/target-reloc.h | 4 +-
gprof/ChangeLog | 5 +
gprof/aarch64.c | 3 +-
gprof/alpha.c | 4 +-
gprof/cg_arcs.c | 7 +-
gprof/configure | 20 +-
gprof/i386.c | 3 -
gprof/mips.c | 2 -
gprof/po/es.po | 84 +-
gprof/po/gprof.pot | 9 +-
gprof/sparc.c | 4 +-
gprof/vax.c | 24 +-
gprofng/configure | 20 +-
gprofng/doc/version.texi | 8 +-
gprofng/libcollector/configure | 20 +-
gprofng/libcollector/iotrace.c | 9 +-
gprofng/src/Command.cc | 12 +-
gprofng/src/gprofng.rc | 4 +-
include/ChangeLog | 32 -
include/coff/internal.h | 2 +-
include/dis-asm.h | 1 -
include/elf/bpf.h | 6 -
include/opcode/riscv-opc.h | 38 -
include/opcode/riscv.h | 16 +-
ld/ChangeLog | 13 +-
ld/configure | 22 +-
ld/configure.ac | 2 +-
ld/emulparams/elf64_s390.sh | 1 -
ld/emulparams/elf_s390.sh | 1 -
ld/emultempl/pdp11.em | 1 -
ld/emultempl/ticoff.em | 1 -
ld/emultempl/vms.em | 1 -
ld/ld.texi | 62 +-
ld/ldctor.c | 1 -
ld/ldelfgen.c | 1 -
ld/ldexp.c | 44 +-
ld/ldexp.h | 20 +-
ld/ldgram.y | 12 +-
ld/ldlang.c | 141 +-
ld/ldlex.l | 2 -
ld/ldmisc.h | 4 +
ld/pe-dll.c | 13 +-
ld/po/ld.pot | 3732 +-
ld/scripttempl/arclinux.sc | 2 +-
ld/scripttempl/elf.sc | 59 +-
ld/scripttempl/elf32msp430.sc | 25 +-
ld/scripttempl/elf64bpf.sc | 2 +-
ld/scripttempl/elf64hppa.sc | 1 -
ld/scripttempl/elf_chaos.sc | 1 -
ld/scripttempl/elfarc.sc | 1 -
ld/scripttempl/elfd10v.sc | 1 -
ld/scripttempl/elfxtensa.sc | 1 -
ld/scripttempl/epiphany_4x4.sc | 2 +-
ld/scripttempl/iq2000.sc | 1 -
ld/scripttempl/mep.sc | 1 -
ld/scripttempl/nds32elf.sc | 2 +-
ld/scripttempl/xstormy16.sc | 1 -
ld/testsuite/ld-bpf/call-1.d | 4 +-
ld/testsuite/ld-bpf/call-2.d | 2 +-
ld/testsuite/ld-bpf/reloc-insn-external-be.d | 4 +-
ld/testsuite/ld-bpf/reloc-insn-external-le.d | 4 +-
ld/testsuite/ld-elf/expr1.t | 2 +-
ld/testsuite/ld-elf/flags1.ld | 2 +-
ld/testsuite/ld-elf/loadaddr.t | 2 +-
ld/testsuite/ld-elf/loadaddr3.t | 2 +-
ld/testsuite/ld-elf/noload-1.t | 2 +-
ld/testsuite/ld-elf/overlay.t | 2 +-
ld/testsuite/ld-elf/pr13839.t | 2 +-
ld/testsuite/ld-elf/pr14052.t | 2 +-
ld/testsuite/ld-elf/pr14156c.t | 2 +-
ld/testsuite/ld-elf/pr19005.t | 2 +-
ld/testsuite/ld-elf/relocatable.t | 2 +-
ld/testsuite/ld-i386/alloc.t | 2 +-
ld/testsuite/ld-i386/ifunc-textrel-1a.d | 2 +-
ld/testsuite/ld-i386/ifunc-textrel-1b.d | 2 +-
ld/testsuite/ld-i386/pr18801a.d | 2 +-
ld/testsuite/ld-i386/pr18801b.d | 2 +-
ld/testsuite/ld-loongarch-elf/local-ifunc-reloc.d | 2 +-
ld/testsuite/ld-pe/image_size.t | 2 +-
ld/testsuite/ld-scripts/empty-address-1.d | 1 -
ld/testsuite/ld-scripts/empty-address-1.t | 2 +-
ld/testsuite/ld-scripts/empty-address-2a.d | 2 +-
ld/testsuite/ld-scripts/empty-address-2a.t | 2 +-
ld/testsuite/ld-scripts/empty-address-2b.d | 2 +-
ld/testsuite/ld-scripts/empty-address-2b.t | 2 +-
ld/testsuite/ld-scripts/empty-address-3a.d | 1 -
ld/testsuite/ld-scripts/empty-address-3a.t | 2 +-
ld/testsuite/ld-scripts/empty-address-3b.d | 1 -
ld/testsuite/ld-scripts/empty-address-3b.t | 2 +-
ld/testsuite/ld-scripts/empty-address-3c.t | 2 +-
ld/testsuite/ld-scripts/empty-address-4.t | 2 +-
ld/testsuite/ld-scripts/phdrs.t | 2 +-
ld/testsuite/ld-scripts/phdrs2.t | 2 +-
ld/testsuite/ld-scripts/phdrs3.t | 2 +-
ld/testsuite/ld-scripts/phdrs3a.t | 2 +-
ld/testsuite/ld-scripts/provide-9.t | 2 +-
ld/testsuite/ld-scripts/sort-file.t | 2 +-
ld/testsuite/ld-scripts/sort.t | 2 +-
ld/testsuite/ld-scripts/sort_b_a.t | 2 +-
ld/testsuite/ld-scripts/sort_b_a_a.t | 2 +-
ld/testsuite/ld-scripts/sort_b_a_n.t | 2 +-
ld/testsuite/ld-scripts/sort_b_n.t | 2 +-
ld/testsuite/ld-scripts/sort_b_n_a.t | 2 +-
ld/testsuite/ld-scripts/sort_b_n_n.t | 2 +-
ld/testsuite/ld-scripts/sort_no.t | 2 +-
ld/testsuite/ld-x86-64/ifunc-textrel-1a.d | 2 +-
ld/testsuite/ld-x86-64/ifunc-textrel-1b.d | 2 +-
ld/testsuite/ld-x86-64/pe-x86-64-5.od | 2 +-
ld/testsuite/ld-x86-64/pe-x86-64-5.rd | 2 +-
ld/testsuite/ld-x86-64/pr18176.t | 2 +-
ld/testsuite/ld-x86-64/pr18801a.d | 2 +-
ld/testsuite/ld-x86-64/pr18801b.d | 2 +-
opcodes/ChangeLog | 49 +-
opcodes/Makefile.am | 15 +
opcodes/Makefile.in | 18 +
opcodes/arc-tbl.h | 2 +-
opcodes/bpf-dis.c | 815 +-
opcodes/bpf-opc.c | 2317 +-
opcodes/configure | 22 +-
opcodes/configure.ac | 2 +-
opcodes/disassemble.c | 44 +-
opcodes/i386-dis-evex-len.h | 28 +-
opcodes/i386-dis-evex-mod.h | 60 +-
opcodes/i386-dis-evex-prefix.h | 22 +-
opcodes/i386-dis-evex-reg.h | 8 +-
opcodes/i386-dis-evex-w.h | 36 +-
opcodes/i386-dis-evex.h | 60 +-
opcodes/i386-dis.c | 2633 +-
opcodes/i386-gen.c | 13 -
opcodes/i386-init.h | 1020 +-
opcodes/i386-mnem.h | 3949 +-
opcodes/i386-opc.h | 15 -
opcodes/i386-opc.tbl | 57 +-
opcodes/i386-tbl.h | 13000 +-
opcodes/po/POTFILES.in | 5 +
opcodes/po/opcodes.pot | 2 +-
opcodes/riscv-dis.c | 16 +-
opcodes/riscv-opc.c | 28 -
src-release.sh | 2 +-
288 files changed, 159152 insertions(+), 20797 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 356ac165782..3f6fa84af70 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2023-07-30 Nick Clifton <nickc@redhat.com>
+
+ This is the 2.41 release.
+ * src-release.sh: Add Changelog.git.
+ * ChangeLog.git: New file.
+
2023-07-03 Nick Clifton <nickc@redhat.com>
2.41 Branch Point.
diff --git a/ChangeLog.git b/ChangeLog.git
new file mode 100644
index 00000000000..41394cc56f0
--- /dev/null
+++ b/ChangeLog.git
@@ -0,0 +1,142648 @@
+2023-07-30 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-29 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-28 Jan Beulich <jbeulich@suse.com>
+
+ 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.
+
+2023-07-28 Tsukasa OI <research_trasio@irq.a4lg.com>
+
+ 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.
+
+2023-07-28 YunQiang Su <yunqiang.su@cipunited.com>
+
+ 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)
+
+2023-07-28 YunQiang Su <yunqiang.su@cipunited.com>
+
+ 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)
+
+2023-07-28 YunQiang Su <yunqiang.su@cipunited.com>
+
+ 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)
+
+2023-07-28 YunQiang Su <yunqiang.su@cipunited.com>
+
+ 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)
+
+2023-07-28 YunQiang Su <yunqiang.su@cipunited.com>
+
+ 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)
+
+2023-07-28 Maciej W. Rozycki <macro@orcam.me.uk>
+
+ 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)
+
+2023-07-28 YunQiang Su <yunqiang.su@cipunited.com>
+
+ 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)
+
+2023-07-28 YunQiang Su <yunqiang.su@cipunited.com>
+
+ MIPS/GAS/testsuite: Force o32 for tests expecting 32-bit addressing
+ A few GAS tests expect to be assembled with 32-bit addressing, otherwise
+ causing an assembly warning:
+
+ .../gas/testsuite/gas/mips/fix-rm7000-2.s:11: Warning: la used to load 64-bit address; recommend using dla instead
+
+ or pattern dump mismatches against 32-bit address calculations, however
+ these tests do not enforce their expectation in any. For none of them
+ the specific ABI used is of any relevance however, so select the o32 ABI
+ unconditionally, removing these failures with OpenBSD targets:
+
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (micromips)
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (mips3)
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (mips4)
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (mips5)
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (mips64)
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (mips64r2)
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (mips64r3)
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (mips64r5)
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (octeon)
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (octeon2)
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (octeon3)
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (octeonp)
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (r4000)
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (sb1)
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (vr5400)
+ mips64-openbsd -FAIL: MIPS RM7000 workarounds test 2 (xlr)
+ mips64-openbsd -FAIL: MIPS-OCTEON octeon_saa_saad (octeon2)
+ mips64-openbsd -FAIL: MIPS-OCTEON octeon_saa_saad (octeon3)
+ mips64-openbsd -FAIL: MIPS-OCTEON octeon_saa_saad (octeonp)
+ mips64-openbsd -FAIL: Full MIPS R5900
+ mips64-openbsd -FAIL: MIPS R5900 VU0
+ mips64-openbsd -FAIL: Paired LL/SC for mips64r6 (mips64r6)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (micromips)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (mips3)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (mips4)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (mips5)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (mips64)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (mips64r2)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (mips64r3)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (mips64r5)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (octeon)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (octeon2)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (octeon3)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (octeonp)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (r4000)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (sb1)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (vr5400)
+ mips64el-openbsd -FAIL: MIPS RM7000 workarounds test 2 (xlr)
+ mips64el-openbsd -FAIL: MIPS-OCTEON octeon_saa_saad (octeon2)
+ mips64el-openbsd -FAIL: MIPS-OCTEON octeon_saa_saad (octeon3)
+ mips64el-openbsd -FAIL: MIPS-OCTEON octeon_saa_saad (octeonp)
+ mips64el-openbsd -FAIL: Full MIPS R5900
+ mips64el-openbsd -FAIL: MIPS R5900 VU0
+ mips64el-openbsd -FAIL: Paired LL/SC for mips64r6 (mips64r6)
+
+ Co-Authored-By: Maciej W. Rozycki <macro@orcam.me.uk>
+
+ gas/
+ * testsuite/gas/mips/fix-rm7000-2.d: Add `-32' to the `as' tag.
+ * testsuite/gas/mips/micromips@fix-rm7000-2.d: Likewise.
+ * testsuite/gas/mips/r5900-full.d: Likewise.
+ * testsuite/gas/mips/r5900-vu0.d: Likewise.
+ * testsuite/gas/mips/llpscp-64.d: Add `as' tag with `-32'.
+ * testsuite/gas/mips/octeon-saa-saad.d: Likewise.
+
+ (cherry picked from commit ce0077a2e724146285c282037a41c68de6c0608d)
+
+2023-07-28 Maciej W. Rozycki <macro@orcam.me.uk>
+
+ MIPS/LD/testsuite: Run `got-dump-1' for o32/n32 ABIs
+ The `got-dump-1' test case uses 32-bit addressing, so it makes no sense
+ to run it with the n64 ABI. And there is a corresponding `got-dump-2'
+ test already for the n64 ABI.
+
+ Use the per-ABI framework then to run the `got-dump-1' test explicitly
+ for o32 and n32 ABIs only.
+
+ ld/
+ * testsuite/ld-mips-elf/mips-elf.exp: Run `got-dump-1' for o32
+ and n32 ABIs only.
+
+ (cherry picked from commit 70116eb5e6c74f9b526b1fec4e39f11238cb6a34)
+
+2023-07-28 Maciej W. Rozycki <macro@orcam.me.uk>
+
+ MIPS/LD/testsuite: Fix `attr-gnu-4-10' failures with OpenBSD targets
+ OpenBSD targets produce ELF64 files while the pattern dump expects ELF32
+ output and specific header sizes. Disable it for `mips64*-*-openbsd*'
+ for these targets then, removing these failures:
+
+ mips64-openbsd -FAIL: ld-mips-elf/attr-gnu-4-10
+ mips64el-openbsd -FAIL: ld-mips-elf/attr-gnu-4-10
+
+ ld/
+ * testsuite/ld-mips-elf/attr-gnu-4-10.d: Add `notarget' tag with
+ `mips64*-*-openbsd*'.
+
+ (cherry picked from commit b50c220d179d239eacd7d7e120f7466e2ea47170)
+
+2023-07-28 Maciej W. Rozycki <macro@orcam.me.uk>
+
+ MIPS/LD/testsuite: Fix `attr-gnu-4-10' failures with IRIX targets
+ IRIX targets do not enable the production of a `.pdr' section in GAS by
+ default, which causes a failure with the `attr-gnu-4-10' test case due
+ to a difference resulting in the number and indices of sections produced
+ in linker output.
+
+ As the presence or absence of this section is not relevant to this test
+ case, just enable it unconditionally, fixing these regressions:
+
+ mips-sgi-irix5 -FAIL: ld-mips-elf/attr-gnu-4-10
+ mips-sgi-irix6 -FAIL: ld-mips-elf/attr-gnu-4-10
+
+ ld/
+ * testsuite/ld-mips-elf/attr-gnu-4-10.d: Add `as' tag with
+ `-mpdr'.
+
+ (cherry picked from commit d4e5281f03764a985b1229e9417a4fd1bebcea17)
+
+2023-07-28 Maciej W. Rozycki <macro@orcam.me.uk>
+
+ MIPS/LD/testsuite: Fix JALR relaxation test failure with IRIX 6
+ The `mips-sgi-irix6' target only supports IRIX linker emulations, but
+ most JALR relaxation tests request the relevant traditional emulation
+ instead, causing a link failure:
+
+ ./ld-new: unrecognised emulation mode: elf32btsmipn32
+ Supported emulations: elf32bmipn32 elf32bsmip elf64bmip
+
+ This is clearly an omission from the conversion to use the per-ABI
+ framework made with commit 78da84f99405 ("MIPS/LD/testsuite: Correct
+ mips-elf.exp test ABI/emul/endian arrangement"). These tests are also
+ endianness agnostic, which was missed in the conversion as well.
+
+ Remove the unnecessary explicit ABI and endianness options then and rely
+ on the per-ABI framework to get things right, removing this regression:
+
+ mips-sgi-irix6 -FAIL: MIPS relax-jalr-shared n32
+
+ ld/
+ * testsuite/ld-mips-elf/relax-jalr-n32-shared.d: Remove flags
+ related to ABI and endianness selection from the `as' and `ld'
+ tags.
+ * testsuite/ld-mips-elf/relax-jalr-n64.d: Likewise.
+ * testsuite/ld-mips-elf/relax-jalr-n64-shared.d: Likewise.
+ * testsuite/ld-mips-elf/mips-elf.exp: Remove `as' and `ld' tag
+ additions from the invocation of JALR relaxation tests.
+
+ (cherry picked from commit 94052ee4ccf0ac64b5f55da59878f13d567ef3cf)
+
+2023-07-28 Maciej W. Rozycki <macro@orcam.me.uk>
+
+ MIPS/LD/testsuite: Fix unaligned JALX failures with OpenBSD targets
+ There are only n64 linker emulations included with `mips64*-*-openbsd*'
+ targets, however the unaligned JALX tests insist on running across all
+ targets and force the n32 ABI, causing link errors with the targets
+ concerned, e.g.:
+
+ ./ld-new: tmpdir/unaligned-jalx-0.o: ABI is incompatible with that of the selected emulation
+ ./ld-new: failed to merge target specific data of file tmpdir/unaligned-jalx-0.o
+ ./ld-new: tmpdir/unaligned-insn.o: ABI is incompatible with that of the selected emulation
+ ./ld-new: failed to merge target specific data of file tmpdir/unaligned-insn.o
+
+ Convert the tests then to use the per-ABI framework and run them for the
+ o32 and n32 ABIs, removing these regressions:
+
+ mips64-openbsd -FAIL: MIPS JALX to unaligned symbol 0
+ mips64-openbsd -FAIL: MIPS JALX to unaligned symbol 1
+ mips64-openbsd -FAIL: MIPS JALX to unaligned symbol 2
+ mips64-openbsd -FAIL: MIPS JALX to unaligned symbol 3
+ mips64-openbsd -FAIL: MIPS16 JALX to unaligned symbol 0
+ mips64-openbsd -FAIL: MIPS16 JALX to unaligned symbol 1
+ mips64-openbsd -FAIL: microMIPS JALX to unaligned symbol 0
+ mips64-openbsd -FAIL: microMIPS JALX to unaligned symbol 1
+ mips64el-openbsd -FAIL: MIPS JALX to unaligned symbol 0
+ mips64el-openbsd -FAIL: MIPS JALX to unaligned symbol 1
+ mips64el-openbsd -FAIL: MIPS JALX to unaligned symbol 2
+ mips64el-openbsd -FAIL: MIPS JALX to unaligned symbol 3
+ mips64el-openbsd -FAIL: MIPS16 JALX to unaligned symbol 0
+ mips64el-openbsd -FAIL: MIPS16 JALX to unaligned symbol 1
+ mips64el-openbsd -FAIL: microMIPS JALX to unaligned symbol 0
+ mips64el-openbsd -FAIL: microMIPS JALX to unaligned symbol 1
+
+ Similar tests for the n64 ABI can be added separately, using suitable
+ dump patterns.
+
+ ld/
+ * testsuite/ld-mips-elf/unaligned-jalx-0.d: Remove `-32' from
+ the `as' tag.
+ * testsuite/ld-mips-elf/unaligned-jalx-1.d: Likewise.
+ * testsuite/ld-mips-elf/unaligned-jalx-2.d: Likewise.
+ * testsuite/ld-mips-elf/unaligned-jalx-3.d: Likewise.
+ * testsuite/ld-mips-elf/unaligned-jalx-mips16-0.d: Likewise.
+ * testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d: Likewise.
+ * testsuite/ld-mips-elf/unaligned-jalx-micromips-0.d: Likewise.
+ * testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d: Likewise.
+ * testsuite/ld-mips-elf/mips-elf.exp: Run unaligned JALX tests
+ with `run_dump_test_o32' and `run_dump_test_n32' rather than
+ `run_dump_test'.
+
+ (cherry picked from commit 67e789ae32fadc540c10839f08ad53ff01e2d732)
+
+2023-07-28 Maciej W. Rozycki <macro@orcam.me.uk>
+
+ MIPS/GAS/testsuite: Disable compact EH #7 tests with OpenBSD targets
+ Compact EH #7 tests use output templates that are not suitable for the
+ n64 ABI, which `mips64*-*-openbsd*' targets use by default, because the
+ contents of the sections examined are expected to be differnt. Disable
+ the tests then, removing these regressions:
+
+ mips64-openbsd -FAIL: Compact EH EB #7 with personality id and fallback FDE
+ mips64-openbsd -FAIL: Compact EH EL #7 with personality id and fallback FDE
+ mips64el-openbsd -FAIL: Compact EH EB #7 with personality id and fallback FDE
+ mips64el-openbsd -FAIL: Compact EH EL #7 with personality id and fallback FDE
+
+ Suitable corresponding tests for the n64 ABI can be added separately.
+
+ gas/
+ * testsuite/gas/mips/compact-eh-eb-7.d: Exclude for
+ `mips64*-*-openbsd*'.
+ * testsuite/gas/mips/compact-eh-el-7.d: Likewise.
+
+ (cherry picked from commit 2b4a60ab59f14a8fc1039c0cea41d22674447c1e)
+
+2023-07-28 YunQiang Su <yunqiang.su@cipunited.com>
+
+ MIPS/LD: Include n64 `.interp' with INITIAL_READONLY_SECTIONS
+ In ld/emulparams/elf64bmip-defs.sh there is no explicit handling of the
+ `.interp' section, which causes it to be positioned in output at an odd
+ place.
+
+ Let's include it with INITIAL_READONLY_SECTIONS, just like o32/n32 do,
+ fixing a regression from commit 5a8e7be242f3 ("INITIAL_READONLY_SECTIONS
+ in elf.sc"), where the handling of n64 was missed due to an unfortunate
+ sequence of events where ld/emulparams/elf64bmip-defs.sh was only added
+ with commit 94bb04b3c611 ("Use .reginfo rather than .MIPS.options in n32
+ linker scripts") the day before.
+
+ Add test cases covering section ordering across the three ABIs. This
+ change also fixes ld/pr23658-2:
+
+ FAIL: Build pr23658-2
+
+ Co-Authored-By: Maciej W. Rozycki <macro@orcam.me.uk>
+
+ ld/ChangeLog:
+ * emulparams/elf64bmip-defs.sh: Include `.interp' with
+ INITIAL_READONLY_SECTIONS.
+ * testsuite/ld-mips-elf/pie-n64.d: Adjust addresses.
+ * testsuite/ld-mips-elf/sections-1-o32.rd: New test.
+ * testsuite/ld-mips-elf/sections-1-o32t.rd: New test.
+ * testsuite/ld-mips-elf/sections-1-n32.rd: New test.
+ * testsuite/ld-mips-elf/sections-1-n32t.rd: New test.
+ * testsuite/ld-mips-elf/sections-1-n32p.rd: New test.
+ * testsuite/ld-mips-elf/sections-1-n64.rd: New test.
+ * testsuite/ld-mips-elf/sections-1-n64t.rd: New test.
+ * testsuite/ld-mips-elf/sections-2-o32.rd: New test.
+ * testsuite/ld-mips-elf/sections-2-o32t.rd: New test.
+ * testsuite/ld-mips-elf/sections-2-n32.rd: New test.
+ * testsuite/ld-mips-elf/sections-2-n32t.rd: New test.
+ * testsuite/ld-mips-elf/sections-2-n32p.rd: New test.
+ * testsuite/ld-mips-elf/sections-2-n64.rd: New test.
+ * testsuite/ld-mips-elf/sections-2-n64t.rd: New test.
+ * testsuite/ld-mips-elf/sections.s: New test source.
+ * testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
+
+ (cherry picked from commit f625926792da741ab196ef71c16e481331965b6f)
+
+2023-07-28 Maciej W. Rozycki <macro@orcam.me.uk>
+
+ Revert "MIPS: support mips*64 as CPU and gnuabi64 as ABI"
+ This reverts commit 32f1c80375ebe8ad25d9805ee5889f0006c51e59. It had
+ two unrelated changes lumped together, one of which changed the meaning
+ of the `mipsisa64*-*-linux*' target triplets, which was not properly
+ evaluated.
+
+ (cherry picked from commit cc66ad2d2a63cec2eaafd7bbc6a9204490816c0b)
+
+2023-07-28 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-27 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-26 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-25 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-24 mengqinggang <mengqinggang@loongson.cn>
+
+ LoongArch: Fix immediate overflow check bug
+ * elfnn-loongarch.c (RELOCATE_CALC_PC32_HI20): Redefined.
+ (RELOCATE_CALC_PC64_HI32): Redefined.
+ * elfxx-loongarch.c (reloc_bits_pcrel20_s2): Delete.
+ (reloc_bits_b16): Delete.
+ (reloc_bits_b21): Delete.
+ (reloc_bits_b26): Delete.
+ (reloc_sign_bits): New.
+
+2023-07-24 Nick Clifton <nickc@redhat.com>
+
+ Updated Serbian translations for bfd, gold and opcodes
+
+2023-07-24 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-23 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-22 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-21 Alan Modra <amodra@gmail.com>
+
+ MIPS: Don't move __gnu_lto_slim to .scommon
+ * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Don't treat
+ __gnu_lto_slim as SHN_MIPS_SCOMMON.
+ (_bfd_mips_elf_add_symbol_hook): Likewise.
+
+2023-07-21 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-20 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-19 Nick Clifton <nickc@redhat.com>
+
+ merged
+
+ Updated Romanian translation for the opcodes directory
+
+ Updated Romainian translation for the opcodes directory
+
+2023-07-19 Alan Modra <amodra@gmail.com>
+
+ [GOLD, PowerPC64] Debug info relocation overflow
+ It is possible to build huge binaries on powerpc64, where 32-bit
+ addresses in debug info are insufficient to descibe locations in the
+ binary. Help out the user, and only warn about debug overflows.
+
+ * powerpc.cc (Target_powerpc::Relocate::relocate): Warn on
+ relocation overflows in debug info.
+
+ (cherry picked from commit 03c02b696e90714a0ae2c0200d3c65cfffcaa1ee)
+
+2023-07-19 Alan Modra <amodra@gmail.com>
+
+ PR10957, Missing option to really print section+offset
+ Many of the reloc error messages have already been converted from
+ using %C to using %H in ld.bfd, to print section+offset as well as
+ file/line/function. This catches a few remaining, and changes gold to
+ do the same.
+
+ PR 10957
+ bfd/
+ * elf32-sh.c (sh_elf_relocate_section): Use %H in error messages.
+ gold/
+ * object.cc (Relocate_info::location): Always report section+offset.
+ * testsuite/debug_msg.sh: Adjust to suit.
+ * testsuite/x32_overflow_pc32.sh: Likewise.
+ * testsuite/x86_64_overflow_pc32.sh: Likewise.
+ ld/
+ * emultempl/pe.em (read_addend): Use %H in error message.
+ * emultempl/pep.em (read_addend): Likewise.
+ * ldcref.c (check_reloc_refs): Likewise.
+ * ldmain.c (warning_find_reloc, undefined_symbol): Likewise.
+ * pe-dll.c (pe_create_import_fixup): Likewise.
+ * testsuite/ld-cris/undef2.d: Adjust expected output to suit.
+ * testsuite/ld-cris/undef3.d: Likewise.
+ * testsuite/ld-elf/shared.exp: Likewise.
+ * testsuite/ld-i386/compressed1.d: Likewise.
+ * testsuite/ld-ia64/line.exp: Likewise.
+ * testsuite/ld-plugin/lto.exp: Likewise.
+ * testsuite/ld-undefined/undefined.exp: Likewise.
+ * testsuite/ld-x86-64/compressed1.d: Likewise.
+ * testsuite/ld-x86-64/line.exp: Likewise.
+ * testsuite/ld-x86-64/pr27587.err: Likewise.
+
+ (cherry picked from commit 02d2a36902c7b0fefe05e8d9bdbf11e846ac71fe)
+
+2023-07-19 Alan Modra <amodra@gmail.com>
+
+ Fix loongarch build with gcc-4.5
+ * loongarch-opc.c (loongarch_alias_opcodes): Don't trigger
+ gcc-4.5 bug in handling of struct initialisation.
+
+ (cherry picked from commit 4993e5cc1e2e1e192f56f5788453c1b6f9cca894)
+
+2023-07-19 Alan Modra <amodra@gmail.com>
+
+ elf_object_p load of dynamic symbols
+ This fixes an uninitialised memory access on a fuzzed file:
+ 0 0xf22e9b in offset_from_vma /src/binutils-gdb/bfd/elf.c:1899:2
+ 1 0xf1e90f in _bfd_elf_get_dynamic_symbols /src/binutils-gdb/bfd/elf.c:2099:13
+ 2 0x10e6a54 in bfd_elf32_object_p /src/binutils-gdb/bfd/elfcode.h:851:9
+
+ Hopefully it will also stop any attempt to load dynamic symbols from
+ eu-strip debug files.
+
+ * elfcode.h (elf_object_p): Do not attempt to load dynamic
+ symbols for a file with no section headers until all the
+ program headers are swapped in. Do not fail on eu-strip debug
+ files.
+
+ (cherry picked from commit 22e90ac5af46c01ee4972cf04e835266862bbb35)
+
+2023-07-19 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-18 Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
+
+ gprofng: 30602 [2.41] gprofng test hangs on i686-linux-gnu
+ There were several problems in the gprofng testing:
+ - we did not catch a timeout for each test.
+ - we used exit() to stop a failed test. But this stops all other tests.
+ - we used a time_t (long) type in smalltest.c instead of a long long type.
+
+ PR gprofng/30602
+ * configure.ac: Launch only native testing.
+ * configure: Rebuild.
+ * testsuite/config/default.exp: Set TEST_TIMEOUT.
+ * testsuite/gprofng.display/setpath_map.exp: Use return instead of exit.
+ * testsuite/gprofng.display/gp-archive.exp: Likewise.
+ * testsuite/gprofng.display/gp-collect-app_F.exp: Likewise.
+ * testsuite/gprofng.display/display.exp: Delete an unnecessary test
+ for native testing.
+ * testsuite/lib/display-lib.exp (run_native_host_cmd): Add timeout.
+ * testsuite/lib/smalltest.c: Use a long long type instead of time_t.
+
+2023-07-18 Nick Clifton <nickc@redhat.com>
+
+ Updated Swedish translation for the binutils subdirectory
+
+2023-07-18 Pter Chubb <peter.chubb@unsw.edu.au>
+
+ PR 30632 - ld segfaults if linker script includes a STARTUP line.
+
+2023-07-18 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-17 Mark Harmstone <mark@harmstone.com>
+
+ ld/PDB: fix off-by-1 in add_globals_ref()
+
+2023-07-17 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-16 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-15 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-14 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-13 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-12 Alan Modra <amodra@gmail.com>
+
+ Re: Keeping track of rs6000-coff archive element pointers
+ bfd/
+ * coff-rs6000.c (add_range): Revise comment, noting possible fail.
+ (_bfd_xcoff_openr_next_archived_file): Start with clean ranges.
+ binutils/
+ * bfdtest1.c: Enhance to catch errors on second scan.
+
+ (cherry picked from commit 1052fb3ecb1ae46bcf22634c48739c12e585196a)
+
+2023-07-12 Alan Modra <amodra@gmail.com>
+
+ Use run_host_cmd to run $CC and other no-section-header test fixes
+ We should be using run_host_cmd everywhere we invoke a compiler in the
+ ld testsuite, if we want to use ld/ld-new just built. run_host_cmd
+ properly inserts $gcc_B_opt in cases where a user wants to test
+ binutils with a newly built compiler, ie. when $CC specifies -B itself.
+
+ Also, it is not good practice to exclude tests when non-native except
+ of course those tests that run a target binary. Compiling and linking
+ often shows up problems.
+
+ * testsuite/ld-elf/no-section-header.exp (binutils_run_test):
+ Use run_host_cmd to invoke $CC_FOR_TARGET. Run all tests
+ non-native too, except for attempting to run the binaries.
+ Run tests for ELF in general, not just linux.
+ * testsuite/ld-elf/pr25617-1-no-sec-hdr.rd: Allow localentry
+ symbol decoration, and support either sorting of symbols.
+ * testsuite/ld-elf/pr25617-1a-no-sec-hdr.rd: Likewise.
+ * testsuite/ld-elf/pr25617-1a-sec-hdr.rd: Likewise.
+ * testsuite/ld-elf/pr25617-1a-no-sec-hdr.nd: Accept D function syms.
+ * testsuite/ld-elf/start-shared-noheader-sysv.rd: Accept
+ mips-sgi-irix symbol output.
+ * testsuite/ld-elf/start-shared-noheader.nd: Likewise.
+
+ (cherry picked from commit 46f51ac38b81df4bf890e13824427c69285fdcaa)
+
+2023-07-12 YunQiang Su <yunqiang.su@cipunited.com>
+
+ ld: Use run_host_cmd_yesno in indirect.exp instead of catch exec
+ Catch "exec $CC_FOR_TARGET" won't use the gas/ld that we just build,
+ and in fact run_host_cmd_yesno is a better choice for it.
+
+ ld/ChangeLog:
+
+ * testsuite/ld-elf/indirect.exp: use run_host_cmd_yesno
+ instead of handwrite catch exec $CC_FOR_TARGET.
+
+ (cherry picked from commit 0f5cb49f68ae1be4b9702e71c3a9b80ee46b310a)
+
+2023-07-12 YunQiang Su <yunqiang.su@cipunited.com>
+
+ ld: Use [list ] syntax to define run_tests in indirect.exp
+ Currently, the var run_tests is defined by syntax {{}},
+ while in this case, variables cannot be used.
+ Thus $NOPIE_CFLAGS and $NOPIE_LDFLAGS are passed to cmd as names
+ instead of values:
+ gcc ... $NOPIE_CFLAGS -c .../indirect5a.c -o tmpdir/indirect5a.o
+
+ Let's use [list [list ]] syntax instead.
+
+ ld/ChangeLog:
+
+ * testsuite/ld-elf/indirect.exp(run_tests): use [list [list]]
+ syntax instead of {{}}.
+
+ (cherry picked from commit 96a73f2cb2a1b4c47e49ff194a94f7394308956b)
+
+2023-07-12 Alan Modra <amodra@gmail.com>
+
+ Re: Stop the linker's --dependency-file option from including temporary lto files.
+ PR 30568
+ * ldfile.c (ldfile_try_open_bfd): Fix build failure when
+ !BFD_SUPPORTS_PLUGINS.
+
+ (cherry picked from commit 5f60df9974516867c02562b56c3a98cf4714a915)
+
+2023-07-12 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-11 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-10 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-09 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-08 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-07 Nick Clifton <nickc@redhat.com>
+
+ Replace local variable called 'rename' with 'renamed'
+
+ Udated Freach and Romainian translations for various sub-directories
+
+2023-07-07 YunQiang Su <yunqiang.su@cipunited.com>
+
+ ld: fix plugin tests for MIPS PIC
+ On MIPS, for PIC objects, symbols may reference 2 times:
+ once from the caller, and once from GOT.
+ Thus ld may complains 2 times about "undefined reference".
+
+ So we add a new "#?" line to every effected testsuite.
+
+2023-07-07 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-06 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-05 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-04 Nick Clifton <nickc@redhat.com>
+
+ Updated Ukranian, Romanian and German translations for various sub-directories
+
+2023-07-04 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-03 Nick Clifton <nickc@redhat.com>
+
+ Change version number to 2.40.90 and regenerate files
+
+ Add markers for the 2.41 branch
+
+2023-07-03 WANG Xuerui <git@xen0n.name>
+
+ gas: NEWS: Announce LoongArch changes in the 2.41 cycle
+ gas/ChangeLog:
+
+ * NEWS: Mention LoongArch changes for 2.41.
+
+2023-07-03 WANG Xuerui <git@xen0n.name>
+
+ binutils: NEWS: Announce LoongArch changes in the 2.41 cycle
+ binutils/ChangeLog:
+
+ * NEWS: Mention LoongArch changes for 2.41.
+
+2023-07-03 WANG Xuerui <git@xen0n.name>
+
+ LoongArch: gas: Fix shared builds
+ Formerly an include of libbfd.h was added in commit 56576f4a722
+ ("LoongArch: gas: Add support for linker relaxation."), in order to
+ allow calling _bfd_read_unsigned_leb128 from gas, but doing so broke
+ shared builds. Commit d2fddb6d783 fixed this reference but did not
+ remove the now unnecessary inclusion of libbfd.h. The gas_assert macro
+ expands into a conditional call to abort(), but "abort" is re-defined to
+ _bfd_abort in libbfd.h, so the extra include breaks any gas_assert
+ usage, and should be removed.
+
+ gas/ChangeLog:
+
+ * config/tc-loongarch.c: Don't include libbfd.h.
+
+ Fixes: d2fddb6d783 ("LoongArch: Fix ld "undefined reference" error with --enable-shared")
+
+2023-07-03 WANG Xuerui <git@xen0n.name>
+
+ opcodes/loongarch: Mark address offset operands of LVZ/LBT insns as such
+ opcodes/ChangeLog:
+
+ * loongarch-opc.c: Mark the offset operands as "so" for
+ {,x}v{ld,st}, {,x}v{ldrepl,stelm}.[bhwd], and {ld,st}[lr].[wd].
+
+2023-07-03 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-02 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-07-01 Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
+
+ gprofng: fix data race
+ In our GUI project (https://savannah.gnu.org/projects/gprofng-gui), we use
+ the output of gprofng to display the data. Sometimes this data is corrupted.
+
+ gprofng/ChangeLog
+ 2023-06-29 Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
+
+ * src/ipc.cc (ipc_doWork): Fix data race.
+ * src/ipcio.cc (IPCresponse::print): Fix data race.
+ Remove unused variables and functions.
+ * src/ipcio.h: Declare two variables.
+ * src/StringBuilder.cc (StringBuilder::write): New function.
+ * src/StringBuilder.h: Likewise.
+
+2023-07-01 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ binutils: NEWS: Announce new RISC-V vector crypto extensions
+ This commit adds the recently added support of the RISC-V vector crypto
+ extensions to the NEWS file.
+
+ binutils/ChangeLog:
+
+ * NEWS: Announce new RISC-V vector crypto extensions.
+
+2023-07-01 Nathan Huckleberry <nhuck@google.com>
+
+ RISC-V: Add support for the Zvksc ISA extension
+ Zvksc is part of the vector crypto extensions.
+
+ Zvksc is shorthand for the following set of extensions:
+ - Zvks
+ - Zvbc
+
+ bfd/ChangeLog:
+
+ * elfxx-riscv.c: Define Zvksc extension.
+
+ gas/ChangeLog:
+
+ * testsuite/gas/riscv/zvksc.d: New test.
+ * testsuite/gas/riscv/zvksc.s: New test.
+
+2023-07-01 Nathan Huckleberry <nhuck@google.com>
+
+ RISC-V: Add support for the Zvknc ISA extension
+ Zvknc is part of the vector crypto extensions.
+
+ Zvknc is shorthand for the following set of extensxions:
+ - Zvkn
+ - Zvbc
+
+ bfd/ChangeLog:
+
+ * elfxx-riscv.c: Define Zvknc extension.
+
+ gas/ChangeLog:
+
+ * testsuite/gas/riscv/zvknc.d: New test.
+ * testsuite/gas/riscv/zvknc.s: New test.
+
+2023-07-01 Nathan Huckleberry <nhuck@google.com>
+
+ RISC-V: Add support for the Zvksg ISA extension
+ Zvksg is part of the vector crypto extensions.
+
+ Zvksg is shorthand for the following set of extensions:
+ - Zvks
+ - Zvkg
+
+ bfd/ChangeLog:
+
+ * elfxx-riscv.c: Define Zvksg extension.
+
+ gas/ChangeLog:
+
+ * testsuite/gas/riscv/zvksg.d: New test.
+ * testsuite/gas/riscv/zvksg.s: New test.
+
+2023-07-01 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ RISC-V: Add support for the Zvks ISA extension
+ Zvks is part of the vector crypto extensions.
+
+ Zvks is shorthand for the following set of extensions:
+ - Zvksed
+ - Zvksh
+ - Zvbb
+ - Zvkt
+
+ bfd/ChangeLog:
+
+ * elfxx-riscv.c: Define Zvks extension.
+
+ gas/ChangeLog:
+
+ * testsuite/gas/riscv/zvks.d: New test.
+ * testsuite/gas/riscv/zvks.s: New test.
+
+2023-07-01 Nathan Huckleberry <nhuck@google.com>
+
+ RISC-V: Add support for the Zvkng ISA extension
+ Zvkng is part of the vector crypto extensions.
+
+ Zvkng is shorthand for the following set of extensions:
+ - Zvkn
+ - Zvkg
+
+ bfd/ChangeLog:
+
+ * elfxx-riscv.c: Define Zvkng extension.
+
+ gas/ChangeLog:
+
+ * testsuite/gas/riscv/zvkng.d: New test.
+ * testsuite/gas/riscv/zvkng.s: New test.
+
+2023-07-01 Nathan Huckleberry <nhuck@google.com>
+
+ RISC-V: Allow nested implications for extensions
+ Certain extensions require two levels of implications. For example,
+ zvkng implies zvkn and zvkn implies zvkned. Enabling zvkng should also
+ enable zvkned.
+
+ This patch fixes this behavior.
+
+ bfd/ChangeLog:
+
+ * elfxx-riscv.c (riscv_parse_add_implicit_subsets): Allow nested
+ implications for extensions.
+
+2023-07-01 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ RISC-V: Add support for the Zvkn ISA extension
+ Zvkn is part of the vector crypto extensions.
+
+ Zvkn is shorthand for the following set of extensions:
+ - Zvkned
+ - Zvknhb
+ - Zvbb
+ - Zvkt
+
+ bfd/ChangeLog:
+
+ * elfxx-riscv.c: Define Zvkn extension.
+
+ gas/ChangeLog:
+
+ * testsuite/gas/riscv/zvkn.d: New test.
+ * testsuite/gas/riscv/zvkn.s: New test.
+
+2023-07-01 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ RISC-V: Add support for the Zvksh ISA extension
+ Zvksh is part of the vector crypto extensions.
+
+ This extension adds the following instructions:
+ - vsm3me.vv
+ - vsm3c.vi
+
+ bfd/ChangeLog:
+
+ * elfxx-riscv.c (riscv_multi_subset_supports): Add instruction
+ class support for Zvksh.
+ (riscv_multi_subset_supports_ext): Likewise.
+
+ gas/ChangeLog:
+
+ * testsuite/gas/riscv/zvksh.d: New test.
+ * testsuite/gas/riscv/zvksh.s: New test.
+
+ include/ChangeLog:
+
+ * opcode/riscv-opc.h (MATCH_VSM3C_VI): New.
+ (MASK_VSM3C_VI): New.
+ (MATCH_VSM3ME_VV): New.
+ (MASK_VSM3ME_VV): New.
+ (DECLARE_INSN): New.
+ * opcode/riscv.h (enum riscv_insn_class): Add instruction class
+ support for Zvksh.
+
+ opcodes/ChangeLog:
+
+ * riscv-opc.c: Add Zvksh instructions.
+
+2023-07-01 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ RISC-V: Add support for the Zvksed ISA extension
+ Zvksed is part of the vector crypto extensions.
+
+ This extension adds the following instructions:
+ - vsm4k.vi
+ - vsm4r.[vv,vs]
+
+ bfd/ChangeLog:
+
+ * elfxx-riscv.c (riscv_multi_subset_supports): Add instruction
+ class support for Zvksed.
+ (riscv_multi_subset_supports_ext): Likewise.
+
+ gas/ChangeLog:
+
+ * testsuite/gas/riscv/zvksed.d: New test.
+ * testsuite/gas/riscv/zvksed.s: New test.
+
+ include/ChangeLog:
+
+ * opcode/riscv-opc.h (MATCH_VSM4K_VI): New.
+ (MASK_VSM4K_VI): New.
+ (MATCH_VSM4R_VS): New.
+ (MASK_VSM4R_VS): New.
+ (MATCH_VSM4R_VV): New.
+ (MASK_VSM4R_VV): New.
+ (DECLARE_INSN): New.
+ * opcode/riscv.h (enum riscv_insn_class): Add instruction class
+ support for Zvksed.
+
+ opcodes/ChangeLog:
+
+ * riscv-opc.c: Add Zvksed instructions.
+
+2023-07-01 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ RISC-V: Add support for the Zvknh[a,b] ISA extensions
+ Zvknh[a,b] are parts of the vector crypto extensions.
+
+ This extension adds the following instructions:
+ - vsha2ms.vv
+ - vsha2c[hl].vv
+
+ bfd/ChangeLog:
+
+ * elfxx-riscv.c (riscv_multi_subset_supports): Add instruction
+ class support for Zvknh[a,b].
+ (riscv_multi_subset_supports_ext): Likewise.
+
+ gas/ChangeLog:
+
+ * testsuite/gas/riscv/zvknha.d: New test.
+ * testsuite/gas/riscv/zvknha_zvknhb.s: New test.
+ * testsuite/gas/riscv/zvknhb.d: New test.
+
+ include/ChangeLog:
+
+ * opcode/riscv-opc.h (MATCH_VSHA2CH_VV): New.
+ (MASK_VSHA2CH_VV): New.
+ (MATCH_VSHA2CL_VV): New.
+ (MASK_VSHA2CL_VV): New.
+ (MATCH_VSHA2MS_VV): New.
+ (MASK_VSHA2MS_VV): New.
+ (DECLARE_INSN): New.
+ * opcode/riscv.h (enum riscv_insn_class): Add instruction class
+ support for Zvknh[a,b].
+
+ opcodes/ChangeLog:
+
+ * riscv-opc.c: Add Zvknh[a,b] instructions.
+
+2023-07-01 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ RISC-V: Add support for the Zvkned ISA extension
+ Zvkned is part of the vector crypto extensions.
+
+ This extension adds the following instructions:
+ - vaesef.[vv,vs]
+ - vaesem.[vv,vs]
+ - vaesdf.[vv,vs]
+ - vaesdm.[vv,vs]
+ - vaeskf1.vi
+ - vaeskf2.vi
+ - vaesz.vs
+
+ bfd/ChangeLog:
+
+ * elfxx-riscv.c (riscv_multi_subset_supports): Add instruction
+ class support for Zvkned.
+ (riscv_multi_subset_supports_ext): Likewise.
+
+ gas/ChangeLog:
+
+ * testsuite/gas/riscv/zvkned.d: New test.
+ * testsuite/gas/riscv/zvkned.s: New test.
+
+ include/ChangeLog:
+
+ * opcode/riscv-opc.h (MATCH_VAESDF_VS): New.
+ (MASK_VAESDF_VS): New.
+ (MATCH_VAESDF_VV): New.
+ (MASK_VAESDF_VV): New.
+ (MATCH_VAESDM_VS): New.
+ (MASK_VAESDM_VS): New.
+ (MATCH_VAESDM_VV): New.
+ (MASK_VAESDM_VV): New.
+ (MATCH_VAESEF_VS): New.
+ (MASK_VAESEF_VS): New.
+ (MATCH_VAESEF_VV): New.
+ (MASK_VAESEF_VV): New.
+ (MATCH_VAESEM_VS): New.
+ (MASK_VAESEM_VS): New.
+ (MATCH_VAESEM_VV): New.
+ (MASK_VAESEM_VV): New.
+ (MATCH_VAESKF1_VI): New.
+ (MASK_VAESKF1_VI): New.
+ (MATCH_VAESKF2_VI): New.
+ (MASK_VAESKF2_VI): New.
+ (MATCH_VAESZ_VS): New.
+ (MASK_VAESZ_VS): New.
+ (DECLARE_INSN): New.
+ * opcode/riscv.h (enum riscv_insn_class): Add instruction class
+ support for Zvkned.
+
+ opcodes/ChangeLog:
+
+ * riscv-opc.c: Add Zvkned instructions.
+
+2023-07-01 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ RISC-V: Add support for the Zvkg ISA extension
+ Zvkg is part of the vector crypto extensions.
+
+ This extension adds the following instructions:
+ - vghsh.vv
+ - vgmul.vv
+
+ bfd/ChangeLog:
+
+ * elfxx-riscv.c (riscv_multi_subset_supports): Add instruction
+ class support for Zvkg.
+ (riscv_multi_subset_supports_ext): Likewise.
+
+ gas/ChangeLog:
+
+ * testsuite/gas/riscv/zvkg.d: New test.
+ * testsuite/gas/riscv/zvkg.s: New test.
+
+ include/ChangeLog:
+
+ * opcode/riscv-opc.h (MATCH_VGHSH_VV): New.
+ (MASK_VGHSH_VV): New.
+ (MATCH_VGMUL_VV): New.
+ (MASK_VGMUL_VV): New.
+ (DECLARE_INSN): New.
+ * opcode/riscv.h (enum riscv_insn_class): Add instruction class
+ support for Zvkg.
+
+ opcodes/ChangeLog:
+
+ * riscv-opc.c: Add Zvkg instructions.
+
+2023-07-01 Nathan Huckleberry <nhuck@google.com>
+
+ RISC-V: Add support for the Zvbc extension
+ Zvbc is part of the crypto vector extensions.
+
+ This extension adds the following instructions:
+ - vclmul.[vv,vx]
+ - vclmulh.[vv,vx]
+
+ bfd/ChangeLog:
+
+ * elfxx-riscv.c (riscv_multi_subset_supports): Add instruction
+ class support for Zvbc.
+ (riscv_multi_subset_supports_ext): Likewise.
+
+ gas/ChangeLog:
+
+ * testsuite/gas/riscv/zvbc.d: New test.
+ * testsuite/gas/riscv/zvbc.s: New test.
+
+ include/ChangeLog:
+
+ * opcode/riscv-opc.h (MATCH_VCLMUL_VV): New.
+ (MASK_VCLMUL_VV): New.
+ (MATCH_VCLMUL_VX): New.
+ (MASK_VCLMUL_VX): New.
+ (MATCH_VCLMULH_VV): New.
+ (MASK_VCLMULH_VV): New.
+ (MATCH_VCLMULH_VX): New.
+ (MASK_VCLMULH_VX): New.
+ (DECLARE_INSN): New.
+ * opcode/riscv.h (enum riscv_insn_class): Add instruction class
+ support for Zvbc.
+
+ opcodes/ChangeLog:
+
+ * riscv-opc.c: Add Zvbc instruction.
+
+2023-07-01 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ RISC-V: Add support for the Zvbb ISA extension
+ Zvbb is part of the vector crypto extensions.
+
+ This extension adds the following instructions:
+ - vandn.[vv,vx]
+ - vbrev.v
+ - vbrev8.v
+ - vrev8.v
+ - vclz.v
+ - vctz.v
+ - vcpop.v
+ - vrol.[vv,vx]
+ - vror.[vv,vx,vi]
+ - vwsll.[vv,vx,vi]
+
+ bfd/ChangeLog:
+
+ * elfxx-riscv.c (riscv_multi_subset_supports): Add instruction
+ class support for Zvbb.
+ (riscv_multi_subset_supports_ext): Likewise.
+
+ gas/ChangeLog:
+
+ * config/tc-riscv.c (validate_riscv_insn): Add 'l' as new format
+ string directive.
+ (riscv_ip): Likewise.
+ * testsuite/gas/riscv/zvbb.d: New test.
+ * testsuite/gas/riscv/zvbb.s: New test.
+
+ include/ChangeLog:
+
+ * opcode/riscv-opc.h (MATCH_VANDN_VV): New.
+ (MASK_VANDN_VV): New.
+ (MATCH_VANDN_VX): New.
+ (MASK_VANDN_VX): New.
+ (MATCH_VBREV8_V): New.
+ (MASK_VBREV8_V): New.
+ (MATCH_VBREV_V): New.
+ (MASK_VBREV_V): New.
+ (MATCH_VCLZ_V): New.
+ (MASK_VCLZ_V): New.
+ (MATCH_VCPOP_V): New.
+ (MASK_VCPOP_V): New.
+ (MATCH_VCTZ_V): New.
+ (MASK_VCTZ_V): New.
+ (MATCH_VREV8_V): New.
+ (MASK_VREV8_V): New.
+ (MATCH_VROL_VV): New.
+ (MASK_VROL_VV): New.
+ (MATCH_VROL_VX): New.
+ (MASK_VROL_VX): New.
+ (MATCH_VROR_VI): New.
+ (MASK_VROR_VI): New.
+ (MATCH_VROR_VV): New.
+ (MASK_VROR_VV): New.
+ (MATCH_VROR_VX): New.
+ (MASK_VROR_VX): New.
+ (MATCH_VWSLL_VI): New.
+ (MASK_VWSLL_VI): New.
+ (MATCH_VWSLL_VV): New.
+ (MASK_VWSLL_VV): New.
+ (MATCH_VWSLL_VX): New.
+ (MASK_VWSLL_VX): New.
+ (DECLARE_INSN): New.
+ * opcode/riscv.h (EXTRACT_RVV_VI_UIMM6): New.
+ (ENCODE_RVV_VI_UIMM6): New.
+ (enum riscv_insn_class): Add instruction class for Zvbb.
+
+ opcodes/ChangeLog:
+
+ * riscv-dis.c (print_insn_args): Add 'l' as new format string
+ directive.
+ * riscv-opc.c: Add Zvbb instructions.
+
+2023-07-01 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-06-30 Tom Tromey <tom@tromey.com>
+
+ Fix regressions caused by agent expression C++-ification
+ Simon pointed out that my agent expression C++-ification patches
+ caused a regression with the native-gdbserver target board. The bug
+ is that append_const is supposed to write in big-endian order, but I
+ switched this by mistake.
+
+2023-06-30 Philipp Tomsich <philipp.tomsich@vrull.eu>
+
+ binutils: NEWS: announce new RISC-V extensions
+ We picked up support for a few new extensions over the last weeks
+ (this may need further updating prior to the next release), list them
+ in the NEWS file.
+
+ binutils/ChangeLog:
+
+ * binutils/NEWS: announce suuport for the new RISC-V
+ extensions (Zicond, Zfa, XVentanaCondOps).
+
+2023-06-30 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ RISC-V: Add support for the Zfa extension
+ This patch adds support for the RISC-V Zfa extension,
+ which introduces additional floating-point instructions:
+ * fli (load-immediate) with pre-defined immediates
+ * fminm/fmaxm (like fmin/fmax but with different NaN behaviour)
+ * fround/froundmx (round to integer)
+ * fcvtmod.w.d (Modular Convert-to-Integer)
+ * fmv* to access high bits of FP registers in case XLEN < FLEN
+ * fleq/fltq (quiet comparison instructions)
+
+ Zfa defines its instructions in combination with the following
+ extensions:
+ * single-precision floating-point (F)
+ * double-precision floating-point (D)
+ * quad-precision floating-point (Q)
+ * half-precision floating-point (Zfh)
+
+ This patch is based on an earlier version from Tsukasa OI:
+ https://sourceware.org/pipermail/binutils/2022-September/122939.html
+ Most significant change to that commit is the switch from the rs1-field
+ value to the actual floating-point value in the last operand of the fli*
+ instructions. Everything that strtof() can parse is accepted and
+ the '%a' printf specifier is used to output hex floating-point literals
+ in the disassembly.
+
+ The Zfa specification is frozen (and has passed public review). It is
+ available as a chapter in "The RISC-V Instruction Set Manual: Volume 1":
+ https://github.com/riscv/riscv-isa-manual/releases
+
+ bfd/ChangeLog:
+
+ * elfxx-riscv.c (riscv_multi_subset_supports): Add instruction
+ class support for 'Zfa' extension.
+ (riscv_multi_subset_supports_ext): Likewise.
+ (riscv_implicit_subsets): Add 'Zfa' -> 'F' dependency.
+
+ gas/ChangeLog:
+
+ * config/tc-riscv.c (flt_lookup): New helper to lookup a float value
+ in an array.
+ (validate_riscv_insn): Add 'Wfv' as new format string directive.
+ (riscv_ip): Likewise.
+ * doc/c-riscv.texi: Add floating-point chapter and describe
+ limiations of the Zfa FP literal parsing.
+ * testsuite/gas/riscv/zfa-32.d: New test.
+ * testsuite/gas/riscv/zfa-32.s: New test.
+ * testsuite/gas/riscv/zfa-64.d: New test.
+ * testsuite/gas/riscv/zfa-64.s: New test.
+ * testsuite/gas/riscv/zfa-fail.d: New test.
+ * testsuite/gas/riscv/zfa-fail.l: New test.
+ * testsuite/gas/riscv/zfa-fail.s: New test.
+ * testsuite/gas/riscv/zfa.d: New test.
+ * testsuite/gas/riscv/zfa.s: New test.
+ * testsuite/gas/riscv/zfa.s: New test.
+
+ * opcode/riscv-opc.h (MATCH_FLI_H): New.
+ (MASK_FLI_H): New.
+ (MATCH_FMINM_H): New.
+ (MASK_FMINM_H): New.
+ (MATCH_FMAXM_H): New.
+ (MASK_FMAXM_H): New.
+ (MATCH_FROUND_H): New.
+ (MASK_FROUND_H): New.
+ (MATCH_FROUNDNX_H): New.
+ (MASK_FROUNDNX_H): New.
+ (MATCH_FLTQ_H): New.
+ (MASK_FLTQ_H): New.
+ (MATCH_FLEQ_H): New.
+ (MASK_FLEQ_H): New.
+ (MATCH_FLI_S): New.
+ (MASK_FLI_S): New.
+ (MATCH_FMINM_S): New.
+ (MASK_FMINM_S): New.
+ (MATCH_FMAXM_S): New.
+ (MASK_FMAXM_S): New.
+ (MATCH_FROUND_S): New.
+ (MASK_FROUND_S): New.
+ (MATCH_FROUNDNX_S): New.
+ (MASK_FROUNDNX_S): New.
+ (MATCH_FLTQ_S): New.
+ (MASK_FLTQ_S): New.
+ (MATCH_FLEQ_S): New.
+ (MASK_FLEQ_S): New.
+ (MATCH_FLI_D): New.
+ (MASK_FLI_D): New.
+ (MATCH_FMINM_D): New.
+ (MASK_FMINM_D): New.
+ (MATCH_FMAXM_D): New.
+ (MASK_FMAXM_D): New.
+ (MATCH_FROUND_D): New.
+ (MASK_FROUND_D): New.
+ (MATCH_FROUNDNX_D): New.
+ (MASK_FROUNDNX_D): New.
+ (MATCH_FLTQ_D): New.
+ (MASK_FLTQ_D): New.
+ (MATCH_FLEQ_D): New.
+ (MASK_FLEQ_D): New.
+ (MATCH_FLI_Q): New.
+ (MASK_FLI_Q): New.
+ (MATCH_FMINM_Q): New.
+ (MASK_FMINM_Q): New.
+ (MATCH_FMAXM_Q): New.
+ (MASK_FMAXM_Q): New.
+ (MATCH_FROUND_Q): New.
+ (MASK_FROUND_Q): New.
+ (MATCH_FROUNDNX_Q): New.
+ (MASK_FROUNDNX_Q): New.
+ (MATCH_FLTQ_Q): New.
+ (MASK_FLTQ_Q): New.
+ (MATCH_FLEQ_Q): New.
+ (MASK_FLEQ_Q): New.
+ (MATCH_FCVTMOD_W_D): New.
+ (MASK_FCVTMOD_W_D): New.
+ (MATCH_FMVH_X_D): New.
+ (MASK_FMVH_X_D): New.
+ (MATCH_FMVH_X_Q): New.
+ (MASK_FMVH_X_Q): New.
+ (MATCH_FMVP_D_X): New.
+ (MASK_FMVP_D_X): New.
+ (MATCH_FMVP_Q_X): New.
+ (MASK_FMVP_Q_X): New.
+ (DECLARE_INSN): New.
+ * opcode/riscv.h (enum riscv_insn_class): Add instruction
+ classes for the Zfa extension.
+
+ opcodes/ChangeLog:
+
+ * riscv-dis.c (print_insn_args): Add support for
+ new format string directive 'Wfv'.
+ * riscv-opc.c: Add Zfa instructions.
+
+ Co-Developed-by: Tsukasa OI <research_trasio@irq.a4lg.com>
+ Co-Developed-by: Philipp Tomsich <philipp.tomsich@vrull.eu>
+ Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
+
+2023-06-30 Nick Clifton <nickc@redhat.com>
+
+ strings: Improve code to detect excessively large minimum string lengths.
+ PR 30598
+ * strings.c (set_string_min): New function. (main): Use it. (print_unicode_stream): Calculate buffer size using a size_t.
+
+ Prevent an illegal memory access when running the strings program with an excessively lerge minimum string length.
+ PR 30595
+ * strings.c (main): Check for an excessively large minimum string length.
+
+ Fix used-before-initialized warnings when compiling elf.c with Clang-16.
+
+2023-06-30 mengqinggang <mengqinggang@loongson.cn>
+
+ LoongArch: gas: Fix code style issues
+ Blocks of 8 spaces be replaced with tabs.
+ Fix alignment issues.
+
+2023-06-30 mengqinggang <mengqinggang@loongson.cn>
+
+ LoongArch: gas: Add LVZ and LBT instructions support
+ gas/ChangeLog:
+ * config/tc-loongarch.c (md_parse_option): Add LARCH_opts.ase_lvz and
+ LARCH_opts.ase_lbt.
+ * testsuite/gas/loongarch/uleb128.d: Regenerated.
+ * testsuite/gas/loongarch/lvz-lbt.d: New test.
+ * testsuite/gas/loongarch/lvz-lbt.s: New test.
+
+ include/ChangeLog:
+ * opcode/loongarch.h (ase_lvz): New.
+ (ase_lbt): New.
+
+ opcodes/ChangeLog:
+ * loongarch-dis.c (set_default_loongarch_dis_options): Add
+ LARCH_opts.ase_lvz and LARCH_opts.ase_lbt.
+ * loongarch-opc.c (struct loongarch_ase): Add LVZ and LBT instructions.
+
+2023-06-30 WANG Xuerui <git@xen0n.name>
+
+ LoongArch: Deprecate $v[01], $fv[01] and $x names per spec
+ As outlined in the LoongArch ELF psABI spec [1], it is actually already
+ 2 versions after the initial LoongArch support, and the $v[01] and
+ $fv[01] names should really get sunset by now.
+
+ In addition, the "$x" name for $r21 was never included in any released
+ version of the ABI spec, and such usages are all fixed to say just $r21
+ for every project I could think of that accepted a LoongArch port.
+
+ Plus, the upcoming LSX/LASX support makes use of registers named
+ "$vrNN" and "$xrNN", so having "$vN" and "$x" alongside would almost
+ certainly create confusion for developers.
+
+ Issue warnings for such usages per the deprecation procedure detailed
+ in the spec, so we can finally remove support in the next release cycle
+ after this.
+
+ [1]: https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html
+
+ gas/ChangeLog:
+
+ * config/tc-loongarch.c: Init canonical register ABI name
+ mappings and deprecated register names.
+ (loongarch_args_parser_can_match_arg_helper): Warn in case of
+ deprecated register name usage.
+ * testsuite/gas/loongarch/deprecated_reg_aliases.d: New test.
+ * testsuite/gas/loongarch/deprecated_reg_aliases.l: Likewise.
+ * testsuite/gas/loongarch/deprecated_reg_aliases.s: Likewise.
+
+ include/ChangeLog:
+
+ * opcode/loongarch.h: Rename global variables.
+
+ opcodes/ChangeLog:
+
+ * loongarch-opc.c: Rename the alternate/deprecated register name
+ mappings, and move $x to the deprecated name map.
+
+2023-06-30 WANG Xuerui <git@xen0n.name>
+
+ opcodes/loongarch: print unrecognized insn words with the .word directive
+ For better round-trip fidelity and readability in general.
+
+ gas/ChangeLog:
+
+ * testsuite/gas/loongarch/uleb128.d: Update test case.
+ * testsuite/gas/loongarch/raw-insn.d: New test.
+ * testsuite/gas/loongarch/raw-insn.s: Likewise.
+
+ opcodes/ChangeLog:
+
+ * loongarch-dis.c (disassemble_one): Print ".word" if !opc.
+
+2023-06-30 WANG Xuerui <git@xen0n.name>
+
+ opcodes/loongarch: do not print hex notation for signed immediates
+ The additional hex notation was minimally useful when one had to
+ inspect code with heavy bit manipulation, or of unclear signedness, but
+ it clutters the output, and the style is not regular assembly language
+ syntax either.
+
+ Precisely how one approaches the original use case is not taken care of
+ in this patch (maybe we want a disassembler option forcing a certain
+ style for immediates, like for example printing every immediate in
+ decimal or hexadecimal notation), but at least let's stop the current
+ practice.
+
+ ChangeLog:
+
+ * testsuite/gas/loongarch/imm_ins.d: Update test case.
+ * testsuite/gas/loongarch/imm_ins_32.d: Likewise.
+ * testsuite/gas/loongarch/imm_op.d: Likewise.
+ * testsuite/gas/loongarch/jmp_op.d: Likewise.
+ * testsuite/gas/loongarch/load_store_op.d: Likewise.
+ * testsuite/gas/loongarch/macro_op.d: Likewise.
+ * testsuite/gas/loongarch/macro_op_32.d: Likewise.
+ * testsuite/gas/loongarch/privilege_op.d: Likewise.
+ * testsuite/gas/loongarch/uleb128.d: Likewise.
+ * testsuite/gas/loongarch/vector.d: Likewise.
+
+ ld/ChangeLog:
+
+ * testsuite/ld-loongarch-elf/jmp_op.d: Update test case.
+ * testsuite/ld-loongarch-elf/macro_op.d: Likewise.
+ * testsuite/ld-loongarch-elf/macro_op_32.d: Likewise.
+
+ opcodes/ChangeLog:
+
+ * loongarch-dis.c (dis_one_arg): Remove the "(0x%x)" part from
+ disassembly output of signed immediate operands.
+
+2023-06-30 WANG Xuerui <git@xen0n.name>
+
+ opcodes/loongarch: style disassembled address offsets as such
+ Add a modifier char 'o' telling the disassembler to print the immediate
+ using the address offset style, and mark the memory access instructions'
+ offset operands as such.
+
+ opcodes/ChangeLog:
+
+ * loongarch-dis.c (dis_one_arg): Style disassembled address
+ offsets as such when the operand has a modifier char 'o'.
+ * loongarch-opc.c: Add 'o' to operands that represent address
+ offsets.
+
+2023-06-30 WANG Xuerui <git@xen0n.name>
+
+ opcodes/loongarch: implement style support in the disassembler
+ Update the LoongArch disassembler to supply style information to the
+ disassembler output. The output formatting remains unchanged.
+
+ opcodes/ChangeLog:
+
+ * disassemble.c: Mark LoongArch as created_styled_output=true.
+ * loongarch-dis.c (dis_one_arg): Use fprintf_styled_func
+ throughout with proper styles.
+
+2023-06-30 WANG Xuerui <git@xen0n.name>
+
+ opcodes/loongarch: remove unused code
+ Remove some unused declarations and code.
+
+ include/ChangeLog:
+
+ * opcode/loongarch.h: Remove unused declarations.
+
+ opcodes/ChangeLog:
+
+ * loongarch-dis.c (loongarch_parse_dis_options): Remove.
+ (my_print_address_func): Likewise.
+ (loongarch_disassemble_one): Likewise.
+
+2023-06-30 WANG Xuerui <git@xen0n.name>
+
+ LoongArch: support disassembling certain pseudo-instructions
+ Add a flag in the pinfo field for being able to mark certain specialized
+ matchers as disassembler-only, so some degree of isolation between
+ assembler-side and disassembler-side can be achieved.
+
+ This isolation is necessary, firstly because some pseudo-instructions
+ cannot be fully described in the opcode table, like `li.[wd]`, so the
+ corresponding opcode entry cannot have meaningful match/mask values.
+ Secondly, some of these pseudo-instructions can be realized in more than
+ one plausible ways; e.g. `li.w rd, <something between 0 and 0x7ff>` can
+ be realized on LA64 with any of `addi.w`, `addi.d` or `ori`. If we tie
+ disassembly of such aliases with the corresponding GAS support, only one
+ canonical form among the above would be recognized as `li.w`, and it
+ would mildly impact the readability of disassembly output.
+ People wanting the exact disassembly can always set `-M no-aliases` to
+ get the original behavior back.
+
+ In addition, in certain cases, information is irreversibly lost after
+ assembling, so perfect round-trip would not be possible in such cases.
+ For example, `li.w` and `li.d` of immediates within int32_t range
+ produce the same code; in this patch, `addi.d rd, $zero, imm` is treated
+ as `li.d`, while `addi.w` and `ori` immediate loads are shown as `li.w`,
+ due to the expressible value range well within 32 bits.
+
+ gas/ChangeLog:
+
+ * config/tc-loongarch.c (get_loongarch_opcode): Ignore
+ disassembler-only aliases.
+ * testsuite/gas/loongarch/64_pcrel.d: Update test case.
+ * testsuite/gas/loongarch/imm_ins.d: Likewise.
+ * testsuite/gas/loongarch/imm_ins_32.d: Likewise.
+ * testsuite/gas/loongarch/jmp_op.d: Likewise.
+ * testsuite/gas/loongarch/li.d: Likewise.
+ * testsuite/gas/loongarch/macro_op.d: Likewise.
+ * testsuite/gas/loongarch/macro_op_32.d: Likewise.
+ * testsuite/gas/loongarch/macro_op_large_abs.d: Likewise.
+ * testsuite/gas/loongarch/macro_op_large_pc.d: Likewise.
+ * testsuite/gas/loongarch/nop.d: Likewise.
+ * testsuite/gas/loongarch/relax_align.d: Likewise.
+ * testsuite/gas/loongarch/reloc.d: Likewise.
+
+ include/ChangeLog:
+
+ * opcode/loongarch.h (INSN_DIS_ALIAS): Add.
+
+ ld/ChangeLog:
+
+ * testsuite/ld-loongarch-elf/jmp_op.d: Update test case.
+ * testsuite/ld-loongarch-elf/macro_op.d: Likewise.
+ * testsuite/ld-loongarch-elf/macro_op_32.d: Likewise.
+ * testsuite/ld-loongarch-elf/relax-align.dd: Likewise.
+
+ opcodes/ChangeLog:
+
+ * loongarch-dis.c: Move register name map declarations to top.
+ (get_loongarch_opcode_by_binfmt): Consider aliases when
+ disassembling without the no-aliases option.
+ (parse_loongarch_dis_option): Support the no-aliases option.
+ * loongarch-opc.c: Collect pseudo instructions into a new
+ dedicated table.
+
+2023-06-30 GDB Administrator <gdbadmin@sourceware.org>
+
+ Automatic date update in version.in
+
+2023-06-30 Indu Bhagat <indu.bhagat@oracle.com>
+
+ binutils/NEWS: announce SFrame version 2 as the new default
+
+2023-06-30 Indu Bhagat <indu.bhagat@oracle.com>
+
+ doc: sframe: update specification for SFRAME_VERSION_2
+ Add details for the changes made from Version 1 to Version 2 of the format.
+
+ Also add details about alignment in the SFrame format. A portion of the
+ SFrame stack trace format has an unaligned on-disk representation. Add
+ description at relevant points in the specificatin to clarify the
+ alignment related details.
+
+2023-06-30 Indu Bhagat <indu.bhagat@oracle.com>
+
+ sframe: bfd: gas: ld: format bump to SFrame version 2
+ SFrame version 2 encodes the size of repetitive insn block explicitly
+ in the format. Add information in the SFrame FDE to convey the size
+ of the block of repeating instructions. This information is used only
+ for SFrame FDEs of type SFRAME_FDE_TYPE_PCMASK.
+
+ Introduce two extra bytes for padding: this ensures that the memory
+ accesses to the members of the SFrame Frame Descriptor Entry (FDE) are
+ naturally aligned.
+
+ gas generates SFrame section with version SFRAME_VERSION_2 by default.
+
+ libsframe provides two new APIs to:
+ - get an SFrame FDE data from the decoder context, and
+ - add an SFrame FDE to the encoder context.
+ The additional argument (for rep_block_size) is useful for SFrame FDEs
+ where FDE type is SFRAME_FDE_TYPE_PCMASK.
+
+ The linker will generate the output SFrame sections in the
+ SFRAME_VERSION_2 format. If the input sections offered to the linker
+ are not all in the SFRAME_VERSION_2 format, the linker issues an error
+ to the user.
+
+ objdump/readelf will show the following message to the user if .sframe
+ section in SFRAME_VERSION_1 format is seen:
+
+ "No further information can be displayed. SFrame version not
+ supported."
+
+ In other words, like the rest of the binutils, only the current SFrame
+ format version, i.e., SFRAME_VERSION_2 is supported by the textual dump
+ facilities.
+
+ bfd/
+ * elf-sframe.c (_bfd_elf_merge_section_sframe): Generate an
+ output SFrame section with version SFRAME_VERSION_2. Also,
+ error out if the SFrame sections do not all have
+ SFRAME_VERSION_2.
+ * elfxx-x86.c (_bfd_x86_elf_create_sframe_plt): Generate SFrame
+ section for plt entries with version SFRAME_VERSION_2.
+ gas/
+ * gen-sframe.c (sframe_set_version): Update to SFRAME_VERSION_2.
+ (output_sframe): Likewise.
+ gas/testsuite/
+ * gas/cfi-sframe/cfi-sframe-aarch64-1.d: Use SFRAME_VERSION_2.
+ * gas/cfi-sframe/cfi-sframe-aarch64-2.d: Likewise.
+ * gas/cfi-sframe/cfi-sframe-aarch64-pac-ab-key-1.d: Likewise.
+ * gas/cfi-sframe/cfi-sframe-common-1.d: Likewise.
+ * gas/cfi-sframe/cfi-sframe-common-2.d: Likewise.
+ * gas/cfi-sframe/cfi-sframe-common-3.d: Likewise.
+ * gas/cfi-sframe/cfi-sframe-common-4.d: Likewise.
+ * gas/cfi-sframe/cfi-sframe-common-5.d: Likewise.
+ * gas/cfi-sframe/cfi-sframe-common-6.d: Likewise.
+ * gas/cfi-sframe/cfi-sframe-common-7.d: Likewise.
+ * gas/cfi-sframe/cfi-sframe-common-8.d: Likewise.
+ * gas/cfi-sframe/cfi-sframe-x86_64-1.d: Likewise.
+ * gas/cfi-sframe/common-empty-1.d: Likewise.
+ * gas/cfi-sframe/common-empty-2.d: Likewise.
+ * gas/cfi-sframe/common-empty-3.d: Likewise.
+ ld/testsuite/
+ * ld-aarch64/sframe-simple-1.d: Adjust for SFRAME_VERSION_2.
+ * ld-x86-64/sframe-plt-1.d: Likewise.
+ * ld-x86-64/sframe-simple-1.d: Likewise.
+ libsframe/
+ * libsframe.ver: Add the new APIs.
+ * sframe.c (sframe_decoder_get_funcdesc_v2): New definition.
+ (sframe_encoder_add_funcdesc_v2): Likewise.
+ (sframe_header_sanity_check_p): Include SFRAME_VERSION_2.
+ (sframe_fre_check_range_p): Get rep_block_size info from SFrame
+ FDE.
+ * sframe-dump.c (dump_sframe_header): Add support for
+ SFRAME_VERSION_2.
+ (dump_sframe): Inform user if SFrame section in SFRAME_VERSION_1
+ format is seen.
+ libsframe/testsuite/
+ * libsframe.decode/DATA-BE: Regenerated data file.
+ * libsframe.decode/DATA1: Likewise.
+ * libsframe.decode/DATA2: Likewise.
+ * libsframe.find/plt-findfre-1.c: Use new API in the testcase.
+ include/
+ * sframe.h: Add member to encode size of the code block of
+ repeating instructions. Add 2 bytes of padding.
+ * sframe-api.h (sframe_decoder_get_funcdesc_v2): New
+ declaration.
+ (sframe_encoder_add_funcdesc_v2): Likewise.
+
+2023-06-30 Indu Bhagat <indu.bhagat@oracle.com>
+
+ libsframe: add new APIs to get SFrame version
+ While the SFrame preamble is guaranteed to not change between versions,
+ providing these access APIs from the SFrame decoder and encoder APIs is
+ for convenience only. The linker may want to use these APIs as the
+ format evolves.
+
+ include/
+ * sframe-api.h (sframe_decoder_get_version): New declaration.
+ (sframe_encoder_get_version): Likewise.
+
+ libsframe/
+ * libsframe/libsframe.ver: Add new APIs.
+ * libsframe/sframe.c (sframe_decoder_get_version): New
+ definition.
+ (sframe_encoder_get_version): Likewise.
+
+2023-06-29 Indu Bhagat <indu.bhagat@oracle.com>
+
+ libsframe: fix sframe_find_fre for pltN entries
+ For a toy application on x86_64, for example, following is the SFrame
+ stack trace information for the 3 pltN entries of 16 bytes each:
+
+ func idx [1]: pc = 0x401030, size = 48 bytes
+ STARTPC[m] CFA FP RA
+ 0000000000000000 sp+8 u u
+ 000000000000000b sp+16 u u
+
+ The data in first column is the start_ip_offset. Also note that the FDE
+ is of type SFRAME_FDE_TYPE_PCMASK (denoted by the [m] on LHS).
+
+ Where each pltN (note: excluding plt0 entry) entry looks like:
+
+ 401030: jmp *0x2fca(%rip)
+ 401036: push $0x0
+ 40103b: jmp 401020<_init+0x20>
+
+ 401040: jmp *0x2fc2(%rip)
+ 401046: push $0x1
+ 40104b: jmp 401020<_init+0x20>
+
+ 401050: jmp *0x2fba(%rip)
+ 401056: push $0x2
+ 40105b: jmp 401020<_init+0x20>
+
+ Now, to find SFrame stack trace information from an FDE of type
+ SFRAME_FDE_TYPE_PCMASK, sframe_find_fre () was doing an operation
+ like,
+ (start_ip_offset & 0xf) >= (pc & 0xf)
+
+ This works for pltN entry of size, say, less than 16 bytes. But if the
+ pltN entries or similar code stubs (for which SFrame FDE of type
+ SFRAME_FDE_TYPE_PCMASK may be used), evolve to be of size > 16 bytes,
+ this will cease to work.
+
+ To match the range covered by the SFrame FRE, one should instead perform
+ a modulo operation. The constant for the modulo operation must be the
+ size of the pltN entry. Further, this constant should ideally be
+ encoded in the format, as it may be different for each ABI.
+
+ In SFrame Version 2 of the format, we will move towards encoding it
+ explicitly in the SFrame FDE. For now, fix up the logic to at least
+ move towards modulo operation.
+
+ libsframe/
+ * sframe.c (sframe_fre_check_range_p): New definition.
+ (sframe_find_fre): Refactor a bit and use the new definition
+ above.
+ include/
+ * sframe.h (SFRAME_FDE_TYPE_PCMASK): Update comment.
+ libsframe/doc/
+ * sframe-spec.texi: Fix the text for SFRAME_FDE_TYPE_PCMASK FDE
+ type.
+
+2023-06-29 H.J. Lu <hjl.tools@gmail.com>
+
+ ld: Add -z nosectionheader test to bootstrap.exp
+ PR ld/25617
+ * testsuite/ld-bootstrap/bootstrap.exp: Add -z nosectionheader
+ test.
+
+2023-06-29 H.J. Lu <hjl.tools@gmail.com>
+
+ ld: Add tests for -z nosectionheader and --strip-section-headers
+ Add tests to verify that the linker option, -z nosectionheader and
+ objcopy and strip option, --strip-section-headers, work correctly as well
+ as linker issues an error when dynamic symbol table from PT_DYNAMIC
+ segment is used.
+
+ PR ld/25617
+ * testsuite/ld-elf/hash-2.d: New file.
+ * testsuite/ld-elf/no-section-header.exp: Likewise.
+ * testsuite/ld-elf/pr25617-1-no-sec-hdr.nd: Likewise.
+ * testsuite/ld-elf/pr25617-1-no-sec-hdr.rd: Likewise.
+ * testsuite/ld-elf/pr25617-1-static-no-sec-hdr.rd: Likewise.
+ * testsuite/ld-elf/pr25617-1a-no-sec-hdr.nd: Likewise.
+ * testsuite/ld-elf/pr25617-1a-no-sec-hdr.rd: Likewise.
+ * testsuite/ld-elf/pr25617-1a-sec-hdr.rd: Likewise.
+ * testsuite/ld-elf/pr25617-1a.c: Likewise.
+ * testsuite/ld-elf/pr25617-1b.c: Likewise.
+ * testsuite/ld-elf/start-noheader.rd: Likewise.
+ * testsuite/ld-elf/start-shared-noheader-gnu.rd: Likewise.
+ * testsuite/ld-elf/start-shared-noheader-sysv.rd: Likewise.
+ * testsuite/ld-elf/start-shared-noheader.nd: Likewise.
+
+2023-06-29 H.J. Lu <hjl.tools@gmail.com>
+
+ binutils: Add a --strip-section-headers test
+ PR ld/25617
+ * testsuite/binutils-all/objcopy.exp: Run strip-section-headers-1.
+ * testsuite/binutils-all/strip-section-headers-1.d: New file.
+
+2023-06-29 Kaylee Blake <klkblake@gmail.com>
+
+ ld: Add simple tests for -z nosectionheader
+ 2020-06-06 Kaylee Blake <klkblake@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/25617
+ * testsuite/ld-elf/nosectionheader-1.d: New file.
+ * testsuite/ld-elf/nosectionheader-2.d: Likewise.
+
+2023-06-29 H.J. Lu <hjl.tools@gmail.com>
+
+ bfd: Improve nm and objdump without section header
+ When there is no section header in an executable or shared library, we
+ reconstruct dynamic symbol table from the PT_DYNAMIC segment, which
+ contains DT_HASH/DT_GNU_HASH/DT_MIPS_XHASH, DT_STRTAB, DT_SYMTAB,
+ DT_STRSZ, and DT_SYMENT entries, to improve nm and objdump. For DT_HASH,
+ the number of dynamic symbol table entries equals the number of chains.
+ For DT_GNU_HASH/DT_MIPS_XHASH, only defined symbols with non-STB_LOCAL
+ indings are in hash table. Since DT_GNU_HASH/DT_MIPS_XHASH place all
+ symbols with STB_LOCAL binding before symbols with other bindings and
+ all undefined symbols defined ones in dynamic symbol table, the highest
+ symbol index in DT_GNU_HASH/DT_MIPS_XHASH is the highest dynamic symbol
+ table index. We can also get symbol version from DT_VERSYM, DT_VERDEF
+ and DT_VERNEED entries.
+
+ dt_symtab, dt_versym, dt_verdef, dt_verneed, dt_symtab_count,
+ dt_verdef_count, dt_verneed_count and dt_strtab are added to
+ elf_obj_tdata to store dynamic symbol table information.
+
+ PR ld/25617
+ * elf-bfd.h (elf_obj_tdata): Add dt_symtab, dt_verdef, dt_verneed,
+ dt_symtab_count, dt_verdef_count, dt_verneed_count and dt_strtab.
+ (elf_use_dt_symtab_p): New.
+ (_bfd_elf_get_dynamic_symbols): Likewise.
+ (_bfd_elf_get_section_from_dynamic_symbol): Likewise.
+ * elf.c (bfd_elf_get_elf_syms): Use dynamic symbol table if
+ neeeded.
+ (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
+ (_bfd_elf_slurp_version_tables): Likewise.
+ (offset_from_vma): New function.
+ (get_hash_table_data): Likewise.
+ (_bfd_elf_get_dynamic_symbols): Likewise.
+ (_bfd_elf_get_section_from_dynamic_symbol): Likewise.
+ (_bfd_elf_get_symbol_version_name): Likewise.
+ * elfcode.h (elf_object_p): Call _bfd_elf_get_dynamic_symbols
+ to reconstruct dynamic symbol table from PT_DYNAMIC segment if
+ there is no section header.
+ (elf_slurp_symbol_table): Use dynamic symbol table i[...]
[diff truncated at 100000 bytes]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-08-02 8:25 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-02 8:25 [binutils-gdb/binutils-2_41-release] 2.41 Release sources Nick Clifton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).