public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb/binutils-2_42-branch] Update version number to 2.42
@ 2024-01-29 14:51 Nick Clifton
  0 siblings, 0 replies; only message in thread
From: Nick Clifton @ 2024-01-29 14:51 UTC (permalink / raw)
  To: bfd-cvs, gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c7f28aad0c99d1d2fec4e52ebfa3735d90ceb8e9

commit c7f28aad0c99d1d2fec4e52ebfa3735d90ceb8e9
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jan 29 14:51:43 2024 +0000

    Update version number to 2.42

Diff:
---
 ChangeLog.git                  | 182465 ++++++++++++++++++++++++++++++++++++++
 bfd/configure                  |     20 +-
 bfd/development.sh             |      6 +-
 bfd/po/bfd.pot                 |    120 +-
 bfd/version.m4                 |      2 +-
 binutils/configure             |     20 +-
 gas/configure                  |     20 +-
 gas/po/gas.pot                 |    404 +-
 gnulib/Makefile.in             |     18 +-
 gnulib/aclocal.m4              |     12 +-
 gnulib/configure               |      2 +-
 gnulib/import/Makefile.in      |     16 +-
 gprof/configure                |     20 +-
 gprofng/configure              |     20 +-
 gprofng/doc/version.texi       |      4 +-
 gprofng/libcollector/configure |     20 +-
 ld/configure                   |     20 +-
 libiberty/functions.texi       |     14 +-
 opcodes/configure              |     20 +-
 opcodes/po/opcodes.pot         |     90 +-
 sim/Makefile.in                |      4 +-
 src-release.sh                 |      2 +-
 22 files changed, 182892 insertions(+), 427 deletions(-)

