From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id 64AAC385BF82 for ; Sun, 22 Mar 2020 02:09:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 64AAC385BF82 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=simark.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=simark@simark.ca Received: from [10.0.0.11] (unknown [192.222.164.54]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 94B7F1E092; Sat, 21 Mar 2020 22:09:36 -0400 (EDT) Subject: Re: [PATCH 1/7] [gdb/testsuite] allow more registers in reader test From: Simon Marchi To: Mihails Strasuns , gdb-patches@sourceware.org References: <20200218124339.11270-1-mihails.strasuns@intel.com> <20200218124339.11270-2-mihails.strasuns@intel.com> Message-ID: <0b1b6dcc-5925-89d7-1729-7933f676d0b5@simark.ca> Date: Sat, 21 Mar 2020 22:09:36 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US-large Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-31.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Mar 2020 02:09:39 -0000 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 >> >> * gdb.base/jit-reader.exp: relax register output check >> >> Signed-off-by: Mihails Strasuns >> 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 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 "". - gdb_test "info registers" \ + + set expected \ [multi_line \ "rax " \ "rbx " \ @@ -197,9 +203,13 @@ proc jit_reader_test {} { "es " \ "fs " \ "gs " \ - ".*" \ ] + # 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