From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 4bIHEE9LrmqQ/B8AWB0awg (envelope-from ) for ; Sat, 19 Sep 2026 04:43:59 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=PBjOw6EK; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=ojnMu50W; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=iMSBXU/f; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=9cyxolqV; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 3E3C51E01F; Sat, 19 Sep 2026 04:43:59 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 92C701E01F for ; Sat, 19 Sep 2026 04:43:58 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2E05E4BB24F2 for ; Sat, 19 Sep 2026 08:43:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2E05E4BB24F2 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=PBjOw6EK; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=ojnMu50W; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=iMSBXU/f; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=9cyxolqV Received: from smtp-out2.suse.de (smtp-out2.suse.de [IPv6:2a07:de40:b251:101:10:150:64:2]) by sourceware.org (Postfix) with ESMTPS id B7C744BB1C13 for ; Sat, 19 Sep 2026 08:42:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B7C744BB1C13 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B7C744BB1C13 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=2a07:de40:b251:101:10:150:64:2 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1789807369; cv=none; b=PaGDeSlvjmxXdBnx16HBQIKriqkNdrf4oop1zybwdT38oV9C3cdc0Et8kBGTzDitmWxTJiahxsK0zBqTUPwStpdTu/7eMU3ApfZIfo1weJHR4hWxFIA1ELmySB4WAyFFcaFayU+FlQEI8d4xX7fL3slDeTiQnEe8Sg4hypJQBBc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1789807369; c=relaxed/simple; bh=fR7Z6lr3xyNSeAX6xFWcTJq4QcwBpKZ35TPgBH6boQ8=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:From: To:Subject:Date:Message-ID:MIME-Version; b=NympBcb3xkJBBUNbUgaADiPBjEt2GHdm3Psio3AEdL5Defq7SwImify7AIXOgy3vesc8WqS/I9Eqsoq7j4exjWKLfoUIbytgcqtF9MORlSEO+pA3Xkl0X9Xqtda7Yn0ka2Ugf9CTR5kof4O2cxYLQiExlHMd+0jsp9LQLRMo+js= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=PBjOw6EK; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=ojnMu50W; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=iMSBXU/f; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=9cyxolqV DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B7C744BB1C13 Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 78EF81F839 for ; Sat, 19 Sep 2026 08:42:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1789807364; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MizWnkjsXFi/tx3wB4WNHCDuG9fbJFJJen3I8mICWnA=; b=PBjOw6EK0JCzoFMhpH5GlbpwRZQyGyEl677KDlIRKM8Avn97SJVvoDQ8nn2vtNZ9nDvleS oIPz+AFu62OOVHVLJjZOTWdn2Nbq6U6Cx7VmnzJJXLRiIXid3jKbYgDbeQ9T2J7gBYZZEF qOOsrqivwP1kGcusp7JaSjbsNCBdSOE= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1789807364; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MizWnkjsXFi/tx3wB4WNHCDuG9fbJFJJen3I8mICWnA=; b=ojnMu50W8nRjyiT1M6UUm0L9W+HZC+pSbWmjGDPyK34Llf/bk+fo4biBfxjWkB68kWyXFs jr5HIukeWsdJ3fDw== Authentication-Results: smtp-out2.suse.de; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="iMSBXU/f"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=9cyxolqV DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1789807360; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MizWnkjsXFi/tx3wB4WNHCDuG9fbJFJJen3I8mICWnA=; b=iMSBXU/fFDw1hnlepiXIvN0JZGOJkKWJZrtmxBNS4jn/f2HHetbnk8Xa6rBccVCjARISlx F9Yu1Bfi//IAqpeOFlQ9Ptf8S87BoR4ExBb+BMlc2auN2DVGN/LP35lEKqeHxd0x6egj4M J53WBXilh5Dmn7IngpNcgyZRttGmgAM= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1789807360; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MizWnkjsXFi/tx3wB4WNHCDuG9fbJFJJen3I8mICWnA=; b=9cyxolqVHHG301l31BDhy35JtmoDiPy10AlC4D+/PXK/IX+Njoetn4JcH34me2RSKEcW+z 4fggCcOyiBhdamAw== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 04C91139B7 for ; Sat, 19 Sep 2026 08:42:39 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 0eG0F/5KrmpvZQAAD6G6ig:T4 (envelope-from ) for ; Sat, 19 Sep 2026 08:42:39 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH 3/3] [gdb/testsuite] Fix gdb.base/quit-live.exp for remote host Date: Sat, 19 Sep 2026 10:42:37 +0200 Message-ID: <20260919084237.1045724-4-tdevries@suse.de> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260919084237.1045724-1-tdevries@suse.de> References: <20260919084237.1045724-1-tdevries@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Action: no action X-Rspamd-Server: rspamd2.dmz-prg2.suse.org X-Rspamd-Queue-Id: 78EF81F839 X-Spamd-Result: default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[100.00%]; NEURAL_HAM_LONG(-1.00)[-1.000]; MID_CONTAINS_FROM(1.00)[]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; NEURAL_HAM_SHORT(-0.20)[-0.999]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; RCVD_COUNT_TWO(0.00)[2]; ARC_NA(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:dkim,suse.de:mid,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; RCVD_TLS_ALL(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[gdb-patches@sourceware.org]; SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; DKIM_TRACE(0.00)[suse.de:+] X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org I ran into trouble running test-case gdb.base/quit-live.exp using a remote host configuration: - host board local-remote-host - target board remote-gdbserver-on-localhost. The test-case uses kill to send a signal to gdb_spawn_id, but with remote host the gdb_spawn_id points to an ssh session, not gdb. Detect this more clearly by factoring out a proc kill_gdb (and remote_kill_spawn_id and remote_kill_spawn_id_p), and erroring out for remote host/target. Then fix this by skipping the relevant tests using remote_kill_spawn_id_p. --- gdb/testsuite/gdb.base/quit-live.exp | 13 ++++++++++--- gdb/testsuite/lib/gdb.exp | 29 ++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/gdb/testsuite/gdb.base/quit-live.exp b/gdb/testsuite/gdb.base/quit-live.exp index 8dae4fe2aca..8e1b4a428c7 100644 --- a/gdb/testsuite/gdb.base/quit-live.exp +++ b/gdb/testsuite/gdb.base/quit-live.exp @@ -43,8 +43,7 @@ if {[build_executable "failed to build" $testfile $srcfile debug]} { # Send signal SIG to GDB, and expect GDB to exit. proc test_quit_with_sig {sig} { - set gdb_pid [exp_pid -i [board_info host fileid]] - remote_exec host "kill -$sig ${gdb_pid}" + kill_gdb $sig set test "quit with SIG$sig" # If GDB mishandles the signal and doesn't exit, this should FAIL @@ -176,7 +175,15 @@ foreach_with_prefix appear_how {"run" "attach" "attach-nofile"} { } foreach_with_prefix extra_inferior {0 1} { - foreach_with_prefix quit_how {"quit" "sigterm" "sighup"} { + set qhs {} + lappend qhs "quit" + foreach sig {"sigterm" "sighup"} { + if {[remote_kill_spawn_id_p host $sig]} { + lappend qhs $sig + } + } + + foreach_with_prefix quit_how $qhs { quit_with_live_inferior $appear_how $extra_inferior $quit_how } } diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 7bdc5dad0a7..b249425528d 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -12473,6 +12473,35 @@ proc unprintable_to_octal { input_string } { # Ignore args and don't do anything. Can be used with proc with_override. proc nop {args} {} +# Return 1 if SIG can be delivered to a spawn_id on board. +proc remote_kill_spawn_id_p { board sig } { + if {$board == "host" || $board == "target"} { + if {[isremote $board]} { + # For remote host/target, the spawn_id holds the pid of the ssh + # session, so we'd end up sending signals to ssh instead. + return 0 + } + } + + return 1 +} + +# Send SIG to PID on BOARD. +proc remote_kill_spawn_id { board spawn_id sig } { + set pid [exp_pid -i $spawn_id] + + if {![remote_kill_spawn_id_p $board $sig]} { + error "Can't send signal $sig to $pid on remote $board" + } + + return [remote_exec $board "kill -$sig $pid"] +} + +# Send SIG to GDB. +proc kill_gdb { sig } { + return [remote_kill_spawn_id host $::gdb_spawn_id $sig] +} + require {tcl_version_at_least 8 6 2} # Always load compatibility stuff. -- 2.51.0