[PATCH 1/7] [gdb/testsuite] allow more registers in reader test
Simon Marchi
simark@simark.ca
Sun Mar 22 02:09:36 GMT 2020
On 2020-03-21 12:03 p.m., Simon Marchi wrote:
> On 2020-02-18 7:43 a.m., Mihails Strasuns wrote:
>> Fixes jit-reader test failures on systems that have more registers than
>> expected by the current condition.
>>
>> gdb/testsuite/ChangeLog:
>>
>> 2020-02-18 Mihails Strasuns <mihails.strasuns@intel.com>
>>
>> * gdb.base/jit-reader.exp: relax register output check
>>
>> Signed-off-by: Mihails Strasuns <mihails.strasuns@intel.com>
>> Change-Id: I227ab8691b2363d626f7100216477ab637f619fa
>
> This is fine with me too, but could you please just quote in the commit message what
> are the extra registers you see? And maybe what hardware/cpu you run on, to help
> anybody who would like to replicate what you are seeing.
>
> Thanks,
>
> Simon
>
Hmm, in fact, I now get some failures, which I don't get before:
Running /home/simark/src/binutils-gdb/gdb/testsuite/gdb.base/jit-reader.exp ...
FAIL: gdb.base/jit-reader.exp: with jit-reader: after mangling: current frame: info registers
FAIL: gdb.base/jit-reader.exp: with jit-reader: after mangling: caller frame: info registers
FAIL: gdb.base/jit-reader.exp: without jit-reader: info registers
The reason is that the regexp generated by multi_line mandates another line after the `gs` line.
It ends something like this:
...gs $hex +$neg_decimal\r\n.*\r\n
If you don't have any line after the `gs` line, the regexp won't match.
multi_line just returns regexp as a string, so you can just append .* after it. I would suggest
integrating the change below in your patch.
>From 9a32960dfa05b322fd873aedc9768a8dd721acd6 Mon Sep 17 00:00:00 2001
From: Simon Marchi <simon.marchi@polymtl.ca>
Date: Sat, 21 Mar 2020 22:06:36 -0400
Subject: [PATCH] fixup
---
gdb/testsuite/gdb.base/jit-reader.exp | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/gdb/testsuite/gdb.base/jit-reader.exp b/gdb/testsuite/gdb.base/jit-reader.exp
index 5140e3d9306b..8663f0021def 100644
--- a/gdb/testsuite/gdb.base/jit-reader.exp
+++ b/gdb/testsuite/gdb.base/jit-reader.exp
@@ -66,7 +66,8 @@ proc info_registers_current_frame {sp} {
set any "\[^\r\n\]*"
set neg_decimal "-?$decimal"
- gdb_test "info registers" \
+
+ set expected \
[multi_line \
"rax $hex +$neg_decimal" \
"rbx $hex +$neg_decimal" \
@@ -92,8 +93,12 @@ proc info_registers_current_frame {sp} {
"es $hex +$neg_decimal" \
"fs $hex +$neg_decimal" \
"gs $hex +$neg_decimal" \
- ".*" \
]
+
+ # There may be more registers.
+ append expected ".*"
+
+ gdb_test "info registers" $expected
}
proc jit_reader_test {} {
@@ -171,7 +176,8 @@ proc jit_reader_test {} {
# Since the JIT unwinder only provides RIP/RSP/RBP,
# all other registers should show as "<not saved>".
- gdb_test "info registers" \
+
+ set expected \
[multi_line \
"rax <not saved>" \
"rbx <not saved>" \
@@ -197,9 +203,13 @@ proc jit_reader_test {} {
"es <not saved>" \
"fs <not saved>" \
"gs <not saved>" \
- ".*" \
]
+ # There may be more registers.
+ append expected ".*"
+
+ gdb_test "info registers" $expected
+
# Make sure that "info frame" doesn't crash.
gdb_test "info frame" "Stack level 1, .*in main.*"
--
2.25.2
More information about the Gdb-patches
mailing list