diff --git a/ChangeLog.git b/ChangeLog.git
new file mode 100644
index 00000000000..bfd454f3e4d
--- /dev/null
+++ b/ChangeLog.git
@@ -0,0 +1,182465 @@
+2024-01-29  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	x86: testsuite: scfi: adjust COFI testcase and  gas: scfi: untraceable control flow should be a hard error
+
+2024-01-29  Nick Clifton  <nickc@redhat.com>
+
+	Updated French translations for GOLD and LD
+
+	LoongArch: update test cases about TLS
+
+2024-01-29  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-28  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-27  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-26  mengqinggang  <mengqinggang@loongson.cn>
+
+	Backport commits 969f5c0e1 (LoongArch: gas: Add support for s9 register) and a0aa6f4ab (LoongArch: ld: Add support for TLS LE symbol with addend) to 2.42 branch.
+
+2024-01-26  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-25  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+	gas: Update NEWS
+	Groups entries by architecture, and update AArch64 content.
+
+	aarch64: Update Architecture Extensions documentation
+	Restructure the architecture extensions table, add a new table for architecture
+	version dependencies, add missing architecture extensions, and improve some
+	extension descriptions.
+
+2024-01-25  mengqinggang  <mengqinggang@loongson.cn>
+
+	LoongArch: gas: Start a new frag after instructions that can be relaxed
+	For R_LARCH_TLS_{LE_HI20_R,LE_ADD_R,LD_PC_HI20,GD_PC_HI20, DESC_PC_HI20}
+	relocations, start a new frag to get correct eh_frame Call Frame Information
+	FDE DW_CFA_advance_loc info.
+
+2024-01-25  mengqinggang  <mengqinggang@loongson.cn>
+
+	LoongArch: gas: Don't define LoongArch .align
+	Gcc may generate "\t.align\t%d,54525952,4\n" before commit
+	b20c7ee066cb7d952fa193972e8bc6362c6e4063. To write 54525952 (NOP) to object
+	file, we call s_align_ptwo (-4). It result in alignment padding must be a
+	multiple of 4 if .align has second parameter.
+
+	Use default s_align_ptwo for .align.
+
+2024-01-25  Xi Ruoyao  <xry111@xry111.site>
+
+	LoongArch: Fix some test failures about TLS desc and TLS relaxation
+	There are two issues causing 11 test failures:
+
+	1. The TLS desc tests are matching the entire disassemble of a linked
+	   executable.  But if ld is configured --enable-default-hash-style=gnu
+	   (note that most modern distros use this option), the layout of the
+	   linked executables will be different and the immediate operands in
+	   the linked executables will also be different.  So we add
+	   "--hash-style=both" for these tests to cancel the effect of
+	   --enable-default-hash-style=gnu, like [x86_64 mark-plt tests].
+	2. By default objdump disassemble uses [pseudo-instructions] so "addi.w"
+	   is outputed as "li.w", causing mismatches in TLS relaxation tests.
+	   We can turn off the pseudo-instruction usage in objdump using "-M
+	   no-aliases" to fix them.
+
+	[x86_64 mark-plt tests]: 16666ccc91295d1568c5c2cb0e7600694840dfd9
+	[pseudo-instructions]: 17f9439038257b1de0c130a416a9a7645c653cb0
+
+2024-01-25  mengqinggang  <mengqinggang@loongson.cn>
+
+	LoongArch: Do not emit R_LARCH_RELAX for two register macros
+	For two register macros (e.g. la.local $t0, $t1, symbol) used in extreme code
+	model, do not emit R_LARCH_RELAX relocations.
+
+2024-01-25  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-24  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+	aarch64: Eliminate unused variable warnings with -DNDEBUG
+
+2024-01-24  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-23  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+	aarch64: Include +predres2 in -march=armv8.9-a
+	This matches the dependencies in the architecture, in LLVM, and even in the
+	original Binutils commit message that mistakenly included it only in armv9.4-a.
+
+2024-01-23  Xi Ruoyao  <xry111@xry111.site>
+
+	[PATCH v2] gas/NEWS, ld/NEWS: Announce LoongArch changes in 2.42
+
+2024-01-23  Jan Beulich  <jbeulich@suse.com>
+
+	x86/APX: also amend the PUSH2/POP2 testcase
+	Commit f530d5f1bab6 ("Update x86/APX: VROUND{P,S}{S,D} can generally be
+	encoded") took care of only half of the remaining issue. Add #pass here
+	as well.
+
+2024-01-23  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-22  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
+
+	Fix 31252 gprofng causes testsuite parallel jobs fail
+	Before running our tests, we made a fake installation into ./tmpdir.
+	This installation changes libopcodes.la in the build area.
+	Gas testing may fail if gas and gprofng tests are run in parallel.
+
+	I create a script to run gprofng. Inside this script, LD_LIBRARY_PATH,
+	GPROFNG_SYSCONFDIR are set.
+	putenv_libcollector_ld_misc() first uses $GPROFNG_PRELOAD_LIBDIRS to create
+	directories for SP_COLLECTOR_LIBRARY_PATH ($SP_COLLECTOR_LIBRARY_PATH is used
+	to set up LD_PRELOAD).
+
+	gprofng/ChangeLog
+	2024-01-19  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
+
+		PR gprofng/31252
+		PR gprofng/30808
+		* src/envsets.cc (putenv_libcollector_ld_misc): Use
+		$GPROFNG_PRELOAD_LIBDIRS first to build SP_COLLECTOR_LIBRARY_PATH.
+		* testsuite/config/default.exp: Create a script to run gprofng.
+		* testsuite/lib/display-lib.exp: Fix typo.
+
+2024-01-22  Nick Clifton  <nickc@redhat.com>
+
+	Updated Serbian translations for th bfd, gold and opcodes directories
+
+2024-01-22  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-21  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-20  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-19  H.J. Lu  <hjl.tools@gmail.com>
+
+	Update x86/APX: VROUND{P,S}{S,D} can generally be encoded
+	Append "#pass" to APX tests for targets which pad text sections with NOPs.
+
+		* testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d: Append
+		"#pass".
+		* testsuite/gas/i386/x86-64-apx-evex-promoted.d: Likewise.
+
+	(cherry picked from commit f530d5f1bab6eb5adc65f422ef811fb278a21a4b)
+
+2024-01-19  Jan Beulich  <jbeulich@suse.com>
+
+	x86/APX: VROUND{P,S}{S,D} can generally be encoded
+	VRNDSCALE{P,S}{S,D} is the AVX512 generalization of these AVX insns. As
+	long as the immediate has the top 4 bits clear, they are equivalent to
+	the earlier VEX-encoded insns, and hence can be used to permit use of
+	eGPR-s in the memory operand. Since this is the normal way of using
+	these insns, also alter the resulting diagnostic to complain about the
+	immediate, not the eGPR use.
+
+	x86/APX: be consistent with insn suffixes
+	When there's a suitably disambiguating register operand, suffixes are
+	generally omitted (unless in suffix-always mode). All NDD insns have a
+	suitable register operand, so they shouldn't have suffixes by default.
+
+	x86: support APX forms of U{RD,WR}MSR
+	This was missed in 6177c84d5edc ("Support APX GPR32 with extend evex
+	prefix").
+
+2024-01-19  Nick Clifton  <nickc@redhat.com>
+
+	Add multilib.am to the list of top level files included in any release created by the src-release.sh script
+
+2024-01-19  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-18  Xi Ruoyao  <xry111@xry111.site>
+
+	LoongArch: Adapt R_LARCH_{PCALA,GOT,TLS_IE,TLS_DESC}64_* handling per psABI v2.30
+	In LoongArch psABI v2.30, an offset (-8 for LO20 and -12 for HI12)
+	should be applied on PC for these reloc types to avoid wrong relocation
+	when the instruction sequence crosses a page boundary.
+
+	The lld linker has already adapted the change.  Make it for the bfd
+	linker too.
+
+	Link: https://github.com/loongson/la-abi-specs/releases/v2.30
+	Link: https://github.com/loongson-community/discussions/issues/17
+	Link: https://github.com/llvm/llvm-project/pull/73387
+
+2024-01-18  Nick Clifton  <nickc@redhat.com>
+
+	Updated translations for various sub-directories
+
+2024-01-17  Alan Modra  <amodra@gmail.com>
+
+	PR30824 internal error with -z pack-relative-relocs
+	This corrects a counting problem, where prior to relocate_section relr
+	encoded relative relocs were allowed when it was known they were on
+	even boundaries, but relocate_section can only put relative relocs
+	(non-relr) on eight byte boundaries.
+
+		PR 30824
+		* elf64-ppc.c (RELR_ALIGN): Define, use throughout.
+		(maybe_relr): New function, use throughout.
+
+	(cherry picked from commit f91074ebd8dc8077c9c778a42360e77a636dce5e)
+
+2024-01-17  H.J. Lu  <hjl.tools@gmail.com>
+
+	Update x86-64: Add -z mark-plt and -z nomark-plt
+	Pass --hash-style=both to ld for -z mark-plt tests to support linker
+	configured with --enable-default-hash-style=gnu.
+
+		* testsuite/ld-x86-64/mark-plt-1b-x32.d: Pass --hash-style=both
+		to ld.
+		* testsuite/ld-x86-64/mark-plt-1b.d: Likewise.
+		* testsuite/ld-x86-64/mark-plt-1d-x32.d: Likewise.
+		* testsuite/ld-x86-64/mark-plt-1d.d: Likewise.
+
+	(cherry picked from commit 16666ccc91295d1568c5c2cb0e7600694840dfd9)
+
+2024-01-17  Nick Clifton  <nickc@redhat.com>
+
+	Import gcc commit 65388b28656d65595bdaf191df85af81c35ca63 which adds support for explicit object member function mangling.
+
+2024-01-15  H.J. Lu  <hjl.tools@gmail.com>
+
+	x86-64: Skip SCFI tests for x32 targets
+	Since SCFI isn't supported on x32:
+
+	Fatal error: SCFI is not supported for this ABI
+
+	skip SCFI tests for x32 targets.
+
+		PR gas/31245
+		* testsuite/gas/scfi/x86_64/scfi-x86-64.exp: Skip for x32
+		targets.
+
+	(cherry picked from commit 7bd344dd0e0469a93cbbf50f797155278cb76a0b)
+
+2024-01-15  Nick Clifton  <nickc@redhat.com>
+
+	fix typo
+
+	Update version number and regenerate configure files
+
+	Add markers for 2.42 branch
+
+	Update branch/release creation documentation
+
+2024-01-15  Victor Do Nascimento  <victor.donascimento@arm.com>
+
+	aarch64: rcpc3: Regenerate aarch64-*-2.c files
+
+2024-01-15  Victor Do Nascimento  <victor.donascimento@arm.com>
+	    Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+	aarch64: rcpc3: Add FP load/store insns
+	Along with the relevant unit-tests, this adds the following rcpc3
+	instructions:
+
+	  STL1  { <Vt>.D }[<index>], [<Xn|SP>]
+	  LDAP1 { <Vt>.D }[<index>], [<Xn|SP>]
+
+	  LDAPUR <Bt>, [<Xn|SP>{, #<simm>}]
+	  LDAPUR <Ht>, [<Xn|SP>{, #<simm>}]
+	  LDAPUR <St>, [<Xn|SP>{, #<simm>}]
+	  LDAPUR <Dt>, [<Xn|SP>{, #<simm>}]
+	  LDAPUR <Qt>, [<Xn|SP>{, #<simm>}]
+
+	  STLUR <Bt>, [<Xn|SP>{, #<simm>}]
+	  STLUR <Ht>, [<Xn|SP>{, #<simm>}]
+	  STLUR <St>, [<Xn|SP>{, #<simm>}]
+	  STLUR <Dt>, [<Xn|SP>{, #<simm>}]
+	  STLUR <Qt>, [<Xn|SP>{, #<simm>}]
+
+	with `#<simm>' taking on a signed 8-bit integer value in the range
+	[-256,255] and `index' the values 0 or 1.
+
+2024-01-15  Victor Do Nascimento  <victor.donascimento@arm.com>
+
+	aarch64: rcpc3: Add integer load/store insns
+	Along with the relevant unit tests and updates to the existing
+	regression tests, this adds support for the following novel rcpc3
+	insns:
+
+	  LDIAPP <Wt1>, <Wt2>, [<Xn|SP>]
+	  LDIAPP <Wt1>, <Wt2>, [<Xn|SP>], #8
+	  LDIAPP <Xt1>, <Xt2>, [<Xn|SP>]
+	  LDIAPP <Xt1>, <Xt2>, [<Xn|SP>], #16
+
+	  STILP <Wt1>, <Wt2>, [<Xn|SP>]
+	  STILP <Wt1>, <Wt2>, [<Xn|SP>, #-8]!
+	  STILP <Xt1>, <Xt2>, [<Xn|SP>]
+	  STILP <Xt1>, <Xt2>, [<Xn|SP>, #-16]!
+
+	  LDAPR <Wt>, [<Xn|SP>], #4
+	  LDAPR <Xt>, [<Xn|SP>], #8
+
+	  STLR <Wt>, [<Xn|SP>, #-4]!
+	  STLR <Xt>, [<Xn|SP>, #-8]!
+
+2024-01-15  Victor Do Nascimento  <victor.donascimento@arm.com>
+
+	aarch64: rcpc3: Define RCPC3_INSN macro
+	This patch adds the necessary macro for encoding FEAT_RCPC3-dependent
+	instructions in Binutils.
+
+	aarch64: rcpc3: add support in general_constraint_met_p
+	Given the introduction of the new address operand types for rcpc3
+	instructions, this patch adds the necessary logic to teach
+	`general_constraint_met_p` how to proper handle these.
+
+2024-01-15  Victor Do Nascimento  <victor.donascimento@arm.com>
+
+	aarch64: rcpc3: New RCPC3_ADDR operand types
+	The particular choices of address indexing, along with their encoding
+	for RCPC3 instructions lead to the requirement of a new set of operand
+	descriptions, along with the relevant inserter/extractor set.
+
+	That is, for the integer load/stores, there is only a single valid
+	indexing offset quantity and offset mode is allowed - The value is
+	always equivalent to the amount of data read/stored by the
+	operation and the offset is post-indexed for Load-Acquire RCpc, and
+	pre-indexed with writeback for Store-Release insns.
+
+	This indexing quantity/mode pair is selected by the setting of a
+	single bit in the instruction. To represent these insns, we add the
+	following operand types:
+
+	  - AARCH64_OPND_RCPC3_ADDR_OPT_POSTIND
+	  - AARCH64_OPND_RCPC3_ADDR_OPT_PREIND_WB
+
+	In the case of loads and stores involving SIMD/FP registers, the
+	optional offset is encoded as an 8-bit signed immediate, but neither
+	post-indexing or pre-indexing with writeback is available.  This
+	created the need for an operand type similar to
+	AARCH64_OPND_ADDR_OFFSET, with the difference that FLD_index should
+	not be checked.
+
+	We thus introduce the AARCH64_OPND_RCPC3_ADDR_OFFSET operand, a
+	variant of AARCH64_OPND_ADDR_OFFSET, w/o the FLD_index bitfield.
+
+2024-01-15  Victor Do Nascimento  <victor.donascimento@arm.com>
+
+	aarch64: rcpc3: Define address operand fields and inserter/extractors
+	Beyond the need to encode any registers involved in data transfer and
+	the address base register for load/stores, it is necessary to specify
+	the data register addressing mode and whether the address register is
+	to be pre/post-indexed, whereby loads may be post-indexed and stores
+	pre-indexed with write-back.
+
+	The use of a single bit to specify both the indexing mode and indexing
+	value requires a novel function be written to accommodate this for
+	address operand insertion in assembly and another for extraction in
+	disassembly, along with the definition of two insn fields for use with
+	these instructions.
+
+	This therefore defines the following functions:
+
+	  - aarch64_ins_rcpc3_addr_opt_offset
+	  - aarch64_ins_rcpc3_addr_offset
+	  - aarch64_ext_rcpc3_addr_opt_offset
+	  - aarch64_ext_rcpc3_addr_offset
+
+	It extends the `do_special_{encoding|decoding}' functions and defines
+	two rcpc3 instruction fields:
+
+	  - FLD_opc2
+	  - FLD_rcpc3_size
+
+2024-01-15  Victor Do Nascimento  <victor.donascimento@arm.com>
+
+	aarch64: rcpc3: Create implicit load/store size calc function
+	The allowed immediate offsets in integer rcpc3 load store instructions
+	are not encoded explicitly in the instruction itself, being rather
+	implicitly equivalent to the amount of data loaded/stored by the
+	instruction.
+
+	This leads to the requirement that this quantity be calculated based on
+	the number of registers involved in the transfer, either as data
+	source or destination registers and their respective qualifiers.
+
+	This is done via `calc_ldst_datasize (const aarch64_opnd_info *opnds)'
+	implemented here, using a cumulative sum of qualifier sizes preceding
+	the address operand in the OPNDS operand list argument.
+
+2024-01-15  Victor Do Nascimento  <victor.donascimento@arm.com>
+
+	aarch64: rcpc3: Add +rcpc3 architectural feature support flag
+	Indicating the presence of the Armv8.2-a feature adding further
+	support for the Release Consistency Model, the `+rcpc3' architectural
+	extension flag is added to the list of possible `-march' options in
+	Binutils, together with the necessary macro for encoding rcpc3
+	instructions.
+
+2024-01-15  Mark Wielaard  <mark@klomp.org>
+
+	bfd: riscv_maybe_function_sym check _bfd_elf_is_local_label_name
+	This fixes the ld "Handle no DWARF information" testcase. Which
+	currently fails on riscv because a local label name is assumed
+	to be the current function name.
+
+	bfd/ChangeLog:
+
+	* elfnn-riscv.c (riscv_maybe_function_sym): Also check
+		_bfd_elf_is_local_label_name.
+
+2024-01-15  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+	aarch64: Fix tlbi and tlbip instructions
+	There are some tlbi operations that don't have a corresponding tlbip operation,
+	but we were incorrectly using the same list for both.  Add the missing tlbi
+	*nxs operations, and use the F_REG_128 flag to filter tlbi operations that
+	don't have a tlbip analogue.  For increased clarity, I have also used a macro
+	to reduce duplication between the 'nxs' and non-'nxs' variants, and added a
+	test to verify that no invalid combinations are accepted.
+
+	Additionally, fix two missing checks for AARCH64_OPND_SYSREG_TLBIP that were
+	preventing disassembly of tlbip instructions.
+
+2024-01-15  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+	aarch64: Refactor aarch64_sys_ins_reg_supported_p
+	Add an aarch64_feature_set field to aarch64_sys_ins_reg, and use this for
+	feature checks instead of testing against a list of operand codes.
+
+2024-01-15  Nick Clifton  <nickc@redhat.com>
+
+	nm: Replace --with-symbol-versions with --without-symbol-versions in --help output
+	  PR 31243
+	  nm: Fix --help output
+
+2024-01-15  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+	aarch64: Remove unused BTI feature bit
+	OK for master?
+
+2024-01-15  Nick Clifton  <nickc@redhat.com>
+
+	Add generated source files and fix thinko in aarch64-asm.c
+
+2024-01-15  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+	aarch64: Add SVE2.1 Contiguous load/store instructions.
+	Hi,
+
+	This patch add support for SVE2.1 instructions ld1q,
+	ld2q, ld3q and ld4q, st1q, st2q, st3q and st4q.
+
+	Regression testing for aarch64-none-elf target and found no regressions.
+
+	Ok for binutils-master?
+
+	Regards,
+	Srinath.
+
+2024-01-15  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+	PATCH 5/6][Binutils] aarch64: Add SVE2.1 fmin and fmax instructions.
+	Hi,
+
+	This patch add support for SVE2.1 instruction faddqv,
+	fmaxnmqv, fmaxqv, fminnmqv and fminqv.
+
+	Regression testing for aarch64-none-elf target and found no regressions.
+
+	Ok for binutils-master?
+
+	Regards,
+	Srinath.
+
+2024-01-15  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+	aarch64: Add SVE2.1 dupq, eorqv and extq instructions.
+	Hi,
+
+	This patch add support for SVE2.1 instruction dupq, eorqv and extq.
+
+	Regression testing for aarch64-none-elf target and found no regressions.
+
+	Ok for binutils-master?
+
+	Regards,
+	Srinath.
+
+2024-01-15  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+	aarch64: Add support for FEAT_SVE2p1.
+	Hi,
+
+	This patch add support for FEAT_SVE2p1 (SVE2.1 Extension) feature
+	along with +sve2p1 optional flag to enabe this feature.
+
+	Also support for following SVE2p1 instructions is added
+	addqv, andqv, smaxqv, sminqv, umaxqv, uminqv and uminqv.
+
+	Regression testing for aarch64-none-elf target and found no regressions.
+
+	Ok for binutils-master?
+
+	Regards,
+	Srinath.
+
+2024-01-15  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+	aarch64: Add support for FEAT_SME2p1 instructions.
+	Hi,
+
+	This patch add support for FEAT_SME2p1 and "movaz" instructions
+	along with the optional flag +sme2p1.
+
+	Following "movaz" instructions are add:
+	Move and zero two ZA tile slices to vector registers.
+	Move and zero four ZA tile slices to vector registers.
+
+	Regression testing for aarch64-none-elf target and found no regressions.
+
+	Ok for binutils-master?
+
+	Regards,
+	Srinath.
+
+2024-01-15  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+	aarch64: Add support for FEAT_B16B16 instructions.
+	Hi,
+
+	This patch add support for SVE2.1 and SME2.1 non-widening BFloat16
+	(FEAT_B16B16) instructions.
+
+	Following instructions predicated, unpredicated and indexed
+	variants are added in this patch.
+
+	bfadd, bfclamp, bfmax bfmaxnm, bfmin,bfminnm,
+	bfmla,bfmls,bfmul and bfsub.
+
+	Regression testing for aarch64-none-elf target and found no regressions.
+
+	Ok for binutils-master?
+
+	Regards,
+	Srinath.
+
+2024-01-15  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	gas/NEWS: announce the new SCFI command line option
+
+2024-01-15  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	gas: testsuite: add an x86 testsuite for SCFI
+	The testsuite for SCFI contains target-specific tests.
+
+	When a test is executed with --scfi=experimental command line option,
+	the CFI annotations in the test .s files are skipped altogether by the
+	GAS for processing.  The CFI directives in the input assembly files are,
+	however, validated by running the assembler one more time without
+	--scfi=experimental.
+
+	Some testcases are used to highlight those asm constructs that the SCFI
+	machinery in GAS currently does not support:
+
+	  - Only System V AMD64 ABI is supported for now. Using either --32 or
+	    --x32 with SCFI results in hard error.
+	    See scfi-unsupported-1.s.
+
+	  - Untraceable stack-pointer manipulation in function epilougue and prologue.
+	    See scfi-unsupported-2.s.
+
+	  - Using Dynamically Realigned Arguement Pointer (DRAP) register to
+	    realign the stack.  For SCFI, the CFA must be only REG_SP or REG_FP
+	    based.  See scfi-unsupported-drap-1.s
+
+	Some testcases are used to highlight some diagnostics that the SCFI
+	machinery in GAS currently issues, with an intent to help user correct
+	inadvertent errors in their hand-written asm.  An error is issued when
+	GAS finds that input asm is not amenable to correct CFI synthesis.
+
+	  - (#1) "Warning: SCFI: Asymetrical register restore"
+	  - (#2) "Error: SCFI: usage of REG_FP as scratch not supported"
+	  - (#3) "Error: SCFI: unsupported stack manipulation pattern"
+
+	In case of (#2) and (#3), SCFI generation is skipped for the respective
+	function.  Above is a subset of the warnings/errors implemented in the
+	code.
+
+	gas/testsuite/:
+		* gas/scfi/README: New test.
+		* gas/scfi/x86_64/ginsn-add-1.l: New test.
+		* gas/scfi/x86_64/ginsn-add-1.s: New test.
+		* gas/scfi/x86_64/ginsn-dw2-regnum-1.l: New test.
+		* gas/scfi/x86_64/ginsn-dw2-regnum-1.s: New test.
+		* gas/scfi/x86_64/ginsn-pop-1.l: New test.
+		* gas/scfi/x86_64/ginsn-pop-1.s: New test.
+		* gas/scfi/x86_64/ginsn-push-1.l: New test.
+		* gas/scfi/x86_64/ginsn-push-1.s: New test.
+		* gas/scfi/x86_64/scfi-add-1.d: New test.
+		* gas/scfi/x86_64/scfi-add-1.l: New test.
+		* gas/scfi/x86_64/scfi-add-1.s: New test.
+		* gas/scfi/x86_64/scfi-add-2.d: New test.
+		* gas/scfi/x86_64/scfi-add-2.l: New test.
+		* gas/scfi/x86_64/scfi-add-2.s: New test.
+		* gas/scfi/x86_64/scfi-asm-marker-1.d: New test.
+		* gas/scfi/x86_64/scfi-asm-marker-1.l: New test.
+		* gas/scfi/x86_64/scfi-asm-marker-1.s: New test.
+		* gas/scfi/x86_64/scfi-asm-marker-2.d: New test.
+		* gas/scfi/x86_64/scfi-asm-marker-2.l: New test.
+		* gas/scfi/x86_64/scfi-asm-marker-2.s: New test.
+		* gas/scfi/x86_64/scfi-asm-marker-3.d: New test.
+		* gas/scfi/x86_64/scfi-asm-marker-3.l: New test.
+		* gas/scfi/x86_64/scfi-asm-marker-3.s: New test.
+		* gas/scfi/x86_64/scfi-bp-sp-1.d: New test.
+		* gas/scfi/x86_64/scfi-bp-sp-1.l: New test.
+		* gas/scfi/x86_64/scfi-bp-sp-1.s: New test.
+		* gas/scfi/x86_64/scfi-bp-sp-2.d: New test.
+		* gas/scfi/x86_64/scfi-bp-sp-2.l: New test.
+		* gas/scfi/x86_64/scfi-bp-sp-2.s: New test.
+		* gas/scfi/x86_64/scfi-callee-saved-1.d: New test.
+		* gas/scfi/x86_64/scfi-callee-saved-1.l: New test.
+		* gas/scfi/x86_64/scfi-callee-saved-1.s: New test.
+		* gas/scfi/x86_64/scfi-callee-saved-2.d: New test.
+		* gas/scfi/x86_64/scfi-callee-saved-2.l: New test.
+		* gas/scfi/x86_64/scfi-callee-saved-2.s: New test.
+		* gas/scfi/x86_64/scfi-callee-saved-3.d: New test.
+		* gas/scfi/x86_64/scfi-callee-saved-3.l: New test.
+		* gas/scfi/x86_64/scfi-callee-saved-3.s: New test.
+		* gas/scfi/x86_64/scfi-callee-saved-4.d: New test.
+		* gas/scfi/x86_64/scfi-callee-saved-4.l: New test.
+		* gas/scfi/x86_64/scfi-callee-saved-4.s: New test.
+		* gas/scfi/x86_64/scfi-cfg-1.d: New test.
+		* gas/scfi/x86_64/scfi-cfg-1.l: New test.
+		* gas/scfi/x86_64/scfi-cfg-1.s: New test.
+		* gas/scfi/x86_64/scfi-cfg-2.d: New test.
+		* gas/scfi/x86_64/scfi-cfg-2.l: New test.
+		* gas/scfi/x86_64/scfi-cfg-2.s: New test.
+		* gas/scfi/x86_64/scfi-cfi-label-1.d: New test.
+		* gas/scfi/x86_64/scfi-cfi-label-1.l: New test.
+		* gas/scfi/x86_64/scfi-cfi-label-1.s: New test.
+		* gas/scfi/x86_64/scfi-cfi-sections-1.d: New test.
+		* gas/scfi/x86_64/scfi-cfi-sections-1.l: New test.
+		* gas/scfi/x86_64/scfi-cfi-sections-1.s: New test.
+		* gas/scfi/x86_64/scfi-cofi-1.d: New test.
+		* gas/scfi/x86_64/scfi-cofi-1.l: New test.
+		* gas/scfi/x86_64/scfi-cofi-1.s: New test.
+		* gas/scfi/x86_64/scfi-diag-1.l: New test.
+		* gas/scfi/x86_64/scfi-diag-1.s: New test.
+		* gas/scfi/x86_64/scfi-diag-2.l: New test.
+		* gas/scfi/x86_64/scfi-diag-2.s: New test.
+		* gas/scfi/x86_64/scfi-dyn-stack-1.d: New test.
+		* gas/scfi/x86_64/scfi-dyn-stack-1.l: New test.
+		* gas/scfi/x86_64/scfi-dyn-stack-1.s: New test.
+		* gas/scfi/x86_64/scfi-enter-1.d: New test.
+		* gas/scfi/x86_64/scfi-enter-1.l: New test.
+		* gas/scfi/x86_64/scfi-enter-1.s: New test.
+		* gas/scfi/x86_64/scfi-fp-diag-2.l: New test.
+		* gas/scfi/x86_64/scfi-fp-diag-2.s: New test.
+		* gas/scfi/x86_64/scfi-indirect-mov-1.d: New test.
+		* gas/scfi/x86_64/scfi-indirect-mov-1.l: New test.
+		* gas/scfi/x86_64/scfi-indirect-mov-1.s: New test.
+		* gas/scfi/x86_64/scfi-indirect-mov-2.d: New test.
+		* gas/scfi/x86_64/scfi-indirect-mov-2.l: New test.
+		* gas/scfi/x86_64/scfi-indirect-mov-2.s: New test.
+		* gas/scfi/x86_64/scfi-indirect-mov-3.d: New test.
+		* gas/scfi/x86_64/scfi-indirect-mov-3.l: New test.
+		* gas/scfi/x86_64/scfi-indirect-mov-3.s: New test.
+		* gas/scfi/x86_64/scfi-indirect-mov-4.d: New test.
+		* gas/scfi/x86_64/scfi-indirect-mov-4.l: New test.
+		* gas/scfi/x86_64/scfi-indirect-mov-4.s: New test.
+		* gas/scfi/x86_64/scfi-indirect-mov-5.s: New test.
+		* gas/scfi/x86_64/scfi-lea-1.d: New test.
+		* gas/scfi/x86_64/scfi-lea-1.l: New test.
+		* gas/scfi/x86_64/scfi-lea-1.s: New test.
+		* gas/scfi/x86_64/scfi-leave-1.d: New test.
+		* gas/scfi/x86_64/scfi-leave-1.l: New test.
+		* gas/scfi/x86_64/scfi-leave-1.s: New test.
+		* gas/scfi/x86_64/scfi-pushq-1.d: New test.
+		* gas/scfi/x86_64/scfi-pushq-1.l: New test.
+		* gas/scfi/x86_64/scfi-pushq-1.s: New test.
+		* gas/scfi/x86_64/scfi-pushsection-1.d: New test.
+		* gas/scfi/x86_64/scfi-pushsection-1.l: New test.
+		* gas/scfi/x86_64/scfi-pushsection-1.s: New test.
+		* gas/scfi/x86_64/scfi-pushsection-2.d: New test.
+		* gas/scfi/x86_64/scfi-pushsection-2.l: New test.
+		* gas/scfi/x86_64/scfi-pushsection-2.s: New test.
+		* gas/scfi/x86_64/scfi-selfalign-func-1.d: New test.
+		* gas/scfi/x86_64/scfi-selfalign-func-1.l: New test.
+		* gas/scfi/x86_64/scfi-selfalign-func-1.s: New test.
+		* gas/scfi/x86_64/scfi-simple-1.d: New test.
+		* gas/scfi/x86_64/scfi-simple-1.l: New test.
+		* gas/scfi/x86_64/scfi-simple-1.s: New test.
+		* gas/scfi/x86_64/scfi-simple-2.d: New test.
+		* gas/scfi/x86_64/scfi-simple-2.l: New test.
+		* gas/scfi/x86_64/scfi-simple-2.s: New test.
+		* gas/scfi/x86_64/scfi-sub-1.d: New test.
+		* gas/scfi/x86_64/scfi-sub-1.l: New test.
+		* gas/scfi/x86_64/scfi-sub-1.s: New test.
+		* gas/scfi/x86_64/scfi-sub-2.d: New test.
+		* gas/scfi/x86_64/scfi-sub-2.l: New test.
+		* gas/scfi/x86_64/scfi-sub-2.s: New test.
+		* gas/scfi/x86_64/scfi-unsupported-1.l: New test.
+		* gas/scfi/x86_64/scfi-unsupported-1.s: New test.
+		* gas/scfi/x86_64/scfi-unsupported-2.l: New test.
+		* gas/scfi/x86_64/scfi-unsupported-2.s: New test.
+		* gas/scfi/x86_64/scfi-unsupported-3.l: New test.
+		* gas/scfi/x86_64/scfi-unsupported-3.s: New test.
+		* gas/scfi/x86_64/scfi-unsupported-4.l: New test.
+		* gas/scfi/x86_64/scfi-unsupported-4.s: New test.
+		* gas/scfi/x86_64/scfi-unsupported-cfg-1.l: New test.
+		* gas/scfi/x86_64/scfi-unsupported-cfg-1.s: New test.
+		* gas/scfi/x86_64/scfi-unsupported-cfg-2.l: New test.
+		* gas/scfi/x86_64/scfi-unsupported-cfg-2.s: New test.
+		* gas/scfi/x86_64/scfi-unsupported-drap-1.l: New test.
+		* gas/scfi/x86_64/scfi-unsupported-drap-1.s: New test.
+		* gas/scfi/x86_64/scfi-unsupported-insn-1.l: New test.
+		* gas/scfi/x86_64/scfi-unsupported-insn-1.s: New test.
+		* gas/scfi/x86_64/scfi-x86-64.exp: New file.
+
+2024-01-15  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	opcodes: i386-reg.tbl: Add a comment to reflect dependency on ordering
+	The ginsn representation keeps the DWARF register number of the
+	operands.  The API ginsn_dw2_regnum relies on the the relative ordering
+	of these register entries in the table.  Add a comment to make it clear.
+
+	opcodes/
+		* i386-reg.tbl: Add a comment.
+
+2024-01-15  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	gas: doc: update documentation for the new listing option
+	Add a new listing option, -i, to emit ginsn in the listing output.  We
+	may also emit other SCFI information if necessary in the future.
+
+	ginsn are most useful when seen alongside the assembly instructions.
+	Hence, they are emitted when the user includes the assembly instructions
+	in the listing output, i.e., "-ali=FILE".
+
+	gas/doc/:
+		* as.texi: Add documentation for the new listing option, -i.
+
+2024-01-15  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	gas: x86: synthesize CFI for hand-written asm
+	This patch adds support in GAS to create generic GAS instructions
+	(a.k.a., the ginsn) for the x86 backend (AMD64 ABI only at this time).
+	Using this ginsn infrastructure, GAS can then synthesize CFI for
+	hand-written asm for x86_64.
+
+	A ginsn is a target-independent representation of the machine
+	instructions.  One machine instruction may need one or more ginsn.
+
+	This patch also adds skeleton support for printing ginsn in the listing
+	output for debugging purposes.
+
+	Since the current use-case of ginsn is to synthesize CFI, the x86 target
+	needs to generate ginsns necessary for the following machine
+	instructions only:
+
+	 - All change of flow instructions, including all conditional and
+	   unconditional branches, call and return from functions.
+	 - All register saves and unsaves to the stack.
+	 - All instructions affecting the two registers that could potentially
+	   be used as the base register for CFA tracking.  For SCFI, the base
+	   register for CFA tracking is limited to REG_SP and REG_FP only for
+	   now.
+
+	The representation of ginsn is kept simple:
+
+	- GAS instruction has GINSN_NUM_SRC_OPNDS (defined to be 2 at this time)
+	  number of source operands and one destination operand at this time.
+	- GAS instruction uses DWARF register numbers in its representation and
+	  does not track register size.
+	- GAS instructions carry location information (file name and line
+	  number).
+	- GAS instructions are ID's with a natural number in order of their
+	  addtion to the list.  This can be used as a proxy for the static
+	  program order of the corresponding machine instructions.
+
+	Note that, GAS instruction (ginsn) format does not support
+	GINSN_TYPE_PUSH and GINSN_TYPE_POP.  Some architectures, like aarch64,
+	do not have push and pop instructions, but rather STP/LDP/STR/LDR etc.
+	instructions.  Further these instructions have a variety of addressing
+	modes, like offset, pre-indexing and post-indexing etc.  Among other
+	things, one of differences in these addressing modes is _when_ the addr
+	register is updated with the result of the address calculation: before
+	or after the memory operation.  To best support such needs, the generic
+	instructions like GINSN_TYPE_LOAD, GINSN_TYPE_STORE together with
+	GINSN_TYPE_ADD, and GINSN_TYPE_SUB may be used.
+
+	The functionality provided in ginsn.c and scfi.c is compiled in when a
+	target defines TARGET_USE_SCFI and TARGET_USE_GINSN.  This can be
+	revisited later when there are other use-cases of creating ginsn's in
+	GAS, apart from the current use-case of synthesizing CFI for
+	hand-written asm.
+
+	Support is added only for System V AMD64 ABI for ELF at this time.  If
+	the user enables SCFI with --32, GAS issues an error:
+
+	  "Fatal error: SCFI is not supported for this ABI"
+
+	For synthesizing (DWARF) CFI, the SCFI machinery requires the programmer
+	to adhere to some pre-requisites for their asm:
+	   - Hand-written asm block must begin with a .type   foo, @function
+	It is highly recommended to, additionally, also ensure that:
+	   - Hand-written asm block ends with a .size foo, .-foo
+
+	The SCFI machinery encodes some rules which align with the standard
+	calling convention specified by the ABI.  Apart from the rules, the SCFI
+	machinery employs some heuristics.  For example:
+	   - The base register for CFA tracking may be either REG_SP or REG_FP.
+	   - If the base register for CFA tracking is REG_SP, the precise amount of
+	     stack usage (and hence, the value of REG_SP) must be known at all times.
+	   - If using dynamic stack allocation, the function must switch to
+	     FP-based CFA.  This means using instructions like the following (in
+	     AMD64) in prologue:
+	        pushq   %rbp
+	        movq    %rsp, %rbp
+	     and analogous instructions in epilogue.
+	   - Save and Restore of callee-saved registers must be symmetrical.
+	     However, the SCFI machinery at this time only warns if any such
+	     asymmetry is seen.
+
+	These heuristics/rules are architecture-independent and are meant to
+	employed for all architectures/ABIs using SCFI in the future.
+
+	gas/
+		* Makefile.am: Add new files.
+		* Makefile.in: Regenerated.
+		* as.c (defined): Handle documentation and listing option for
+		ginsns and SCFI.
+		* config/obj-elf.c (obj_elf_size): Invoke ginsn_data_end.
+		(obj_elf_type): Invoke ginsn_data_begin.
+		* config/tc-i386.c (x86_scfi_callee_saved_p): New function.
+		(ginsn_prefix_66H_p): Likewise.
+		(ginsn_dw2_regnum): Likewise.
+		(x86_ginsn_addsub_reg_mem): Likewise.
+		(x86_ginsn_addsub_mem_reg): Likewise.
+		(x86_ginsn_alu_imm): Likewise.
+		(x86_ginsn_move): Likewise.
+		(x86_ginsn_lea): Likewise.
+		(x86_ginsn_jump): Likewise.
+		(x86_ginsn_jump_cond): Likewise.
+		(x86_ginsn_enter): Likewise.
+		(x86_ginsn_safe_to_skip): Likewise.
+		(x86_ginsn_unhandled): Likewise.
+		(x86_ginsn_new): New functionality to generate ginsns.
+		(md_assemble): Invoke x86_ginsn_new.
+		(s_insn): Likewise.
+		(i386_target_format): Add hard error for usage of SCFI with non AMD64 ABIs.
+		* config/tc-i386.h (TARGET_USE_GINSN): New definition.
+		(TARGET_USE_SCFI): Likewise.
+		(SCFI_MAX_REG_ID): Likewise.
+		(REG_FP): Likewise.
+		(REG_SP): Likewise.
+		(SCFI_INIT_CFA_OFFSET): Likewise.
+		(SCFI_CALLEE_SAVED_REG_P): Likewise.
+		(x86_scfi_callee_saved_p): Likewise.
+		* gas/listing.h (LISTING_GINSN_SCFI): New define for ginsn and
+		SCFI.
+		* gas/read.c (read_a_source_file): Close SCFI processing at end
+		of file read.
+		* gas/scfidw2gen.c (scfi_process_cfi_label): Add implementation.
+		(scfi_process_cfi_signal_frame): Likewise.
+		* subsegs.h (struct frch_ginsn_data): New forward declaration.
+		(struct frchain): New member for ginsn data.
+		* gas/subsegs.c (subseg_set_rest): Initialize the new member.
+		* symbols.c (colon): Invoke ginsn_frob_label to convey
+		user-defined labels to ginsn infrastructure.
+		* ginsn.c: New file.
+		* ginsn.h: New file.
+		* scfi.c: New file.
+		* scfi.h: New file.
+
+2024-01-15  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	opcodes: x86: new marker for insns that implicitly update stack pointer
+	Some x86 instructions affect the stack pointer implicitly.  Add a new
+	operand constraint to reflect this.  This will be useful for SCFI
+	implmentation to ensure its correctness.
+
+	Mark all push, pop, call, ret, enter, leave, INT, iret instructions.
+
+	opcodes/
+		* i386-gen.c: Update opcode_modifiers.
+		* i386-opc.h: Add a new constraint.
+		* i386-opc.tbl: Update the affected instructions.
+		* i386-tbl.h: Regenerated.
+
+2024-01-15  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	opcodes: gas: x86: define and use Rex2 as attribute not constraint
+	Rex2 is currently an operand constraint.  For the upcoming SCFI
+	implementation in GAS, we need to identify operations which implicitly
+	update the stack pointer.  An operand constraint enumerator for implicit
+	stack op seems more appropriate than an attribute.  However, two opcodes
+	currently necessitate both Rex2 and an implicit stack op marker; this
+	prompts revisiting the current representations a bit.
+
+	Make Rex2 a standalone attribute, so that later a new operand constraint
+	may be added for IMPLICIT_STACK_OP.
+
+	ChangeLog:
+		* gas/config/tc-i386.c (is_apx_rex2_encoding): Update the check.
+		* opcodes/i386-gen.c: Add a new BITFIELD for Rex2.
+		* opcodes/i386-opc.h (REX2_REQUIRED): Remove.
+		* opcodes/i386-opc.tbl: Remove Rex2 operand constraint.
+		* opcodes/i386-tbl.h: Regenerated.
+
+2024-01-15  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	gas: scfidw2gen: new functionality to prepare for SCFI
+	Define a new set of handlers for CFI directives for the purpose of SCFI.
+	The SCFI machinery ignores many of the user-specified CFI direcives when
+	SCFI is in effect.  A warning ("Warning: SCFI ignores most
+	user-specified CFI directives") is issued once per file.  The following
+	CFI directives, however, are not ignored:
+	      - .cfi_sections
+	      - .cfi_label
+	      - .cfi_signal_frame
+
+	gas/
+		* Makefile.am: Add new files to GAS_CFILES and HFILES.
+		* Makefile.in: Likewise.
+		* gas/read.c (scfi_pop_insert): New define.
+		(pobegin): Use the SCFI handlers.
+		* scfidw2gen.c: New file.
+		* scfidw2gen.h: New file.
+
+2024-01-15  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	gas: add new command line option --scfi=experimental
+	When the command line option --scfi=experimenta is passed to the GNU
+	assembler, it will synthesize DWARF call frame information (CFI) for the
+	input assembly.
+
+	The option --scfi=experimental will also ignore most of the existing
+	.cfi_* directives, if already contained in the provided input file.
+	Only the following CFI directives will not be ignored:
+	  - .cfi_sections,
+	  - .cfi_label,
+	  - .cfi_signal_frame
+
+	To use SCFI, a target will need to:
+	    - define TARGET_USE_SCFI and TARGET_USE_GINSN, and other necessary
+	    definitions,
+	    - provide means to help GAS understand the target specific instruction
+	    semantics by creating ginsns.
+
+	The upcoming support for SCFI is inteded to be experimental, hence the
+	option --scfi=experimental.  The --scfi= may see more options like
+	--scfi=[all,none] added in future, once the SCFI support in GAS is
+	mature and robust.  The offering may also see for example, an
+	--scfi=inline option for dealing with inline asm may be added in the
+	future.  In --scfi=inline option, the GNU assembler may consume (and not
+	ignore) the compiler generated CFI for the code surrounding the inline
+	asm.
+
+	Also document the option.
+
+	gas/
+	        * as.c (show_usage): Add support for --scfi=experimental.
+	        (parse_args): Likewise.
+	        * as.h (enum synth_cfi_type): Define new type.
+	        * doc/as.texi: Document the new option.
+
+2024-01-15  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	gas: dw2gencfi: externalize the all_cfi_sections
+	gas/
+	        * dw2gencfi.h: Declare all_cfi_sections as extern.
+
+2024-01-15  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	gas: dw2gencfi: expose dot_cfi_sections for scfidw2gen
+	scfidw2gen will use this for processing the .cfi_sections directive.
+
+	gas/
+	        * dw2gencfi.c (dot_cfi_sections): Not static anymore.
+	        * dw2gencfi.h (dot_cfi_sections): Mark as extern.
+
+2024-01-15  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	gas: dw2gencfi: move some tc_* defines to the header file
+	Move the following three defines to the header file, so the SCFI
+	machinery can use them:
+	 - tc_cfi_frame_initial_instructions
+	 - tc_cfi_startproc
+	 - tc_cfi_endproc
+
+	gas/
+	        * dw2gencfi.c: Move from ...
+		* dw2gencfi.h: ... to here.
+
+2024-01-15  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	gas: dw2gencfi: expose a new cfi_set_last_fde API
+	gas/
+		* dw2gencfi.c (cfi_set_last_fde): New definition.
+		(dot_cfi_endproc): Use it.
+		(dot_cfi_fde_data): Likewise.
+		(dot_cfi_inline_lsda): Likewise.
+		* dw2gencfi.h (struct fde_entry): New declaration.
+		(cfi_set_last_fde): Likewise.
+
+2024-01-15  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	gas: dw2gencfi: use all_cfi_sections instead of cfi_sections
+	The code in dw2gencfi.c was checking variable cfi_sections and
+	all_cfi_sections seemingly randomly.  Accessing all_cfi_sections seems
+	to the correct variable to access.
+
+	The data in cfi_sections has already been propagated to all_cfi_sections
+	once cfi_dot_startproc () has been called.
+
+	gas/
+	        * dw2gencfi.c (dot_cfi_startproc): Use all_cfi_sections
+		instead.
+	        (dot_cfi_endproc): Likewise.
+	        (dot_cfi_fde_data): Likewise.
+
+2024-01-15  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	gas: dw2gencfi: minor rejig for cfi_sections_set and all_cfi_sections
+	cfi_sections_set is best set to true in cfi_dot_startproc ().  Setting
+	it to true again in other APIs (dot_cfi_endproc, dot_cfi_fde_data, and
+	cfi_finish) is unnecessary.  Also, move setting the global var
+	all_cfi_sections into cfi_set_sections ().
+
+	gas/
+	        * dw2gencfi.c (cfi_set_sections): Set cfi_sections_set and
+		cfi_sections here.
+	        (dot_cfi_startproc): Remove unnecessarily setting
+		cfi_set_sections to true.
+	        (dot_cfi_endproc): Likewise.
+	        (dot_cfi_fde_data): Likewise.
+	        (cfi_finish): Likewise.
+
+2024-01-15  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-14  Tom de Vries  <tdevries@suse.de>
+
+	[gdb/testsuite] Fix gdb.mi/mi-dprintf.exp with read1
+	When running test-case gdb.mi/mi-dprintf.exp with check-read1, I run into:
+	...
+	(gdb) ^M
+	PASS: gdb.mi/mi-dprintf.exp: gdb: mi 2nd dprintf stop
+	-data-evaluate-expression stderr^M
+	^done,value="0x7ffff7e4a420 <_IO_2_1_stderr_>"^M
+	(gdb) FAIL: gdb.mi/mi-dprintf.exp: stderr symbol check
+	...
+
+	The problem is in proc mi_gdb_is_stderr_available:
+	...
+	proc mi_gdb_is_stderr_available {} {
+	    set has_stderr_symbol false
+	    gdb_test_multiple "-data-evaluate-expression stderr" "stderr symbol check" {
+		-re "\\^error,msg=\"'stderr' has unknown type; cast it to its declared type\"\r\n$::mi_gdb_prompt$" {
+		}
+		-re "$::mi_gdb_prompt$" {
+		    set has_stderr_symbol true
+		}
+	     }
+	...
+	which uses a gdb_test_multiple that is supposed to use the mi prompt, but
+	doesn't use -prompt to indicate this.  Consequently, the default patterns use
+	the regular gdb prompt, which trigger earlier than the two custom patterns
+	which use "$::mi_gdb_prompt$".
+
+	Fix this by adding the missing -prompt "$::mi_gdb_prompt$" arguments.
+
+	While we're at it, make the gdb_test_multiple call a bit more readable by
+	using variables, and by using -wrap.
+
+	Tested on x86_64-linux, with:
+	- gcc and clang (to trigger both the has_stderr_symbol true and false cases)
+	- make check and make check-read1.
+
+2024-01-14  Tom de Vries  <tdevries@suse.de>
+
+	[gdb/testsuite] Fix gdb.cp/namespace.exp with read1
+	With check-read1 we run into:
+	...
+	(gdb) break DNE>::DNE^M
+	Function "DNE>::DNE" not defined.^M
+	Make breakpoint pending on future shared library load? (y or [n]) y^M
+	Breakpoint 9 (DNE>::DNE) pending.^M
+	n^M
+	(gdb) FAIL: gdb.cp/namespace.exp: br malformed '>' (got interactive prompt)
+	n^M
+	...
+
+	The question is supposed to be handled by the question and response arguments
+	to this gdb_test call:
+	...
+	gdb_test "break DNE>::DNE" "" "br malformed \'>\'" \
+	    "Make breakpoint pending on future shared library load?.*" "y"
+	...
+	but both this and the builtin handling in gdb_test_multiple triggers.
+
+	The cause of this is that the question argument regexp is incomplete.
+
+	Fix this by making sure that the entire question is matched in the regexp:
+	...
+	set yn_re [string_to_regexp {(y or [n])}]
+	  ...
+	    "Make breakpoint pending on future shared library load\\? $yn_re " "Y"
+	...
+
+	Tested on x86_64-linux.
+
+2024-01-14  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-13  Yang Liu  <liuyang22@iscas.ac.cn>
+
+	gdb: RISC-V: Refine lr/sc sequence support
+	Per RISC-V spec, the lr/sc sequence can consist of up to 16 instructions, and we
+	cannot insert breakpoints in the middle of this sequence. Before this, we only
+	detected a specific pattern (the most common one). This patch improves this part
+	and now supports more complex pattern detection.
+
+	Approved-By: Andrew Burgess <aburgess@redhat.com>
+	Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com>
+
+2024-01-13  Yang Liu  <liuyang22@iscas.ac.cn>
+
+	Add myself to gdb/MAINTAINERS
+
+2024-01-13  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
+
+	gprofng: 30889 can't compile without large file support
+	gprofng/ChangeLog
+	2024-01-12  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
+
+		PR 30889
+		* src/util.h (O_LARGEFILE): Define to 0, if not defined.
+
+2024-01-13  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-12  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
+
+	gprofng: fix 3 bugzillas against gp-display-html
+	Fix two cases where gp-display-html terminates prematurely because the
+	input format is not recognized.  This problem occurs in the function
+	overview and caller-callee parts of the code.
+	The fix consists of new regular expressions and a different approach
+	in handling the input from gp-display-text.
+	Also fix a performance problem in the caller-callee part that has a
+	noticeable impact on the performance for large applications.
+
+	gprofng/ChangeLog
+	2024-01-10  Ruud van der Pas  <ruud.vanderpas@oracle.com>
+
+		PR gprofng/30438
+		PR gprofng/30439
+		PR gprofng/30942
+		* gp-display-html/gp-display-html.in: fixes the issues.
+
+2024-01-12  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+	sim: Fix compile errors
+	The following change broke simulator testsuite with host GCC 13:
+	  commit 435ad222b3de93fa647fba7221eece36b1b395eb
+	  sim: warnings: compile build tools with -Werror too
+
+	Host GCC13 complains about missing function prototypes:
+
+	binutils/sim/testsuite/common/bits-gen.c:26:1: error: no previous prototype for ‘gen_struct’ [-Werror=missing-prototypes]
+	   26 | gen_struct (void)
+	      | ^~~~~~~~~~
+
+	Fix by making the functions static, which instructs the compiler that
+	there is no need for a prototype.
+
+2024-01-12  David Faust  <david.faust@oracle.com>
+
+	bpf: fix relocation addend incorrect symbol value
+	Relocations installed by the BPF ELF backend were sometimes incorrectly
+	adding the symbol value to the relocation entry addend, when the correct
+	relocation value was already stored in the addend. This could lead to a
+	relocation effectively adding the symbol value twice.
+
+	Fix that by making bpf_elf_generic_reloc () more similar to the flow of
+	bfd_install_relocation in the case where howto->install_addend is set,
+	which is how it ought to behave.
+
+	bfd/
+		* bpf-reloc.def (R_BPF_64_ABS32, R_BPF_64_ABS64)
+		(R_BPF_64_NODYLD32): Set partial_inplace to true.
+		* elf64-bpf.c (bpf_elf_generic_reloc): Do not include the value
+		of the symbol when installing relocation. Copy some additional
+		logic from bfd_elf_generic_reloc.
+
+	gas/
+		* testsuite/gas/bpf/bpf.exp: Run new test.
+		* testsuite/gas/bpf/elf-relo-1.d: New.
+		* testsuite/gas/bpf/elf-relo-1.s: New.
+
+2024-01-12  Andrew Burgess  <aburgess@redhat.com>
+
+	gdb/testsuite: fix failure in gdb.python/py-inferior.exp
+	After this commit:
+
+	  commit 1925bba80edd37c2ef90ef1d2c599dfc2fc17f72
+	  Date:   Thu Jan 4 10:01:24 2024 +0000
+
+	      gdb/python: add gdb.InferiorThread.__repr__() method
+
+	failures were reported for gdb.python/py-inferior.exp.
+
+	The test grabs a gdb.InferiorThread object representing an inferior
+	thread, and then, later in the test, expects this Python object to
+	become invalid when the inferior thread has exited.
+
+	The gdb.InferiorThread object was obtained from the list returned by
+	calling gdb.Inferior.threads().
+
+	The mistake I made in the original commit was to assume that the order
+	of the threads returned from gdb.Inferior.threads() somehow reflected
+	the thread creation order.  Specifically, I was expecting the main
+	thread to be first in the list, and "other" threads to appear ... not
+	first.
+
+	However, the gdb.Inferior.threads() function creates a list and
+	populates it from a map.  The order of the threads in the returned
+	list has no obvious relationship to the thread creation order, and can
+	vary from host to host.
+
+	On my machine the ordering was as I expected, so the test passed for
+	me.  For others the ordering was not as expected, and it just happened
+	that we ended up recording the gdb.InferiorThread for the main thread.
+
+	As the main thread doesn't exit (until the test is over), the
+	gdb.InferiorThread object never became invalid, and the test failed.
+
+	Fixed in this commit by taking more care to correctly find a non-main
+	thread.  I do this by recording the main thread early on (when there
+	is only one inferior thread), and then finding any thread that is not
+	this main thread.
+
+	Then, once all of the secondary threads have exited, I know that the
+	second InferiorThread object I found should now be invalid.
+
+	The test still passes for me, and I believe this should fix the issue
+	for everyone else too.
+
+	Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31238
+
+2024-01-12  Andrew Burgess  <aburgess@redhat.com>
+
+	Update copyright year range in header of all files managed by GDB
+	This commit is the result of the following actions:
+
+	  - Running gdb/copyright.py to update all of the copyright headers to
+	    include 2024,
+
+	  - Manually updating a few files the copyright.py script told me to
+	    update, these files had copyright headers embedded within the
+	    file,
+
+	  - Regenerating gdbsupport/Makefile.in to refresh it's copyright
+	    date,
+
+	  - Using grep to find other files that still mentioned 2023.  If
+	    these files were updated last year from 2022 to 2023 then I've
+	    updated them this year to 2024.
+
+	I'm sure I've probably missed some dates.  Feel free to fix them up as
+	you spot them.
+
+2024-01-12  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+	aarch64: Remove unused code
+	Most of this code became redundant in my previous commits, but ARMV8_6A_SVE was
+	already dead when it was first added.
+
+	aarch64: Make FEAT_ASMv8p2 instruction aliases always available
+	There's no reason to disallow the aliases when the aliased instructions are
+	always available.  The new behaviour matches existing LLVM behaviour.
+
+	aarch64: Add +xs flag for existing instructions
+	Additionally, change FEAT_XS tlbi variants to be gated on "+xs" instead of
+	"+d128".  This is an incremental improvement; there are still some FEAT_XS tlbi
+	variants that are gated incorrectly or missing entirely.
+
+	aarch64: Add +wfxt flag for existing instructions
+
+	aarch64: Add +rcpc2 flag for existing instructions
+
+	aarch64: Add +flagm2 flag for existing instructions
+
+	aarch64: Add +frintts flag for existing instructions
+
+	aarch64: Add +jscvt flag for existing fjcvtzs instruction
+
+	aarch64: Fix option parsing to disallow prefixes of valid options
+	Add "+rdm" as an explicit alias for "+rdma", to maintain existing compatibility
+	with Clang.
+
+	aarch64: Add +fcma alias for +compnum
+
+	aarch64: Fix +lse feature flag dependency
+
+2024-01-12  Andrew Burgess  <aburgess@redhat.com>
+
+	gdb/doc: update examples in gdb.Progspace and gdb.Objfile docs
+	This commit updates the Python example code in the gdb.Progspace and
+	gdb.Objfile sections of the docs.  Changes made:
+
+	  1. Use @value{GDBP} for the GDB prompt rather than
+	  hard-coding (gdB),
+
+	  2. Use @group...@end group to split the example code into
+	  unbreakable chunks, and
+
+	  3. Add parenthesis to the Python print() calls in the examples.  In
+	  Python 2 it was OK to drop the parenthesis, but now GDB is Python 3
+	  only, example code should include the parenthesis.
+
+	Approved-By: Eli Zaretskii <eliz@gnu.org>
+	Approved-By: Tom Tromey <tom@tromey.com>
+
+2024-01-12  Andrew Burgess  <aburgess@redhat.com>
+
+	gdb/doc: add some notes on selecting suitable attribute names
+	In previous commits I've added Object.__dict__ support to gdb.Inferior
+	and gdb.InferiorThread, this is similar to the existing support for
+	gdb.Objfile and gdb.Progspace.
+
+	This commit extends the documentation to offer the user some guidance
+	on selecting good names for their custom attributes so they
+	can (hopefully) avoid conflicting with any future attributes that GDB
+	might add.
+
+	The rules I've proposed are:
+
+	  1. Don't start user attributes with a lower case letter, all the
+	  current GDB attributes start with a lower case letter, and I suspect
+	  all future attributes would also start with a lower case letter, and
+
+	  2. Don't start user attributes with a double underscore, this risks
+	  conflicting with Python built in attributes (e.g. __dict__) - though
+	  clearly the user would need to start and end with a double
+	  underscore, but it seemed easier just to say no double underscores.
+
+	I'm doing this as a separate commit as I've updated the docs for the
+	existing gdb.Objfile and gdb.Progspace so they all reference a single
+	paragraph on selecting attribute names.
+
+	Reviewed-By: Eli Zaretskii <eliz@gnu.org>
+	Approved-By: Tom Tromey <tom@tromey.com>
+
+2024-01-12  Andrew Burgess  <aburgess@redhat.com>
+
+	gdb/python: Add gdb.InferiorThread.__dict__ attribute
+	The gdb.Objfile, gdb.Progspace, gdb.Type, and gdb.Inferior Python
+	types already have a __dict__ attribute, which allows users to create
+	user defined attributes within the objects.  This is useful if the
+	user wants to cache information within an object.
+
+	This commit adds the same functionality to the gdb.InferiorThread
+	type.
+
+	After this commit there is a new gdb.InferiorThread.__dict__
+	attribute, which is a dictionary.  A user can, for example, do this:
+
+	  (gdb) pi
+	  >>> t = gdb.selected_thread()
+	  >>> t._user_attribute = 123
+	  >>> t._user_attribute
+	  123
+	  >>>
+
+	There's a new test included.
+
+	Reviewed-By: Eli Zaretskii <eliz@gnu.org>
+	Approved-By: Tom Tromey <tom@tromey.com>
+
+2024-01-12  Andrew Burgess  <aburgess@redhat.com>
+
+	gdb/python: Add gdb.Inferior.__dict__ attribute
+	The gdb.Objfile, gdb.Progspace, and gdb.Type Python types already have
+	a __dict__ attribute, which allows users to create user defined
+	attributes within the objects.  This is useful if the user wants to
+	cache information within an object.
+
+	This commit adds the same functionality to the gdb.Inferior type.
+
+	After this commit there is a new gdb.Inferior.__dict__ attribute,
+	which is a dictionary.  A user can, for example, do this:
+
+	  (gdb) pi
+	  >>> i = gdb.selected_inferior()
+	  >>> i._user_attribute = 123
+	  >>> i._user_attribute
+	  123
+	  >>>
+
+	There's a new test included.
+
+	Reviewed-By: Eli Zaretskii <eliz@gnu.org>
+	Approved-By: Tom Tromey <tom@tromey.com>
+
+2024-01-12  Andrew Burgess  <aburgess@redhat.com>
+
+	gdb/python: remove users ability to create gdb.Progspace objects
+	I noticed that it is possible for the user to create a new
+	gdb.Progspace object, like this:
+
+	  (gdb) pi
+	  >>> p = gdb.Progspace()
+	  >>> p
+	  <gdb.Progspace object at 0x7ffad4219c10>
+	  >>> p.is_valid()
+	  False
+
+	As the new gdb.Progspace object is not associated with an actual C++
+	program_space object within GDB core, then the new gdb.Progspace is
+	created invalid, and there is no way in which the new object can ever
+	become valid.
+
+	Nor do I believe there's anywhere in the Python API where it makes
+	sense to consume an invalid gdb.Progspace created in this way, for
+	example, the gdb.Progspace could be passed as the locus to
+	register_type_printer, but all that would happen is that the
+	registered printer would never be used.
+
+	In this commit I propose to remove the ability to create new
+	gdb.Progspace objects.  Attempting to do so now gives an error, like
+	this:
+
+	  (gdb) pi
+	  >>> gdb.Progspace()
+	  Traceback (most recent call last):
+	    File "<stdin>", line 1, in <module>
+	  TypeError: cannot create 'gdb.Progspace' instances
+
+	Of course, there is a small risk here that some existing user code
+	might break ... but if that happens I don't believe the user code can
+	have been doing anything useful, so I see this as a small risk.
+
+	Reviewed-By: Eli Zaretskii <eliz@gnu.org>
+	Approved-By: Tom Tromey <tom@tromey.com>
+
+2024-01-12  Andrew Burgess  <aburgess@redhat.com>
+
+	gdb/python: add gdb.Frame.__repr__() method
+	Add a gdb.Frame.__repr__() method.  Before this patch we would see
+	output like this:
+
+	  (gdb) pi
+	  >>> gdb.selected_frame()
+	  <gdb.Frame object at 0x7fa8cc2df270>
+
+	After this patch, we now see:
+
+	  (gdb) pi
+	  >>> gdb.selected_frame()
+	  <gdb.Frame level=0 frame-id={stack=0x7ffff7da0ed0,code=0x000000000040115d,!special}>
+
+	More verbose, but, I hope, more useful.
+
+	If the gdb.Frame becomes invalid, then we will see:
+
+	  (gdb) pi
+	  >>> invalid_frame_variable
+	  <gdb.Frame (invalid)>
+
+	which is inline with how other invalid objects are displayed.
+
+	Approved-By: Tom Tromey <tom@tromey.com>
+
+2024-01-12  Andrew Burgess  <aburgess@redhat.com>
+
+	gdb/python: add gdb.InferiorThread.__repr__() method
+	Add a gdb.InferiorThread.__repr__() method.  Before this patch we
+	would see output like this:
+
+	  (gdb) pi
+	  >>> gdb.selected_thread()
+	  <gdb.InferiorThread object at 0x7f4dcc49b970>
+
+	After this patch, we now see:
+
+	  (gdb) pi
+	  >>> gdb.selected_thread()
+	  <gdb.InferiorThread id=1.2 target-id="Thread 0x7ffff7da1700 (LWP 458134)">
+
+	More verbose, but, I hope, more useful.
+
+	If the gdb.InferiorThread becomes invalid, then we will see:
+
+	  (gdb) pi
+	  >>> invalid_thread_variable
+	  <gdb.InferiorThread (invalid)>
+
+	Which is inline with how other invalid objects are displayed.
+
+	Approved-By: Tom Tromey <tom@tromey.com>
+
+2024-01-12  Andrew Burgess  <aburgess@redhat.com>
+
+	gdb/python: hoist common invalid object repr code into py-utils.c
+	Many object types now have a __repr__() function implementation.  A
+	common pattern is that, if an object is invalid, we print its
+	representation as: <TYPENAME (invalid)>.
+
+	I thought it might be a good idea to move the formatting of this
+	specific representation into a utility function, and then update all
+	of our existing code to call the new function.
+
+	The only place where I haven't made use of the new function is in
+	unwind_infopy_repr, where we currently return a different string.
+	This case is a little different as the UnwindInfo is invalid because
+	it references a frame, and it is the frame itself which is invalid.
+	That said, I think it would be fine to switch to using the standard
+	format; if the UnwindInfo references an invalid frame, then the
+	UnwindInfo is itself invalid.  But changing this would be an actual
+	change in behaviour, while all the other changes in this commit are
+	just refactoring.
+
+	Approved-By: Tom Tromey <tom@tromey.com>
+
+2024-01-12  Andrew Burgess  <aburgess@redhat.com>
+
+	gdb: add trailing '/' when using 'complete' with directory names
+	This patch contains work pulled from this previously proposed patch:
+
+	  https://inbox.sourceware.org/gdb-patches/20210213220752.32581-2-lsix@lancelotsix.com/
+
+	But has been modified by me.  Credit for the original idea and
+	implementation goes to Lancelot, any bugs in this new iteration belong
+	to me.
+
+	Consider the executable `/tmp/foo/my_exec', and if we assume `/tmp' is
+	empty other than the `foo' sub-directory, then currently within GDB,
+	if I type:
+
+	  (gdb) file /tmp/f
+
+	and then hit TAB, GDB completes this to:
+
+	  (gdb) file /tmp/foo/
+
+	notice that not only did GDB fill in the whole of `foo', but GDB also
+	added a trailing '/' character.  This is done within readline when the
+	path that was just completed is a directory.  However, if I instead
+	do:
+
+	  (gdb) complete file /tmp/f
+	  file /tmp/foo
+
+	I now see the completed directory name, but the trailing '/' is
+	missing.  The reason is that, in this case, the completions are not
+	offered via readline, but are handled entirely within GDB, and so
+	readline never gets the chance to add the trailing '/' character.
+
+	The above patch added filename option support to GDB, which included
+	completion of the filename options.  This initially suffered from the
+	same problem that I've outlined above, but the above patch proposed a
+	solution to this problem, but this solution only applied to filename
+	options (which have still not been added to GDB), and was mixed in
+	with the complete filename options support.
+
+	This patch pulls out just the fix for the trailing "/" problem, and
+	applies it to GDB's general filename completion.  This patch does not
+	add filename options to GDB, that can always be done later, but I
+	think this small part is itself a useful fix.
+
+	One of the biggest changes I made in this version is that I got rid of
+	the set_from_readline member function, instead, I now pass the value
+	of m_from_readline into the completion_tracker constructor.
+
+	I then moved the addition of the trailing '/' into filename_completer
+	so that it is applied in the general filename completion case.  I also
+	added a call to gdb_tilde_expand which was missing from the original
+	patch, I haven't tested, but I suspect that this meant that the
+	original patch would not add the trailing '/' if the user entered a
+	path starting with a tilde character.
+
+	When writing the test for this patch I ran into two problems.
+
+	The first was that the procedures in lib/completion-support.exp relied
+	on the command being completed for the test name.  This is fine for
+	many commands, but not when completing a filename, if we use the
+	command in this case the test name will (potentially) include the name
+	of the directory in which the test is being run, which means we can't
+	compare results between two runs of GDB from different directories.
+
+	So in this commit I've gone through completion-support.exp and added a
+	new (optional) testname argument to many of the procedures, this
+	allows me to give a unique test name, that doesn't include the path
+	for my new tests.
+
+	The second issue was in the procedure make_tab_completion_list_re,
+	this builds the completion list which is displayed after a double tab
+	when there are multiple possible completions.
+
+	The procedure added the regexp ' +' after each completion, and then
+	added another ' +' at the very end of the expected output.  So, if we
+	expected to match the name of two functions 'f1' and 'f2' the
+	generated regexp would be: 'f1 +f2 + +'.  This would match just fine,
+	the actual output would be: 'f1  f2  ', notice that we get two spaces
+	after each function name.
+
+	However, if we complete two directory names 'd1' and 'd2' then the
+	output will be 'd1/ d2/ '.  Notice that now we only have a single
+	space between each match, however, we do get the '/' added instead.
+
+	What happens is that when presenting the matches, readline always adds
+	the appropriate trailing character; if we performed tab completion of
+	'break f1' then, as 'f1' is a unique match, we'd get 'break f1 ' with
+	a trailing space added.  However, if we complete 'file d1' then we get
+	'file d1/'.  Then readline is adding a single space after each
+	possible match, including the last one, which accounts for the
+	trailing space character.
+
+	To resolve this I've simply remove the addition o the second ' +'
+	within make_tab_completion_list_re, for the function completion
+	example I gave above the expected pattern is now 'f1 +f2 +', which for
+	the directory case we expect 'd1/ +d2/ +', both of which work just
+	fine.
+
+	Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=16265
+	Co-Authored-By: Lancelot SIX <lsix@lancelotsix.com>
+	Approved-By: Tom Tromey <tom@tromey.com>
+	Reviewed-By: John Baldwin <jhb@FreeBSD.org>
+
+2024-01-12  Andrew Burgess  <aburgess@redhat.com>
+
+	gdb/python: New InferiorThread.ptid_string attribute
+	This commit adds a new InferiorThread.ptid_string attribute.  This
+	read-only attribute contains the string returned by target_pid_to_str,
+	which actually converts a ptid (not pid) to a string.
+
+	This is the string that appears (at least in part) in the output of
+	'info threads' in the 'Target Id' column, but also in the thread
+	exited message that GDB prints.
+
+	Having access to this string from Python is useful for allowing
+	extensions identify threads in a similar way to how GDB core would
+	identify the thread.
+
+	Reviewed-By: Eli Zaretskii <eliz@gnu.org>
+	Approved-By: Tom Tromey <tom@tromey.com>
+
+2024-01-12  Tom de Vries  <tdevries@suse.de>
+
+	[gdb/testsuite] Use require in gdb.dwarf2/assign-variable-value-to-register.exp
+	In test-case gdb.dwarf2/assign-variable-value-to-register.exp a return is
+	missing here after the unsupported:
+	...
+	if { ![is_x86_64_m64_target] } {
+	    unsupported "unsupported architecture"
+	}
+	...
+	and consequently on aarch64-linux I ran into an UNSUPPORTED followed by 3
+	FAILs.
+
+	Fix this by simply using require:
+	...
+	require is_x86_64_m64_target
+	...
+
+	Tested on x86_64-linux and aarch64-linux.
+
+2024-01-12  Indu Bhagat  <indu.bhagat@oracle.com>
+
+	gas: sframe: warn when skipping SFrame FDE generation
+	Fix PR gas/31213.
+
+	gas/
+		PR gas/31213
+	        * gen-sframe.c (sframe_do_cfi_insn): Add new warning.
+
+	gas/testsuite/
+		* gas/cfi-sframe/common-empty-1.d: Test the new warning as well.
+		* gas/cfi-sframe/common-empty-2.d: Likewise.
+
+2024-01-12  mengqinggang  <mengqinggang@loongson.cn>
+
+	LoongArch: Fix relaxation overflow caused by section alignment
+	When deleting NOP instructions addend by .align at second pass, this may cause
+	the PC decrease but the symbol address to remain unchanged due to section
+	alignment.
+
+	To solve this question, we subtract a maximux alignment of all sections like
+	RISC-V.
+
+2024-01-12  Cui, Lili  <lili.cui@intel.com>
+
+	x86: Fix indentation and use true/false instead of 1/0
+	gas/ChangeLog:
+
+	        * config/tc-i386.c (establish_rex): Fix indentation.
+	        (check_EgprOperands): Use true/false instead of 1/0.
+
+2024-01-12  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-11  Simon Marchi  <simon.marchi@efficios.com>
+
+	gdb: fix frame passed to gdbarch_value_to_register in value_assign
+	Commit 78f2fd84e83 ("gdb: remove VALUE_REGNUM, add value::regnum")
+	introduced an unexpected change in value_assign.  It replaced
+	`get_prev_frame_always (next_frame)` with `next_frame`in the call to
+	gdbarch_value_to_register.
+
+	This is the result of a merge error, since I previously had a patch to
+	change gdbarch_value_to_register to take the next frame, and later
+	decided to drop it.  Revert that change.
+
+	Add a test based on the DWARF assembler to expose the problem and test
+	the fix.  I also tested on ppc64le to make sure the problem reported in
+	PR 31231 was fixed.
+
+	Change-Id: Ib8b851287ac27a4b2e386f7b680cf65865e6aee6
+	Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31231
+
+2024-01-11  Tom de Vries  <tdevries@suse.de>
+
+	[gdb/testsuite] Fix gdb.dwarf2/dw2-entry-points.exp on ppc64le
+	On ppc64le-linux, I run into:
+	...
+	(gdb) bt^M
+	 #0  0x00000000100006dc in foobar (J=2)^M
+	 #1  0x000000001000070c in prog ()^M
+	(gdb) FAIL: gdb.dwarf2/dw2-entry-points.exp: bt foo
+	...
+
+	The test-case attemps to emulate additional entry points of a function, with
+	function bar having entry points foo and foobar:
+	...
+	(gdb) p bar
+	$1 = {void (int, int)} 0x1000064c <bar>
+	(gdb) p foo
+	$2 = {void (int, int)} 0x10000698 <foo>
+	(gdb) p foobar
+	$3 = {void (int)} 0x100006d0 <foobar>
+	...
+
+	However, when setting a breakpoint on the entry point foo:
+	...
+	(gdb) b foo
+	Breakpoint 1 at 0x100006dc
+	...
+	it ends up in foobar instead of in foo, due to prologue skipping, and
+	consequently the backtrace show foobar instead foo.
+
+	The problem is that the test-case does not emulate an actual prologue at each
+	entry point.
+
+	Fix this by disabling the prologue skipping when setting a breakpoint, using
+	"break *foo".
+
+	Tested on ppc64le-linux and x86_64-linux.
+
+	Tested-By: Guinevere Larsen <blarsen@redhat.com>
+	Approved-By: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+	PR testsuite/31232
+	Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31232
+
+2024-01-11  Tom de Vries  <tdevries@suse.de>
+
+	[gdb/testsuite] Extend gdb.base/kill-during-detach.exp
+	I ran into the following FAIL:
+	...
+	(gdb) python kill_and_detach()^M
+	Traceback (most recent call last):^M
+	  File "<string>", line 1, in <module>^M
+	  File "<string>", line 7, in kill_and_detach^M
+	gdb.error: Selected thread is running.^M
+	Error while executing Python code.^M
+	(gdb) FAIL: gdb.base/kill-during-detach.exp: exit_p=true: checkpoint_p=true: \
+	  python kill_and_detach()
+	...
+
+	The FAIL happens as follows:
+	- gdb is debugging a process A
+	- a checkpoint is created, in other words, fork is called in the inferior,
+	  after which we have:
+	  - checkpoint 0 (the fork parent, process A), and
+	  - checkpoint 1 (the fork child, process B).
+	- during checkpoint creation, lseek is called in the inferior (process A) for
+	  all file descriptors, and it returns != -1 for at least one file descriptor.
+	- the process A continues in the background
+	- gdb detaches, from process A
+	- gdb switches to process B, in other words, it restarts checkpoint 1
+	- while restarting checkpoint 1, gdb tries to call lseek in the inferior
+	  (process B), but this fails because gdb incorrectly thinks that inferior B
+	  is running.
+
+	This happens because linux_nat_switch_fork patches the pid of process B into
+	the current inferior and current thread which where originally representing
+	process A.  So, because process A was running in the background, the
+	thread_info fields executing and resumed are set accordingly, but they are not
+	correct for process B.
+
+	There's a line in fork_load_infrun_state that fixes up the thread_info field
+	stop_pc, so fix this by adding similar fixups for the executing and resumed
+	fields alongside.
+
+	The FAIL did not always reproduce, so extend the test-case to reliably
+	trigger this scenario.
+
+	Tested on x86_64-linux.
+
+	Approved-By: Kevin Buettner <kevinb@redhat.com>
+
+	PR gdb/31203
+	Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31203
+
+2024-01-11  changjiachen  <changjiachen@stu.xupt.edu.cn>
+
+	LoongArch: ld: Adjusted some code order in relax.exp.
+		ld/testsuite/ChangeLog:
+
+		* ld/testsuite/ld-loongarch-elf/relax.exp: Modify test.
+
+2024-01-11  Lulu Cai  <cailulu@loongson.cn>
+
+	LoongArch: Discard extra spaces in objdump output
+	Due to the formatted output of objdump, some instructions
+	that do not require output operands (such as nop/ret) will
+	have extra spaces added after them.
+
+	Determine whether to output operands through the format
+	of opcodes. When opc->format is an empty string, no extra
+	spaces are output.
+
+2024-01-11  Mike Frysinger  <vapier@gentoo.org>
+
+	sim: ppc: return register error when unhandled
+	We don't want to fallthru and use cooked_buf when we haven't initialized
+	it to anything.  Returning 0 indicates the register wasn't recognized.
+
+	sim: m32r: enable warnings in traps.c
+	File should be clean now!
+
+2024-01-11  Mike Frysinger  <vapier@gentoo.org>
+
+	sim: m32r: fixup some of the int<->pointer casts
+	The m32r trap code was written for a 32-bit Linux host (and really, one
+	whose Linux ABI matched pretty exactly).  This has lead to conversions
+	between integers and pointers which breaks down hard on 64-bit hosts.
+
+	Clean up some of the functions where possible to avoid unnecessary
+	conversions, use uintptr_t to cast 32-bit target pointers to host
+	pointers in some places, and just stub out a few functions that can't
+	easily be salvaged currently when sizeof(void*) is not 32-bits.  This
+	is a bit ugly, but lets us enable warnings for the whole file.
+
+2024-01-11  Mike Frysinger  <vapier@gentoo.org>
+
+	sim: m32r: fix missing break statement
+	The ftime syscall should not fallthrough to the sync syscall.
+	Clearly the code was missing a break statement.
+
+2024-01-11  Mike Frysinger  <vapier@gentoo.org>
+
+	sim: m32r: migrate ftime() to clock_gettime()
+	The ftime() function has been deprecated since POSIX-1-2004, and
+	removed in POSIX.1-2008.  It's also been deprecated/removed in glibc
+	since 2.33.  POSIX has always said the function is not portable, and
+	its return value, timezone, and dstflag fields are unspecified.  Even
+	if Linux/glibc & m32r had defined behavior, those aren't the host for
+	the sim runtime.
+
+	So let's stop using the function and switch to clock_gettime.  gnulib
+	already has detection support for it, and it's been around since at
+	least POSIX-1-2004.
+
+2024-01-11  Mike Frysinger  <vapier@gentoo.org>
+
+	sim: m32r: cleanup unused variables
+	We've been building this file with -Wno-error, so clean up unused
+	variable warnings.
+
+	sim: igen: add printf attributes to the prototypes too
+	While gcc propagates the printf attribute via the typedef, clang
+	doesn't seem to, so add it to the prototypes themselves too.  We
+	still keep it on the prototype for cases where it's used as a
+	variable.
+
+2024-01-11  Mike Frysinger  <vapier@gentoo.org>
+
+	gdbsupport: tighten up libiberty code a bit with dnl
+	No functional change here, just touch up generated output slightly.
+
+	Approved-By: Tom Tromey <tom@tromey.com>
+
+2024-01-11  Mike Frysinger  <vapier@gentoo.org>
+
+	sim: build: switch to gdbsupport/libiberty.m4
+	Leverage this common logic to find all the libiberty settings rather
+	than duplicate it ourselves.
+
+	sim: ppc: rework defines.h to handle HAVE symbols defined to 0
+	The HAVE_DECL_xxx defines are always defined to 0 or 1.  The current
+	defines.h logic assumes every HAVE_xxx symbol is only defined iff it's
+	defined to 1 which causes this to break.  Tweak the sed logic to only
+	match defines of 1.
+
+2024-01-11  Mike Frysinger  <vapier@gentoo.org>
+
+	gdb: libiberty: switch to AC_CHECK_DECLS_ONCE
+	Only check these decls once in case other m4 macros also look for them.
+
+	Approved-By: Tom Tromey <tom@tromey.com>
+
+2024-01-11  Mike Frysinger  <vapier@gentoo.org>
+
+	gdb: move libiberty.m4 to gdbsupport
+	This is used by gdb, gdbsupport, and gdbserver.  We want to use it
+	in the sim tree too.  Move it to gdbsupport which is meant as the
+	common sharing space for these projects.
+
+	Approved-By: Tom Tromey <tom@tromey.com>
+
+2024-01-11  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-10  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
+
+	gprofng: add an examples directory
+	This directory contains example programs for the user to experiment with.
+	Initially there is one application written in C.  The plan is to include
+	more examples, also in other langauges, over time.
+	In addition to the sources and a make file, a sample script how to make
+	a profile is included.  There is also a README.md file.
+
+	gprofng/ChangeLog
+	2024-01-08  Ruud van der Pas  <ruud.vanderpas@oracle.com>
+
+		* examples: Top level directory.
+		* examples/mxv-pthreads: Example program written in C.
+
+2024-01-10  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
+
+	gprofng: 31123 improvements to hardware event implementation
+	Our hardware counter profiling is based on perf_event_open().
+	Our HWC tables are absent for new machines.
+	I have added HWC tables for the following events: PERF_TYPE_HARDWARE,
+	PERF_TYPE_SOFTWARE, PERF_TYPE_HW_CACHE. Other events require additional fixes.
+
+	Did a little cleaning: marked the symbols as static, used Stringbuilder,
+	created a function to read /proc/cpuinfo.
+
+	gprofng/ChangeLog
+	2024-01-08  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
+
+		PR gprofng/31123
+		* common/core_pcbe.c: Mark the symbols as static. Add events_generic[].
+		* common/hwc_cpus.h: Declare a new function read_cpuinfo.
+		* common/hwcdrv.c: Add a new parameter in init_perf_event().
+		* common/hwcentry.h: Add use_perf_event_type in Hwcentry.
+		* common/hwcfuncs.c (process_data_descriptor): Read use_perf_event_type,
+		type, config.
+		* common/hwctable.c: Add a new HWC table generic_list[].
+		* common/opteron_pcbe.c (opt_pcbe_init): Accept AMD machines.
+		* src/collctrl.cc: Use StringBuilder in Coll_Ctrl::build_data_desc().
+		Add a new function read_cpuinfo.
+
+2024-01-10  Aditya Vidyadhar Kamath  <Aditya.Kamath1@ibm.com>
+
+	Fix AIX catchpoint warning during fork () event
+	In AIX we were missing some hooks needed to catch a fork () event
+	in rs6000-aix-nat.c. Due to their absence we were returning 1 while we
+	insert the breakpoint/catchpoint location. This patch is a fix to the same.
+
+2024-01-10  Nick Clifton  <nickc@redhat.com>
+
+	Sync top level configure and makefiles
+	This update brings in the following commits from the gcc mainline:
+
+	commit b7e5a29602143b53267efcd9c8d5ecc78cd5a62f
+	Author: Tom Tromey <tom@tromey.com>
+	Date:   Tue Jan 9 06:25:26 2024 -0700
+
+	    Pass GUILE down to subdirectories
+
+	    When I enable cgen rebuilding in the binutils-gdb tree, the default is
+	    to run cgen using 'guile'.  However, on my host, guile is guile 2.2,
+	    which doesn't work for me -- I have to use guile3.0.
+
+	    This patch arranges to pass "GUILE" down to subdirectories, so I can
+	    use 'make GUILE=guile3.0'.
+
+	commit 725fb3595622a4ad8cd078a42fab1c395cbf90cb
+	Author: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+	Date:   Wed Oct 25 13:06:48 2023 +0200
+
+	    build: Add libgrust as compilation modules
+
+	    Define the libgrust directory as a host compilation module as well as
+	    for targets. Disable target libgrust if we're not building target
+	    libstdc++.
+
+	commit 56ca59a03150cf44cea340f58967c990ed6bf43c
+	Author: Lewis Hyatt <lhyatt@gmail.com>
+	Date:   Thu Nov 16 11:18:37 2023 -0500
+
+	    Makefile.tpl: Avoid race condition in generating site.exp from the top level
+
+	    A command like "make -j 2 check-gcc-c check-gcc-c++" run in the top level of
+	    a fresh build directory does not work reliably. That will spawn two
+	    independent make processes inside the "gcc" directory, and each of those
+	    will attempt to create site.exp if it doesn't exist and will interfere with
+	    each other, producing often a corrupted or empty site.exp. Resolve that by
+	    making these targets depend on a new phony target which makes sure site.exp
+	    is created first before starting the recursive makes.
+
+	commit 6a6d3817afa02bbcd2388c8e005da6faf88932f1
+	Author: Iain Sandoe <iain@sandoe.co.uk>
+	Date:   Sun Mar 28 14:48:17 2021 +0100
+
+	    Config,Darwin: Allow for configuring Darwin to use embedded runpath.
+
+	    Recent Darwin versions place contraints on the use of run paths
+	    specified in environment variables.  This breaks some assumptions
+	    in the GCC build.
+
+	    This change allows the user to configure a Darwin build to use
+	    '@rpath/libraryname.dylib' in library names and then to add an
+	    embedded runpath to executables (and libraries with dependents).
+
+	    The embedded runpath is added by default unless the user adds
+	    '-nodefaultrpaths' to the link line.
+
+	    For an installed compiler, it means that any executable built with
+	    that compiler will reference the runtimes installed with the
+	    compiler (equivalent to hard-coding the library path into the name
+	    of the library).
+
+	    During build-time configurations  any "-B" entries will be added to
+	    the runpath thus the newly-built libraries will be found by exes.
+
+	    Since the install name is set in libtool, that decision needs to be
+	    available here (but might also cause dependent ones in Makefiles,
+	    so we need to export a conditional).
+
+	    This facility is not available for Darwin 8 or earlier, however the
+	    existing environment variable runpath does work there.
+
+	    We default this on for systems where the external DYLD_LIBRARY_PATH
+	    does not work and off for Darwin 8 or earlier.  For systems that can
+	    use either method, if the value is unset, we use the default (which
+	    is currently DYLD_LIBRARY_PATH).
+
+	commit 2551e10038a70901f30b2168e6e3af4536748f3c
+	Author: Sergei Trofimovich <siarheit@google.com>
+	Date:   Mon Oct 2 12:08:17 2023 +0100
+
+	    Makefile.tpl: disable -Werror for feedback stage [PR111663]
+
+	    Without the change profiled bootstrap fails for various warnings on
+	    master branch as:
+
+	        $ ../gcc/configure
+	        $ make profiledbootstrap
+	        ...
+	        gcc/genmodes.cc: In function ‘int main(int, char**)’:
+	        gcc/genmodes.cc:2152:1: error: ‘gcc/build/genmodes.gcda’ profile count data file not found [-Werror=missing-profile]
+	        ...
+	        gcc/gengtype-parse.cc: In function ‘void parse_error(const char*, ...)’:
+	        gcc/gengtype-parse.cc:142:21: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
+
+	    The change removes -Werror just like autofeedback does today.
+
+	commit d1bff1ba4d470f6723be83c0e3c4d5083e51877a
+	Author: Thomas Schwinge <thomas@codesourcery.com>
+	Date:   Thu Jun 1 23:07:37 2023 +0200
+
+	    Pass 'SYSROOT_CFLAGS_FOR_TARGET' down to target libraries [PR109951]
+
+	    ..., where we need to use it (separate commits) for build-tree testing, similar
+	    to 'gcc/Makefile.in:site.exp':
+
+	        # TEST_ALWAYS_FLAGS are flags that should be passed to every compilation.
+	        # They are passed first to allow individual tests to override them.
+	            @echo "set TEST_ALWAYS_FLAGS \"$(SYSROOT_CFLAGS_FOR_TARGET)\"" >> ./site.tmp
+
+	            PR testsuite/109951
+	            * Makefile.tpl (BASE_TARGET_EXPORTS): Add
+	            'SYSROOT_CFLAGS_FOR_TARGET'.
+	            * Makefile.in: Regenerate.
+
+2024-01-10  Saurabh Jha  <saurabh.jha@arm.com>
+
+	gas: aarch64: Add system registers for Debug and PMU extensions
+	This patch adds support for the new AArch64 system registers that are part of the following extensions:
+	 * FEAT_DEBUGv8p9
+	 * FEAT_PMUv3p9
+	 * FEAT_PMUv3_SS
+	 * FEAT_PMUv3_ICNTR
+	 * FEAT_SEBEP
+
+2024-01-10  Tom de Vries  <tdevries@suse.de>
+
+	[gdb] Fix assertion failure for checkpoint delete 0
+	When doing "checkpoint delete 0" we run into an assertion failure:
+	...
+	+delete checkpoint 0
+	inferior.c:406: internal-error: find_inferior_pid: Assertion `pid != 0' failed.
+	...
+
+	Fix this by handling the "pptid == null_ptid" case in
+	delete_checkpoint_command.
+
+	Tested on x86_64-linux.
+
+	Approved-By: Kevin Buettner <kevinb@redhat.com>
+
+	PR gdb/31209
+	Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31209
+
+2024-01-10  Tom de Vries  <tdevries@suse.de>
+
+	[gdb] Fix info checkpoints
+	Consider test-case gdb.base/checkpoint.exp.  At some point, it issues an info
+	checkpoints command:
+	...
+	(gdb) info checkpoints^M
+	* 0 process 30570 (main process) at 0x0^M
+	  1 process 30573 at 0x4008bb, file checkpoint.c, line 49^M
+	  2 process 30574 at 0x4008bb, file checkpoint.c, line 49^M
+	  3 process 30575 at 0x4008bb, file checkpoint.c, line 49^M
+	  4 process 30576 at 0x4008bb, file checkpoint.c, line 49^M
+	  5 process 30577 at 0x4008bb, file checkpoint.c, line 49^M
+	  6 process 30578 at 0x4008bb, file checkpoint.c, line 49^M
+	  7 process 30579 at 0x4008bb, file checkpoint.c, line 49^M
+	  8 process 30580 at 0x4008bb, file checkpoint.c, line 49^M
+	  9 process 30582 at 0x4008bb, file checkpoint.c, line 49^M
+	  10 process 30583 at 0x4008bb, file checkpoint.c, line 49^M
+	...
+
+	According to the docs, each of these (0-10) is a checkpoint.
+
+	But the pc address (as well as the file name and line number) is missing for
+	checkpoint 0.
+
+	Fix this by sampling the pc value for the current process in
+	info_checkpoints_command, such that we have instead:
+	...
+	* 0 process 30570 (main process) at 0x4008bb, file checkpoint.c, line 49^M
+	...
+
+	Tested on x86_64-linux.
+
+	Approved-By: Kevin Buettner <kevinb@redhat.com>
+
+	PR gdb/31211
+	Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31211
+
+2024-01-10  Tom de Vries  <tdevries@suse.de>
+
+	[gdb] Make variable printed bool in info_checkpoints_command
+	While reading info_checkpoints_command, I noticed variable printed:
+	...
+	  const fork_info *printed = NULL;
+	  ...
+	  for (const fork_info &fi : fork_list)
+	    {
+	      if (requested > 0 && fi.num != requested)
+		continue;
+
+	      printed = &fi;
+	      ...
+	    }
+	  if (printed == NULL)
+	...
+	has pointer type, but is just used as bool.
+
+	Make this explicit by changing the variable type to bool.
+
+	Tested on x86_64-linux.
+
+	Approved-By: Kevin Buettner <kevinb@redhat.com>
+
+2024-01-10  Tom de Vries  <tdevries@suse.de>
+
+	gdb/symtab: Eliminate deferred_entry
+	Currently cooked_index entry creation is either:
+	- done immediately if the parent_entry is known, or
+	- deferred if the parent_entry is not yet known, and done later while
+	  resolving the deferred entries.
+
+	Instead, create all cooked_index entries immediately, and keep track of which
+	entries have a parent_entry that needs resolving later using the new
+	IS_PARENT_DEFERRED flag.
+
+	Tested on x86_64-linux.
+
+	Approved-By: Tom Tromey <tom@tromey.com>
+
+2024-01-10  Tom de Vries  <tdevries@suse.de>
+
+	gdb/symtab: Make cooked_index_entry::parent_entry private
+	Make cooked_index_entry::parent_entry private, and add member functions to
+	access it.
+
+	Tested on x86_64-linux and ppc64le-linux.
+	Tested-By: Alexandra Petlanova Hajkova <ahajkova@redhat.com>
+	Approved-By: Tom Tromey <tom@tromey.com>
+
+2024-01-10  Tom de Vries  <tdevries@suse.de>
+
+	gdb/symtab: Allow changing of added cooked_index entries
+	Make cooked_index_storage::add and cooked_index_entry::add return a
+	"cooked_index_entry *" instead of a "const cooked_index_entry *".
+
+	Tested on x86_64-linux and ppc64le-linux.
+	Tested-By: Alexandra Petlanova Hajkova <ahajkova@redhat.com>
+	Approved-By: Tom Tromey <tom@tromey.com>
+
+2024-01-10  Tom Tromey  <tom@tromey.com>
+
+	Fix ASAN failure in DWO code
+	Simon pointed out that my recent change to the DWO code caused a
+	failure in ASAN testing.
+
+	The bug here was I updated the code to use a different search type in
+	the hash table; but then did not change the search code to use
+	htab_find_slot_with_hash.
+
+	Note that this bug would not be possible with my type-safe hash table
+	series, hint, hint.
+
+	Approved-By: Simon Marchi <simon.marchi@efficios.com>
+
+2024-01-10  GDB Administrator  <gdbadmin@sourceware.org>
+
+	Automatic date update in version.in
+
+2024-01-09  Tom Tromey  <tom@tromey.com>
+
+	Fix thread-less build
+	A user pointed out that the recent background DWARF reader series
+	broke the build when --disable-threading is in use.  This patch fixes
+	the problem.  I am checking it in.
+
+	Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31223
+
+2024-01-09  Tom Tromey  <tom@tromey.com>
+
+	Pass GUILE down to subdirectories
+	When I enable cgen rebuilding in the binutils-gdb tree, the default is
+	to run cgen using 'guile'.  However, on my host, guile is guile 2.2,
+	which doesn't work for me -- I have to use guile3.0.
+
+	This patch arranges to pass "GUILE" down to subdirectories, so I can
+	use 'make GUILE=guile3.0'.
+
+		* Makefile.in: Rebuild.
+		* Makefile.tpl (BASE_EXPORTS): Add GUILE.
+		(GUILE): New variable.
+		* Makefile.def (flags_to_pass): Add GUILE.
+
+2024-01-09  H.J. Lu  <hjl.tools@gmail.com>
+
+	ld: Add --enable-mark-plt configure option
+	Add --enable-mark-plt linker configure option to mark PLT entries with
+	DT_X86_64_PLT, DT_X86_64_PLTSZ and DT_X86_64_PLTENT dynamic tags by
+	default.
+
+		* NEWS: Mention -z mark-plt/-z nomark-plt and --enable-mark-plt.
+		* config.in: Regenerated.
+		* configure: Likewise.
+		* configure.ac: Add --enable-mark-plt.
+		(DEFAULT_LD_Z_MARK_PLT): New AC_DEFINE_UNQUOTED.
+		* emulparams/x86-64-plt.sh (PARSE_AND_LIST_OPTIONS_X86_64_PLT):
+		Support DEFAULT_LD_Z_MARK_PLT.
+		* emultempl/elf-x86.em (elf_x86_64_before_parse): New function.
+		(LDEMUL_BEFORE_PARSE): New.  Set to elf_x86_64_before_parse for
+		x86-64 targets.
+
+2024-01-09  H.J. Lu  <hjl.tools@gmail.com>
+
+	elf: Add elf_backend_add_glibc_version_dependency
+	When -z mark-plt is used to add DT_X86_64_PLT, DT_X86_64_PLTSZ and
+	DT_X86_64_PLTENT, the r_addend field of the R_X86_64_JUMP_SLOT relocation
+	stores the offset of the indirect branch instruction.  However, glibc
+	versions which don't have this commit in glibc 2.36:
+
+	commit f8587a61892cbafd98ce599131bf4f103466f084
+	Author: H.J. Lu <hjl.tools@gmail.com>
+	Date:   Fri May 20 19:21:48 2022 -0700
+
+	    x86-64: Ignore r_addend for R_X86_64_GLOB_DAT/R_X86_64_JUMP_SLOT
+
+	    According to x86-64 psABI, r_addend should be ignored for R_X86_64_GLOB_DAT
+	    and R_X86_64_JUMP_SLOT.  Since linkers always set their r_addends to 0, we
+	    can ignore their r_addends.
+
+	    Reviewed-by: Fangrui Song <maskray@google.com>
+
+	won't ignore the r_addend value in the R_X86_64_JUMP_SLOT relocation.
+	Although this commit has been backported to glibc 2.33/2.34/2.35 release
+	branches, it is safer to require glibc 2.36 for such binaries.
+
+	Extend the glibc version dependency of GLIBC_ABI_DT_RELR for DT_RELR to
+	also add GLIBC_2.36 version dependency for -z mark-plt on the shared C
+	library if it provides a GLIBC_2.XX symbol version.
+
+		* elflink.c (elf_find_verdep_info): Moved to ...
+		* elf-bfd.h (elf_find_verdep_info): Here.
+		(elf_backend_data): Add elf_backend_add_glibc_version_dependency.
+		(_bfd_elf_link_add_glibc_version_dependency): New function.
+		(_bfd_elf_link_add_dt_relr_dependency): Likewise.
+		* elf64-x86-64.c (elf_x86_64_add_glibc_version_dependency):
+		Likewise.
+		(elf_backend_add_glibc_version_dependency): New.
+		* elflink.c (elf_link_add_dt_relr_dependency): Renamed to ...
+		(elf_link_add_glibc_verneed): This.  Modified to support other
+		glibc dependencies.
+		(_bfd_elf_link_add_glibc_version_dependency): Likewise.
+		(_bfd_elf_link_add_dt_relr_dependency): Likewise.
+		(bfd_elf_size_dynamic_sections): Call
+		elf_backend_add_glibc_version_dependency instead of
+		elf_link_add_dt_relr_dependency.
+		* elfxx-target.h (elf_backend_add_glibc_version_dependency): New.
+		(elfNN_bed): Add elf_backend_add_glibc_version_dependency.
+
+	ld/
+
+		* testsuite/ld-x86-64/mark-plt-1a.rd: New file.
+		* testsuite/ld-x86-64/mark-plt-1b.rd: Likewise.
+		* testsuite/ld-x86-64/x86-64.exp: Run -z mark-plt test for
+		GLIBC_2.36 dependency.
+
+2024-01-09  H.J. Lu  <hjl.tools@gmail.com>
+
+	x86: Don't check R_386_NONE nor R_X86_64_NONE
+	Update x86 ELF linker to skip R_386_NONE/R_X86_64_NONE when scanning
+	relocations.
+
+	bfd/
+
+		* PR ld/31047
+		* elf32-i386.c (elf_i386_scan_relocs): Don't check R_386_NONE.
+		* elf64-x86-64.c (elf_x86_64_scan_relocs): Don't check
+		R_X86_64_NONE.
+
+	ld/
+
+		* PR ld/31047
+		* testsuite/ld-i386/i386.exp: Run PR ld/31047 test.
+		* testsuite/ld-x86-64/x86-64.exp: Likewise.
+		* testsuite/ld-i386/pr31047.d: New file.
+		* testsuite/ld-x86-64/pr31047-x32.d: Likewise.
+		* testsuite/ld-x86-64/pr31047.d: Likewise.
+		* testsuite/ld-x86-64/pr31047a.s: Likewise.
+		* testsuite/ld-x86-64/pr31047b.s: Likewise.
+
+2024-01-09  Tom Tromey  <tromey@adacore.com>
+
+	Fix two bugs in gdbserver thread name handling
+	Simon pointed out that my earlier patch to gdbserver's thread name
+	code:
+
+	    commit 07b3255c3bae7126a0d679f957788560351eb236
+	    Author: Tom Tromey <tom@tromey.com>
+	    Date:   Thu Jul 13 17:28:48 2023 -0600
+
+		Filter invalid encodings from Linux thread names
+
+	... introduced a regression.  This bug was that the iconv output was
+	not \0-terminated.
+
+	Looking at it, I found another bug as well -- replace_non_ascii would
+	not \0-terminate, and also would return the wrong pointer
+
+	This patch fixes both of them.
+
+	Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31153
+
+2024-01-09  Tom Tromey  <tromey@adacore.com>
+
+	Use unrelocated_addr in dwarf2_base_index_functions::find_per_cu
+	dwarf2_base_index_functions::find_per_cu is documented as using an
+	unrelocated address.  This patch changes the interface to use the
+	unrelocated_addr type, just to be a bit more type-safe.
+
+	Regression tested on x86-64 Fedora 38.
+
+2024-01-09  Jan Beulich  <jbeulich@suse.com>
+
+	x86: add missing APX logic to cpu_flags_match()
+	As already indicated during review, we can't get away without certain
+	adjustments here: Without these, respective {evex}-prefixed insns are
+	assembled to APX encodings even when APX_F is turned off.
+
+	While there also extend the respective comment in the opcode table, to
+	explain why this construct is used.
+
+2024-01-09  Jan Beulich  <jbeulich@suse.com>
+
+	x86: FMA insns aren't eligible to VEX2 encoding
+	PR gas/31178
+
+	In da0784f961d8 ("x86: fold FMA VEX and EVEX templates") I overlooked
+	that C aliases StaticRounding, and hence build_vex_prefix() now needs to
+	be aware of that aliasing. Disambiguation is easy, as StaticRounding is
+	only ever used together with SAE (hence why the overlaying works in the
+	first place).
+
+2024-01-09  Jan Beulich  <jbeulich@suse.com>
+
+	PPC64/ELF: adjust comment wrt ABI versions
+	While having been moved a couple of times since its introduction in
+	f6c7c3e8b742 ("Referencing a function's address on PowerPC64 ELFv2"),
+	the wording has always remained the same. In particular ELFv1 and ELFv2
+	have always been the wrong way round.
+
+2024-01-09  Nick Clifton  <nickc@redhat.com>
+
+	Synchronize sourceware version of the libiberty sources with the master gcc versions.
+	This brings in the following commits:
+
+	commit c73cc6fe6207b2863afa31a3be8ad87b70d3df0a
+	Author: Jakub Jelinek <jakub@redhat.com>
+	Date:   Tue Dec 5 23:32:19 2023 +0100
+
+	    libiberty: Fix build with GCC < 7
+
+	    Tobias reported on IRC that the linker fails to build with GCC 4.8.5.
+	    In configure I've tried to use everything actually used in the sha1.c
+	    x86 hw implementation, but unfortunately I forgot about implicit function
+	    declarations.  GCC before 7 did have <cpuid.h> header and bit_SHA define
+	    and __get_cpuid function defined inline, but it didn't define
+	    __get_cpuid_count, which compiled fine (and the configure test is
+	    intentionally compile time only) due to implicit function declaration,
+	    but then failed to link when linking the linker, because
+	    __get_cpuid_count wasn't defined anywhere.
+
+	    The following patch fixes that by using what autoconf uses in AC_CHECK_DECL
+	    to make sure the functions are declared.
+
+	commit 691858d279335eeeeed3afafdf872b1c5f8f4201
+	Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+	Date:   Tue Dec 5 11:04:06 2023 +0100
+
+	    libiberty: Fix pex_unix_wait return type
+
+	    The recent warning patches broke Solaris bootstrap:
+
+	    /vol/gcc/src/hg/master/local/libiberty/pex-unix.c:326:3: error: initialization of 'pid_t (*)(struct pex_obj *, pid_t,  int *, struct pex_time *, int,  const char **, int *)' {aka 'long int (*)(struct pex_obj *, long int,  int *, struct pex_time *, int,  const char **, int *)'} from incompatible pointer type 'int (*)(struct pex_obj *, pid_t,  int *, struct pex_time *, int,  const char **, int *)' {aka 'int (*)(struct pex_obj *, long int,  int *, struct pex_time *, int,  const char **, int *)'} [-Wincompatible-pointer-types]
+	      326 |   pex_unix_wait,
+	          |   ^~~~~~~~~~~~~
+	    /vol/gcc/src/hg/master/local/libiberty/pex-unix.c:326:3: note: (near initialization for 'funcs.wait')
+
+	    While pex_funcs.wait expects a function returning pid_t, pex_unix_wait
+	    currently returns int.  However, on Solaris pid_t is long for 32-bit,
+	    but int for 64-bit.
+
+	    This patches fixes this by having pex_unix_wait return pid_t as
+	    expected, and like every other variant already does.
+
+	    Bootstrapped without regressions on i386-pc-solaris2.11,
+	    sparc-sun-solaris2.11, x86_64-pc-linux-gnu, and
+	    x86_64-apple-darwin23.1.0.
+
+	commit c3f281a0c1ca50e4df5049923aa2f5d1c3c39ff6
+	Author: Jason Merrill <jason@redhat.com>
+	Date:   Mon Sep 25 10:15:02 2023 +0100
+
+	    c++: mangle function template constraints
+
+	    Per https://github.com/itanium-cxx-abi/cxx-abi/issues/24 and
+	    https://github.com/itanium-cxx-abi/cxx-abi/pull/166
+
+	    We need to mangle constraints to be able to distinguish between function
+	    templates that only differ in constraints.  From the latter link, we want to
+	    use the template parameter mangling previously specified for lambdas to also
+	    make explicit the form of a template parameter where the argument is not a
+	    "natural" fit for it, such as when the parameter is constrained or deduced.
+
+	    I'm concerned about how the latter link changes the mangling for some C++98
+	    and C++11 patterns, so I've limited template_parm_natural_p to avoid two
+	    cases found by running the testsuite with -Wabi forced on:
+
+	    template <class T, T V> T f() { return V; }
+	    int main() { return f<int,42>(); }
+
+	    template <int i> int max() { return i; }
+	    template <int i, int j, int... rest> int max()
+	    {
+	      int sub = max<j, rest...>();
+	      return i > sub ? i : sub;
+	    }
+	    int main() {  return max<1,2,3>(); }
+
+	    A third C++11 pattern is changed by this patch:
+
+	    template <template <typename...> class TT, typename... Ts> TT<Ts...> f();
+	    template <typename> struct A { };
+	    int main() { f<A,int>(); }
+
+	    I aim to resolve these with the ABI committee before GCC 14.1.
+
+	    We also need to resolve https://github.com/itanium-cxx-abi/cxx-abi/issues/38
+	    (mangling references to dependent template-ids where the name is fully
+	    resolved) as references to concepts in std:: will consistently run into this
+	    area.  This is why mangle-concepts1.C only refers to concepts in the global
+	    namespace so far.
+
+	    The library changes are to avoid trying to mangle builtins, which fails.
+
+	    Demangler support and test c[...]

[diff truncated at 100000 bytes]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-01-29 14:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-29 14:51 [binutils-gdb/binutils-2_42-branch] Update version number to 2.42 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).