[PATCH v2 00/12] MIPS+testsuite: BLEZL stepping fix and associated test infrastructure

"Maciej W. Rozycki" <[email protected]>
Newsgroups gmane.comp.gdb.patches
Message-ID <[email protected]>
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/[email protected]/>, 
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/[email protected]/>.

  Maciej
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.