Skip to content

Commit 22f4640

Browse files
committed
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 <[email protected]>
1 parent 78e7f66 commit 22f4640

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

gdb/testsuite/gdb.ada/O2_float_param.exp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,15 @@ foreach_with_prefix scenario {all minimal} {
3939

4040
runto "increment"
4141

42+
# If sal.is_stmt is false for the frame, function frame_show_address will
43+
# return true and function print_frame in gdb/stack.c will print the
44+
# address. In this case, the output will look something like:
45+
# #0 0x0000000010010a88 in callee.increment (val=val@entry=99.0, msg=...)
46+
# This situation currently occurs on PowerPC but not on X86-64.
47+
# The re string needs to account for the possibility that the address
48+
# will be printed.
4249
set re \
43-
"#0\\s+callee\\.increment \\(val(=val@entry)?=99\\.0, msg=\\.\\.\\.\\).*"
50+
"#0.*callee\\.increment \\(val(=val@entry)?=99\\.0, msg=\\.\\.\\.\\).*"
4451
set re_different_entry_val \
4552
"#0\\s+callee\\.increment \\(val=99.0, val@entry=.*, msg=\\.\\.\\.\\).*"
4653
gdb_test_multiple "frame" "" {

0 commit comments

Comments
 (0)