public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Carl Love <cel@us.ibm.com>
To: Ulrich.Weigand@de.ibm.com,
	"gdb-patches@sourceware.org" <gdb-patches@sourceware.org>,
	Tom de Vries <tdevries@suse.de>, Tom Tromey <tom@tromey.com>
Cc: cel@us.ibm.com
Subject: [PATCH ver 2] Fix gdb.ada/O2_float_param.exp for PowerPC
Date: Fri, 04 Aug 2023 16:12:54 -0700	[thread overview]
Message-ID: <cfd3181352e66caa08336e47c888cb77e638d9a7.camel@us.ibm.com> (raw)


GDB maintainers:

Version 2, updated the comment in
gdb/testsuite/gdb.ada/O2_float_param.exp to explain the conditions that
cause gdb to print the address or not.

The gdb.ada/O2_float_param.exp for PowerPC test fails due to a
difference in the output of the frame command.  On PowerPC, the frame
command prints the address in addition to the rest of the information. 
The address is not printed on X86.  This patch updates the expect
string to account for the presence or absence of the address in the
output.

The patch fixes two failures in the test on PowerPC.  The patch has
been regression tested on Power 10 with no additional failures.

Please let me know if this patch is acceptable for mainline.  Thanks.

                     Carl 

-----------------------------
Fix gdb.ada/O2_float_param.exp for PowerPC

The frame command on PowerPc prints the address in hex before the
location.  The output on PowerPC looks like:

(gdb) frame
0  0x0000000010010a88 in callee.increment (val=val@entry=99.0, msg=...) at /..../gdb/testsuite/gdb.ada/O2_float_param/callee.adb:19
19         procedure Increment (Val : in out Float; Msg: String) is

The printing of the address for the frame is done by function
print_frame in gdb/stack.c.  If SAL.IS_stmt is false for the frame,
function frame_show_address returns true and print_frame prints the
address.  Currently, SAL.IS is false on PowerPC and true on X86-64.

Update the set re string to accept the hex address if it exits.

Fixes two failures on PowerPC.

Patch tested on Power10 with no new regressions.
---
 gdb/testsuite/gdb.ada/O2_float_param.exp | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gdb/testsuite/gdb.ada/O2_float_param.exp b/gdb/testsuite/gdb.ada/O2_float_param.exp
index ac6df7e3ab9..7ae872bb44e 100644
--- a/gdb/testsuite/gdb.ada/O2_float_param.exp
+++ b/gdb/testsuite/gdb.ada/O2_float_param.exp
@@ -39,8 +39,15 @@ foreach_with_prefix scenario {all minimal} {
 
     runto "increment"
 
+    # If SAL.IS_STMT is false for the frame, function frame_show_address will
+    # return true and function print_frame in gdb/stack.c will print the
+    # address.  In this case, the output will look something like:
+    # #0  0x0000000010010a88 in callee.increment (val=val@entry=99.0, msg=...)
+    # This situation currently occurs on PowerPC but not on X86-64.
+    # The re string needs to account for the possibility that the address
+    # will be printed.
     set re \
-	"#0\\s+callee\\.increment \\(val(=val@entry)?=99\\.0, msg=\\.\\.\\.\\).*"
+	"#0.*callee\\.increment \\(val(=val@entry)?=99\\.0, msg=\\.\\.\\.\\).*"
     set re_different_entry_val \
        "#0\\s+callee\\.increment \\(val=99.0, val@entry=.*, msg=\\.\\.\\.\\).*"
     gdb_test_multiple "frame" "" {
-- 
2.37.2



             reply	other threads:[~2023-08-04 23:12 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-04 23:12 Carl Love [this message]
2023-08-10 16:14 ` Tom Tromey

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=cfd3181352e66caa08336e47c888cb77e638d9a7.camel@us.ibm.com \
    --to=cel@us.ibm.com \
    --cc=Ulrich.Weigand@de.ibm.com \
    --cc=gdb-patches@sourceware.org \
    --cc=tdevries@suse.de \
    --cc=tom@tromey.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).