diff options
author | Carl Love <cel@us.ibm.com> | 2023-08-03 13:55:51 -0400 |
---|---|---|
committer | Carl Love <cel@us.ibm.com> | 2023-08-10 15:08:40 -0400 |
commit | 22f46409aaf95a0dc92e028ab9c2747be4d2df0a (patch) | |
tree | adaad95fa817ae416ce4ec495b9ce289489ecbbe | |
parent | 78e7f66e75f93d49a7accf3a7552b2378533b52b (diff) | |
download | gdb-22f46409aaf95a0dc92e028ab9c2747be4d2df0a.zip gdb-22f46409aaf95a0dc92e028ab9c2747be4d2df0a.tar.gz gdb-22f46409aaf95a0dc92e028ab9c2747be4d2df0a.tar.bz2 |
Fix gdb.ada/O2_float_param.exp for PowerPC
The frame command on Power pc prints the address in hex between the
#0 and in calle.increment. For example
(gdb) frame
#0 0x0000000010010a88 in callee.increment (val=val@entry=99.0, msg=...)
at /home/.../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.
Approved-By: Tom Tromey <tom@tromey.com>
-rw-r--r-- | gdb/testsuite/gdb.ada/O2_float_param.exp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gdb/testsuite/gdb.ada/O2_float_param.exp b/gdb/testsuite/gdb.ada/O2_float_param.exp index ac6df7e..2b141aa 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" "" { |