From: will schmidt <will_schmidt@vnet.ibm.com>
To: Carl Love <cel@us.ibm.com>,
Joel Brobecker <brobecker@adacore.com>,
gdb-patches@sourceware.org
Cc: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>,
Tulio Magno <tuliom@linux.ibm.com>,
Rogerio Alves <rogealve@br.ibm.com>
Subject: Re: [PATCH 2/2 Version 2] Add recording support for the ISA 3.1 Powerpc instructions
Date: Wed, 13 Apr 2022 09:12:58 -0500 [thread overview]
Message-ID: <af382704a474247a1a7717548e9117f63c752e20.camel@vnet.ibm.com> (raw)
In-Reply-To: <09bc969fde2b89abbcc6060e9adc0df3c583fd4c.camel@us.ibm.com>
On Tue, 2022-04-12 at 10:09 -0700, Carl Love via Gdb-patches wrote:
> Joel, GDB maintainers:
>
> On Sun, 2022-03-06 at 16:42 +0400, Joel Brobecker via Gdb-patches
> wrote:
>
> <snip>
>
> > I am not a specialist of writing testcases in the GDB testsuite,
> > anymore, so others may have more comments. In the meantime, here
> > are the things I saw.
> >
> > FWIW, the description you provide at the start of this email would
> > also be useful to have in the commit message as well, to give people
> > a record of what you did without having to read your email version.
> >
>
> I believe you are referring to the testing of the patch. Added the
> testing to the commit message.
The context was snipped from the replies, so no way to tell without digging up the original.
(found it..)
The original 2/2 started with
> The patch adds the gdb recording test cases for the Powerpc ISA 2.06
> and ISA 3.1 instruction sets.
>
> > One general note: The formatting seems to have been affected by
> > the sending, which surprises me a little, as this was sent by
> > "git send-email", is that right? What makes me say this is because
> > we see a number of lines where it looks like the text was moved
> > to the next line. E.g.
> >
> > > +###### Test 1: Test an ISA 2.06 load (lxvd2x) and square root
> > > instructiion
> > > +###### (xvsqrtsp). The load instruction will load vs1. The sqrt
> > > instruction
> >
> > I'm going to assume this is correct in your patch, but it would
> > be nice to figure out where this is coming from.
> >
> That was my screw up on setting the formatting in the email message.
> Fixed.
>
> > > +++ b/gdb/testsuite/gdb.reverse/ppc_record_test_isa_3_1.c
> >
> > Can you please add a copyright header to this file, and more
> > generally, to all new files?
>
> Fixed.
>
> > > +/* globals used for vector tests */
> > > +static vector unsigned long vec_xa, vec_xb, vec_xt;
> > > +static unsigned long ra, rb, rs;
> > > +
> > > +int main () {
>
> Fixed.
>
> <snip?
> > > +# The basic flow of the record tests are:
> > > +# 1) Stop before executing the instructions of interest. Record
> >
> > Missing second space after period.
>
> fixed.
> > > +standard_testfile ppc_record_test_isa_2_06.c
> >
> > Just thinking out loud: Wondering if ppc_record_test_isa_2_06.c
> > is actually needed, here...
>
> Nope, removed the name of the source code file in both test files.
> Seems to work without explicitly giving the source file name.
>
> > > +if ![runto_main] then {
> > > + perror "couldn't run to breakpoint"
> > > + continue
> > > +}
> >
> > For this block, let's follow what our testcase template
> > recommends:
>
> Fixed.
>
>
> <snip>
>
> > Here and below, can you make sure there is a space between
> > the "#" and the start of the text. Also, can you start them
> > with an upper-case letter in this case, and end the sentence
> > with a period? This is mandated by the GNU Coding Style.
>
> Fixed.
>
> > > +# Change execution direction to forward for next test
> > > +gdb_test "set exec-direction forward" "" "Start forward test2"
> > > +#gdb_test_no_output "set exec-direction forward"
> >
> > Can you removed this commented-out line? I don't think we need
> > to keep it.
>
> Removed in both files.
>
> > > +gdb_test "record stop" ".*Process record is stopped.*" "Stopped
> > > recording"
> > > +set test_del_bkpts "delete breakpoints, answer prompt"
> > > +gdb_test_multiple "delete breakpoints" $test_del_bkpts {
> > > + -re "Delete all breakpoints.*y or n.*$" {
> > > + send_gdb "y\n"
> > > + }
> > > +}
> > > +
> > > +gdb_test "record" "" "Start recording test2"
> >
> > Is this part needed? There doesn't seem anything done after,
> > so I'm wondering what the purpose of this test is.
>
> Not needed, didn't get cleaned up when I split the test into separate
> ISA 2.06 and an ISA 3.1 tests.
> > (note: if needed, we should use gdb_test_no_output instead)
> >
> > > +if ![runto_main] then {
> > > + perror "couldn't run to breakpoint"
> > > + continue
> > > +}
> Fixed
>
> > Same as above.
> >
> > > +#check initial and new of r0 are different
> >
> > Here and below, same as above.
> > > +# Change execution direction to forward for next test
> > > +gdb_test "set exec-direction forward" "" "Start forward test3"
> > > +#gdb_test_no_output "set exec-direction forward"
>
> Fixed
>
> > Same as above, can you remove this commented-out line, please?
>
> Fixed
>
> > > +gdb_test "record stop" ".*Process record is stopped.*" "Stopped
> > > recording 2"
> > > +set test_del_bkpts "delete breakpoints, answer prompt 2"
> > > +gdb_test_multiple "delete breakpoints" $test_del_bkpts {
> > > + -re "Delete all breakpoints.*y or n.*$" {
> > > + send_gdb "y\n"
> > > + }
> > > +}
> >
> > I think you can simplify the above using something like:
> >
> > with confirm off -- delete breakpoints
>
> Above replaced with:
>
> # Delete all breakpoints and catchpoints.
> delete_breakpoints
>
> Patch retested on Power 10 with no regressions.
>
> Please let me know if the patch looks ok now.
I'll maintain this would be cleaner to consolidate in a simple "V2:
updates per feedback". :-)
>
> Carl Love
> --------------------------------------------------------------
> GDB Powerpc record test cases for ISA 2.06 and ISA 3.1
>
> This patch adds Powerpc specific tests to verify recording of various
> instructions. The first test case checks a couple of ISA 2.06 instructions.
The test uses two instructions, but per context looks like it only
intends to test the one ISA 2.06 instruction, with a load instruction
in place just for setup.
> The second test case tests several of the ISA 3.01 instructions. Specifically,
> it checks the word and prefixed instructions and some of the Matrix
> Multiply Assist (MMA) instructions.
>
> The patch has been run on both Power 10 and Power 9 to verify the ISA
> 2.06 test case runs on both platforms without errors. The ISA 3.1 test
> runs without errors on Power 10 and is skipped as expected on Power 9.
> ---
> .../gdb.reverse/ppc_record_test_isa_2_06.c | 48 ++
> .../gdb.reverse/ppc_record_test_isa_2_06.exp | 123 +++++
> .../gdb.reverse/ppc_record_test_isa_3_1.c | 102 ++++
> .../gdb.reverse/ppc_record_test_isa_3_1.exp | 494 ++++++++++++++++++
> 4 files changed, 767 insertions(+)
> create mode 100644 gdb/testsuite/gdb.reverse/ppc_record_test_isa_2_06.c
> create mode 100644 gdb/testsuite/gdb.reverse/ppc_record_test_isa_2_06.exp
> create mode 100644 gdb/testsuite/gdb.reverse/ppc_record_test_isa_3_1.c
> create mode 100644 gdb/testsuite/gdb.reverse/ppc_record_test_isa_3_1.exp
>
> diff --git a/gdb/testsuite/gdb.reverse/ppc_record_test_isa_2_06.c b/gdb/testsuite/gdb.reverse/ppc_record_test_isa_2_06.c
> new file mode 100644
> index 00000000000..03ba90e2bff
> --- /dev/null
> +++ b/gdb/testsuite/gdb.reverse/ppc_record_test_isa_2_06.c
> @@ -0,0 +1,48 @@
> +/* This testcase is part of GDB, the GNU debugger.
> +
> + Copyright 2012-2022 Free Software Foundation, Inc.
> +
> + This program is free software; you can redistribute it and/or modify
> + it under the terms of the GNU General Public License as published by
> + the Free Software Foundation; either version 3 of the License, or
> + (at your option) any later version.
> +
> + This program is distributed in the hope that it will be useful,
> + but WITHOUT ANY WARRANTY; without even the implied warranty of
> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + GNU General Public License for more details.
> +
> + You should have received a copy of the GNU General Public License
> + along with this program. If not, see <http://www.gnu.org/licenses/>. */
> +
> +#include <stdio.h>
> +#include <stdint.h>
> +#include <ctype.h> // isspace
> +#include <stdlib.h>
> +#include <string.h>
> +#include <unistd.h> // getopt
> +#include <altivec.h> // vector
> +
> +/* globals used for vector tests */
> +static vector unsigned long vec_xa, vec_xb, vec_xt;
> +static unsigned long ra, rb, rs;
vec_xa is unused below.
It looks like vec_xt and ra are assigned but
not subsequently referenced.
Probably doesn't matter for a testcase, but
a properly paranoid compiler should complain.
> +
> +int main ()
> +{
> + ra = 0xABCDEF012;
> + rb = 0;
> + rs = 0x012345678;
> +
> + /* 9.0, 16.0, 25.0, 36.0 */
> + vec_xb = (vector unsigned long){0x4110000041800000, 0x41c8000042100000};
> +
> + vec_xt = (vector unsigned long){0xFF00FF00FF00FF00, 0xAA00AA00AA00AA00};
> +
> + /* Test 1 ISA 2.06 instructions. Load source into vs1, result of sqrt
> + put into vs0. */
> + ra = (unsigned long) & vec_xb; /* stop 1 */
> + __asm__ __volatile__ ("lxvd2x 1, %0, %1" :: "r" (ra ), "r" (rb));
> + __asm__ __volatile__ ("xvsqrtsp 0, 1");
> + ra = 0; /* stop 2 */
> +}
> +
> diff --git a/gdb/testsuite/gdb.reverse/ppc_record_test_isa_2_06.exp b/gdb/testsuite/gdb.reverse/ppc_record_test_isa_2_06.exp
> new file mode 100644
> index 00000000000..b6522606262
> --- /dev/null
> +++ b/gdb/testsuite/gdb.reverse/ppc_record_test_isa_2_06.exp
> @@ -0,0 +1,123 @@
> +# Copyright 2008-2022 Free Software Foundation, Inc.
> +
> +# This program is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 3 of the License, or
> +# (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program. If not, see <http://www.gnu.org/licenses/>.
> +# This file is part of the GDB testsuite. It tests reverse stepping.
> +# Lots of code borrowed from "step-reverse.exp".
> +#
> +# Test instruction record for Powerpc, ISA 2.06.
> +#
> +
> +# The basic flow of the record tests are:
> +# 1) Stop before executing the instructions of interest. Record
> +# the initial value of the registers that the instruction will
> +# change, i.e. the destination register.
> +# 2) Execute the instructions. Record the new value of the
> +# registers that changed.
> +# 3) Reverse the direction of the execution and execute back to
> +# just before the instructions of interest. Record the final
> +# value of the registers of interest.
> +# 4) Check that the initial and new values of the registers are
> +# different, i.e. the instruction changed the registers as expected.
> +# 5) Check that the initial and final values of the registers are
> +# the same, i.e. gdb record restored the registers to their
> +# original values.
> +
> +standard_testfile
> +
> +set gen_src record_test_isa_2_06.c
> +set executable record_test_isa_2_06
> +set options [list debug]
> +
> +if {![istarget "powerpc*"]} then {
> + verbose "Skipping Powerpc ISA 2.06 instruction record_test_2_06."
> + return
> +}
> +
> +if {[build_executable "failed to prepare" $executable $srcfile $options] == -1} then {
> + return -1
> +}
> +
> +clean_restart $executable
> +
> +if ![runto_main] then {
> + untested "could not run to main"
> + continue
> +}
> +
> +gdb_test_no_output "record"
> +T
> +###### Test 1: Test an ISA 2.06 load (lxvd2x) and square root instruction
> +###### (xvsqrtsp). The load instruction will load vs1. The sqrt instruction
> +###### will put its result into vs0.
> +
> +set stop1 [gdb_get_line_number "stop 1"]
> +set stop2 [gdb_get_line_number "stop 2"]
> +
> +gdb_test "break $stop1" ".*Breakpoint .*" "about to execute test 1"
> +gdb_test "continue" ".*Breakpoint .*" "At stop 1"
> +
> +# Record the initial values in vs0, vs1.
> +# Load the argument into vs1, result of sqrt is put into vs0.
Appears to be a duplicated comment.
> +set vs0_initial [capture_command_output "info register vs0" ""]
> +set vs1_initial [capture_command_output "info register vs1" ""]
> +
> +gdb_test "break $stop2" ".*Breakpoint .*" "executed lxvd2x, xvsqrtsp"
> +gdb_test "continue" ".*Breakpoint .*" "At stop 2"
> +
> +# The lxvd2x, xvsqrtsp and has been executed loading the argument into vs1
> +# Record the new values of vs0 and vs1.
"and has" ?
> +set vs0_new [capture_command_output "info register vs0" ""]
> +set vs1_new [capture_command_output "info register vs1" ""]
> +
> +# Execute in reverse to before the lxvd2x instruction.
> +gdb_test_no_output "set exec-direction reverse"
This actually just sets the direction. The lxvd2x instruction
reference belongs after the test.
> +
> +gdb_test "break $stop1" ".*Breakpoint .*" "un executed lxvd2x, xvsqrtsp"
> +gdb_test "continue" ".*Breakpoint.*" "At stop 1 in reverse"
> +
> +# Record the final values of vs0, vs1.
> +set vs0_final [capture_command_output "info register vs0" ""]
> +set vs1_final [capture_command_output "info register vs1" ""]
> +
> +# Check initial and new of vs0 are different.
> +set test_vs0_init_new "check vs0 initial versus vs0 new"
> +if {[string compare $vs0_initial $vs0_new ] == 0} {
> + fail $test_vs0_init_new
> +} else {
> + pass $test_vs0_init_new
> +}
> +
> +# Check initial and new of vs1 are different.
> +set test_vs1_init_new "check vs0 initial versus vs1 new"
> +if {[string compare $vs1_initial $vs1_new ] == 0} {
> + fail $test_vs1_init_new
> +} else {
> + pass $test_vs1_init_new
> +}
> +
> +# Check initial and final are the same.
> +set test_vs0_init_final "check vs0 initial versus vs0 final"
> +if {[string compare $vs0_initial $vs0_final ] == 0} {
> + pass $test_vs0_init_final
> +} else {
> + fail $test_vs0_init_final
> +}
> +
> +# Check initial and final are the same.
> +set test_vs1_init_final "check vs1 initial versus vs1 final"
> +if {[string compare $vs1_initial $vs1_final ] == 0} {
> + pass $test_vs1_init_final
> +} else {
> + fail $test_vs1_init_final
> +}
> diff --git a/gdb/testsuite/gdb.reverse/ppc_record_test_isa_3_1.c b/gdb/testsuite/gdb.reverse/ppc_record_test_isa_3_1.c
> new file mode 100644
> index 00000000000..e02c3daaed3
> --- /dev/null
> +++ b/gdb/testsuite/gdb.reverse/ppc_record_test_isa_3_1.c
> @@ -0,0 +1,102 @@
> +/* This testcase is part of GDB, the GNU debugger.
> +
> + Copyright 2012-2022 Free Software Foundation, Inc.
> +
> + This program is free software; you can redistribute it and/or modify
> + it under the terms of the GNU General Public License as published by
> + the Free Software Foundation; either version 3 of the License, or
> + (at your option) any later version.
> +
> + This program is distributed in the hope that it will be useful,
> + but WITHOUT ANY WARRANTY; without even the implied warranty of
> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + GNU General Public License for more details.
> +
> + You should have received a copy of the GNU General Public License
> + along with this program. If not, see <http://www.gnu.org/licenses/>. */
> +
> +#include <stdio.h>
> +#include <stdint.h>
> +#include <ctype.h> // isspace
> +#include <stdlib.h>
> +#include <string.h>
> +#include <unistd.h> // getopt
> +#include <altivec.h> // vector
> +
> +/* globals used for vector tests */
> +static vector unsigned long vec_xa, vec_xb, vec_xt;
> +static unsigned long ra, rb, rs;
> +
> +int main ()
> +{
> + ra = 0xABCDEF012;
> + rb = 0;
> + rs = 0x012345678;
> +
> + /* 9.0, 16.0, 25.0, 36.0 */
> + vec_xb = (vector unsigned long){0x4110000041800000, 0x41c8000042100000};
> +
> + vec_xt = (vector unsigned long){0xFF00FF00FF00FF00, 0xAA00AA00AA00AA00};
> +
> + /* Test 1, ISA 3.1 word instructions. Load source into r1, result of brh
> + put in r0. */
> + ra = 0xABCDEF012; /* stop 1 */
> + __asm__ __volatile__ ("pld 1, %0" :: "r" (ra ));
> + __asm__ __volatile__ ("brh 0, 1" );
> + ra = 0; /* stop 2 */
> +
> + /* Test 2, ISA 3.1 MMA instructions with results in various ACC entries
> + xxsetaccz - ACC[3]
> + xvi4ger8 - ACC[4]
> + xvf16ger2pn - ACC[5]
> + pmxvi8ger4 - ACC[6]
> + pmxvf32gerpp - ACC[7] and fpscr */
> + /* Need to initialize the vs registers to a non zero value. */
> + ra = (unsigned long) & vec_xb;
> + __asm__ __volatile__ ("lxvd2x 12, %0, %1" :: "r" (ra ), "r" (rb));
> + __asm__ __volatile__ ("lxvd2x 13, %0, %1" :: "r" (ra ), "r" (rb));
> + __asm__ __volatile__ ("lxvd2x 14, %0, %1" :: "r" (ra ), "r" (rb));
> + __asm__ __volatile__ ("lxvd2x 15, %0, %1" :: "r" (ra ), "r" (rb));
> + vec_xa = (vector unsigned long){0x333134343987601, 0x9994bbbc9983307};
> + vec_xb = (vector unsigned long){0x411234041898760, 0x41c833042103400};
> + __asm__ __volatile__ ("lxvd2x 16, %0, %1" :: "r" (ra ), "r" (rb));
> + vec_xb = (vector unsigned long){0x123456789987650, 0x235676546989807};
> + __asm__ __volatile__ ("lxvd2x 17, %0, %1" :: "r" (ra ), "r" (rb));
> + vec_xb = (vector unsigned long){0x878363439823470, 0x413434c99839870};
> + __asm__ __volatile__ ("lxvd2x 18, %0, %1" :: "r" (ra ), "r" (rb));
> + vec_xb = (vector unsigned long){0x043765434398760, 0x419876555558850};
> + __asm__ __volatile__ ("lxvd2x 19, %0, %1" :: "r" (ra ), "r" (rb));
> + vec_xb = (vector unsigned long){0x33313434398760, 0x9994bbbc99899330};
> + __asm__ __volatile__ ("lxvd2x 20, %0, %1" :: "r" (ra ), "r" (rb));
> + __asm__ __volatile__ ("lxvd2x 21, %0, %1" :: "r" (ra ), "r" (rb));
> + __asm__ __volatile__ ("lxvd2x 22, %0, %1" :: "r" (ra ), "r" (rb));
> + __asm__ __volatile__ ("lxvd2x 23, %0, %1" :: "r" (ra ), "r" (rb));
> + __asm__ __volatile__ ("lxvd2x 24, %0, %1" :: "r" (ra ), "r" (rb));
> + __asm__ __volatile__ ("lxvd2x 25, %0, %1" :: "r" (ra ), "r" (rb));
> + __asm__ __volatile__ ("lxvd2x 26, %0, %1" :: "r" (ra ), "r" (rb));
> + __asm__ __volatile__ ("lxvd2x 27, %0, %1" :: "r" (ra ), "r" (rb));
> + vec_xa = (vector unsigned long){0x33313434398760, 0x9994bbbc998330};
> + vec_xb = (vector unsigned long){0x4110000041800000, 0x41c8000042100000};
> + __asm__ __volatile__ ("lxvd2x 28, %0, %1" :: "r" (ra ), "r" (rb));
> + vec_xb = (vector unsigned long){0x4567000046800000, 0x4458000048700000};
> + __asm__ __volatile__ ("lxvd2x 29, %0, %1" :: "r" (ra ), "r" (rb));
> + vec_xb = (vector unsigned long){0x41dd000041e00000, 0x41c8000046544400};
> + __asm__ __volatile__ ("lxvd2x 30, %0, %1" :: "r" (ra ), "r" (rb));
> +
> + /* SNAN */
> + vec_xb = (vector unsigned long){0x7F8F00007F8F0000, 0x7F8F00007F8F0000};
> +
> + __asm__ __volatile__ ("lxvd2x 31, %0, %1" :: "r" (ra ), "r" (rb));
> +
> + ra = 0xAB; /* stop 3 */
> + __asm__ __volatile__ ("xxsetaccz 3");
> + __asm__ __volatile__ ("xvi4ger8 4, %x0, %x1" :: "wa" (vec_xa), \
> + "wa" (vec_xb) );
> + __asm__ __volatile__ ("xvf16ger2pn 5, %x0, %x1" :: "wa" (vec_xa),\
> + "wa" (vec_xb) );
> + __asm__ __volatile__ ("pmxvi8ger4spp 6, %x0, %x1, 11, 13, 5"
> + :: "wa" (vec_xa), "wa" (vec_xb) );
> + __asm__ __volatile__ ("pmxvf32gerpp 7, %x0, %x1, 11, 13"
> + :: "wa" (vec_xa), "wa" (vec_xb) );
> + ra = 0; /* stop 4 */
> +}
> diff --git a/gdb/testsuite/gdb.reverse/ppc_record_test_isa_3_1.exp b/gdb/testsuite/gdb.reverse/ppc_record_test_isa_3_1.exp
> new file mode 100644
> index 00000000000..f0340db92f0
> --- /dev/null
> +++ b/gdb/testsuite/gdb.reverse/ppc_record_test_isa_3_1.exp
> @@ -0,0 +1,494 @@
> +# Copyright 2008-2022 Free Software Foundation, Inc.
> +
> +# This program is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 3 of the License, or
> +# (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program. If not, see <http://www.gnu.org/licenses/>.
> +# This file is part of the GDB testsuite. It tests reverse stepping.
> +# Lots of code borrowed from "step-reverse.exp".
> +#
> +# Test instruction record for Powerpc, ISA 3.1.
> +#
> +
> +# The basic flow of the record tests are:
> +# 1) Stop before executing the instructions of interest. Record
> +# the initial value of the registers that the instruction will
> +# change, i.e. the destination register.
> +# 2) Execute the instructions. Record the new value of the
> +# registers that changed.
> +# 3) Reverse the direction of the execution and execute back to
> +# just before the instructions of interest. Record the final
> +# value of the registers of interest.
> +# 4) Check that the initial and new values of the registers are
> +# different, i.e. the instruction changed the registers as expected.
> +# 5) Check that the initial and final values of the registers are
> +# the same, i.e. gdb record restored the registers to their
> +# original values.
> +
> +
> +standard_testfile
> +
> +set gen_src record_test_isa_3_1.c
> +set executable record_test_isa_3_1
> +
> +if {![istarget "powerpc*"] || [skip_power_isa_3_1_tests] } then {
> + verbose "Skipping Powerpc ISA 3.1 instruction record_test."
> + return
> +}
> +
> +set options [list additional_flags=-mcpu=power10 debug]
> +if {[build_executable "failed to prepare" $executable $srcfile $options] == -1} then {
> + return -1
> +}
> +
> +clean_restart $executable
> +
> +if ![runto_main] then {
> + untested "could not run to main"
> + continue
> +}
> +
> +gdb_test_no_output "record"
> +
> +###### Test 1: Test an ISA 3.1 byte reverse word instruction (brd) and a
> +###### prefixed load double (pld) instruction.
> +set stop1 [gdb_get_line_number "stop 1"]
> +set stop2 [gdb_get_line_number "stop 2"]
> +
> +gdb_test "break $stop1" ".*Breakpoint .*" "about to execute Test 1"
> +gdb_test "continue" ".*Breakpoint .*" "At stop 1"
> +
> +# Record the initial values in r0, r1
> +# Load the argument into r1, result of byte reverse is put into r0.
> +set r0_initial [capture_command_output "info register r0" ""]
> +set r1_initial [capture_command_output "info register r1" ""]
> +
> +gdb_test "break $stop2" ".*Breakpoint .*" "executed test 1"
inconsistent (case) reference to "test 1" versus "Test 1". Here and
later. No additional/different comments below.
<snip>
Thanks
-Will
next prev parent reply other threads:[~2022-04-13 14:13 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-04 19:46 [PATCH 0/2] " Carl Love
2022-03-04 19:52 ` [PATCH 1/2] " Carl Love
2022-03-06 11:53 ` Joel Brobecker
2022-04-12 17:09 ` [PATCH 1/2 Version 2] " Carl Love
2022-04-12 21:50 ` will schmidt
2022-04-13 17:26 ` [PATCH 1/2 Version 3] " Carl Love
2022-04-17 16:23 ` Joel Brobecker
2022-04-18 19:21 ` [PATCH 1/2 Version 5] " Carl Love
2022-04-22 19:49 ` [PATCH 1/2 Version 5 Ping] " Carl Love
2022-04-24 16:50 ` [PATCH 1/2 Version 5] " Joel Brobecker
2022-04-25 15:58 ` [PATCH 1/2 Version 6] " Carl Love
2022-04-26 18:05 ` Joel Brobecker
2022-03-04 19:53 ` [PATCH 2/2] " Carl Love
2022-03-06 12:42 ` Joel Brobecker
2022-04-12 17:09 ` [PATCH 2/2 Version 2] " Carl Love
2022-04-13 14:12 ` will schmidt [this message]
2022-04-13 21:38 ` [PATCH 2/2 Version 3] " Carl Love
2022-04-14 13:05 ` Pedro Alves
2022-04-14 20:20 ` [PATCH 2/2 Version 4] " Carl Love
2022-04-14 20:43 ` Carl Love
2022-04-17 16:48 ` Joel Brobecker
2022-04-18 19:21 ` [PATCH 2/2 Version 5] " Carl Love
2022-04-22 19:47 ` [PATCH 2/2 Version 5 PING] " Carl Love
2022-04-24 16:56 ` [PATCH 2/2 Version 5] " Joel Brobecker
2022-04-12 17:09 ` [PATCH 0/2 Version 2] " Carl Love
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=af382704a474247a1a7717548e9117f63c752e20.camel@vnet.ibm.com \
--to=will_schmidt@vnet.ibm.com \
--cc=Ulrich.Weigand@de.ibm.com \
--cc=brobecker@adacore.com \
--cc=cel@us.ibm.com \
--cc=gdb-patches@sourceware.org \
--cc=rogealve@br.ibm.com \
--cc=tuliom@linux.ibm.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).