Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "Maciej W. Rozycki" <macro@orcam.me.uk>
To: gdb-patches@sourceware.org
Cc: Jovan Dmitrovic <jovan.dmitrovic@htecgroup.com>,
	 Djordje Todorovic <Djordje.Todorovic@htecgroup.com>,
	 Milica Matic <milica.matic@htecgroup.com>,
	 "Maciej W. Rozycki" <macro@globalfoundries.com>
Subject: [PATCH v2 00/12] MIPS+testsuite: BLEZL stepping fix and associated test infrastructure
Date: Mon, 17 Aug 2026 17:53:17 +0100 (BST)	[thread overview]
Message-ID: <alpine.DEB.2.21.2608161728490.14132@angie.orcam.me.uk> (raw)

Hi,

 In the course of further verification additional issues have been found 
leading to the expansion of this patch set.  Minor issues in the original 
changes have been addressed as well.  I have retained the original heading 
for the purpose of thread sorting in mailer software even though the scope 
has now expanded beyond just the BLEZL stepping fix.  The original cover 
letter follows, adjusted as appropriate.

 This patch series is based on a buried bug fix extracted from a change 
submitted to add MIPSr6 support, most recently posted at 
<https://inbox.sourceware.org/gdb-patches/20250604123838.501596-3-jovan.dmitrovic@htecgroup.com/>, 
that corrects the handling of single-stepping through the BLEZL MIPS II 
instruction.

 This fix begged for test coverage, as indeed does all the MIPS software 
single-stepping infrastructure, so I have created a bunch of test cases 
roughly based on the skeleton already provided with said MIPSr6 change, 
however with extra feature checks to correctly enable individual tests 
based on the target configuration chosen for the testsuite invocation and 
target board's compatibility with the ISA required for test execution.

 This in turn revealed a repeated pattern of feature check code across 
numerous procedures in testsuite/lib/gdb.exp.  Rather than adding a bunch 
more, I chose to factor out the repeated pattern and build the new feature 
checks around it.  For illustration purposes I have converted the existing 
`powerpc*-*-*' target feature checks I could verify with my POWER9 test 
system.

 Consequently this set of 12 changes has resulted, comprised of the new 
generic procedure in 01/12, followed by the `powerpc*-*-*' updates in 
02/12, and then the MIPS changes in 03/12 through 12/12.  At this point 
MIPS I, MIPS II, MIPS16 and microMIPS, as well as DSP ASE CPU branches are 
covered at this point for condition evaluation and then the same branches 
and jumps for stepping through to the delay slot (i.e. no CP1/FPU/MIPS3D 
branches nor R6 branches or jumps).

 See individual change descriptions for details.  Authorship attributions 
are on the best knowledge basis.

 This patch set has been regression-tested with a `powerpc64le-linux-gnu' 
native configuration using POWER9 hardware and with the `mips-linux-gnu' 
and `mipsel-linux-gnu' targets, using real MIPS I, MIPS III and MIPS32r2 
hardware, the latter with regular MIPS and MIPS16 test configurations.  
Additional verification was done with QEMU, especially for microMIPS code, 
on the best effort basis and triggering emulation issues with QEMU itself 
(and overall instability of the target).  Detailed logs were examined for 
correctness with respect to the tests affected as well.

 I request approval for the non-MIPS parts of the patch series; I can 
self-approve the MIPS bits, though obviously I'm happy to address any 
feedback.

 Company copyright assignment with FSF is currently still being sorted.

 Previous iterations:

- v1 at: <https://inbox.sourceware.org/gdb-patches/alpine.DEB.2.21.2607220148540.14485@angie.orcam.me.uk/>.

  Maciej

             reply	other threads:[~2026-08-17 16:55 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-17 16:53 Maciej W. Rozycki [this message]
2026-08-17 16:53 ` [PATCH v2 01/12] testsuite: Factor out target feature test template Maciej W. Rozycki
2026-08-17 16:53 ` [PATCH v2 02/12] PowerPC/testsuite: Reduce feature tests in terms of `allow_target_tests' Maciej W. Rozycki
2026-08-17 16:53 ` [PATCH v2 03/12] MIPS/testsuite: Verify MIPS I CPU branch stepping Maciej W. Rozycki
2026-08-17 16:53 ` [PATCH v2 04/12] MIPS: Correct BLEZL single-stepping Maciej W. Rozycki
2026-08-17 16:53 ` [PATCH v2 05/12] MIPS/testsuite: Verify MIPS II CPU branch stepping Maciej W. Rozycki
2026-08-17 16:53 ` [PATCH v2 06/12] MIPS/testsuite: Verify MIPS DSP ASE " Maciej W. Rozycki
2026-08-17 16:53 ` [PATCH v2 07/12] MIPS/testsuite: Verify MIPS16 " Maciej W. Rozycki
2026-08-17 16:53 ` [PATCH v2 08/12] MIPS/testsuite: Verify microMIPS " Maciej W. Rozycki
2026-08-17 16:54 ` [PATCH v2 09/12] MIPS: Reorder a reference to "BGTZ, BGTZL" in `mips32_next_pc' Maciej W. Rozycki
2026-08-17 16:54 ` [PATCH v2 10/12] MIPS: Correct segment calculation for MIPS16 JAL/X Maciej W. Rozycki
2026-08-17 16:54 ` [PATCH v2 11/12] MIPS: Return correct size from `mips_insn_size' " Maciej W. Rozycki
2026-08-17 16:54 ` [PATCH v2 12/12] MIPS: Fix stepping through instructions branching to own delay slot Maciej W. Rozycki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.21.2608161728490.14132@angie.orcam.me.uk \
    --to=macro@orcam.me.uk \
    --cc=Djordje.Todorovic@htecgroup.com \
    --cc=gdb-patches@sourceware.org \
    --cc=jovan.dmitrovic@htecgroup.com \
    --cc=macro@globalfoundries.com \
    --cc=milica.matic@htecgroup.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox