From patchwork Thu Mar 7 13:28:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Metzger, Markus T" X-Patchwork-Id: 86929 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 56A25385770C for ; Thu, 7 Mar 2024 13:30:01 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15]) by sourceware.org (Postfix) with ESMTPS id 7A7853857815 for ; Thu, 7 Mar 2024 13:29:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7A7853857815 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7A7853857815 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=192.198.163.15 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709818143; cv=none; b=uJ8rszr2vVc33uYzwJPwdgE2+jyJ9OVs8sJvarBJcVTBcBTFaadyK/E2kRP5jq2QGPtLjaU0pD0IpFrgh+q2pMM5pSgDtmCs78m5ONc8swnC8XtC0rqe2GltlFelnFIm0eKHc8u+/toB/JRg1JSYuFjjeiKMHqsY5wM7fA+dkvA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709818143; c=relaxed/simple; bh=w8oDNgOuZqRB/KjUXfMbg9xU83fqTu6sEv2AhS05IQs=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=HMVWpave6REzIJpc+UyQBovh1RN/6CALnEfhQO5Y9hV2TdTo8Wk+lR1DysF5cjb9hRvNsqzNBZ4wR4m5//9btQVt/TgZiclkmU5Ffy8v9Zc+hUO1313q1jBF1EqAFWGJge7sSDQ/85GPPJcJPtiBJ8ws/cXY+UVERzhPPK3Qm1g= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709818142; x=1741354142; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=w8oDNgOuZqRB/KjUXfMbg9xU83fqTu6sEv2AhS05IQs=; b=PTfVta01B4M+8LeqIE7U6PW41yTidfyWlqNv4a6CluNX7tF+I5iNShIY 9lzzgwPyE01C0lbZMqcWgCLvQF8IxXkTNKdhpYod2v0pg0oicImTtoj9c xh/eF5BwEX9OwBOyiC1iMWqeZQVkzfkhTNlWKtgOG+salxxPU0DdXy3bx K+Vuux2LO5hiMO9cpYFYWhU0F6ZQH0vAXd+rWizmtt66WRq1cXRXL7hax 6tATHEmLm5YrRvgK9c3XUNdVUYMurqJaYau84PC76MXKWzvzHTjmX+Pgz asrEdkdRe0a7UrVLyj1ktUkEfrN46eZEG3KUo/wmy4BiDTCrqJ0xurp0x A==; X-IronPort-AV: E=McAfee;i="6600,9927,11005"; a="4654427" X-IronPort-AV: E=Sophos;i="6.07,211,1708416000"; d="scan'208";a="4654427" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2024 05:29:01 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,211,1708416000"; d="scan'208";a="10010156" Received: from gkldtt-dev-004.igk.intel.com (HELO localhost) ([10.123.221.202]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2024 05:29:00 -0800 From: Markus Metzger To: gdb-patches@sourceware.org Subject: [PATCH 4/6] gdb, btrace: set wait status to ignore if nothing is moving Date: Thu, 7 Mar 2024 13:28:43 +0000 Message-Id: <20240307132845.2909415-5-markus.t.metzger@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240307132845.2909415-1-markus.t.metzger@intel.com> References: <20240307132845.2909415-1-markus.t.metzger@intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-10.1 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org 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+patchwork=sourceware.org@sourceware.org When record_btrace::wait() is called and no threads are moving, we set the wait status to no_resumed. Change that to ignore. This helps with enabling per-inferior run-control for the record btrace target as it avoids breaking out of do_target_wait() too early with no_resumed when there would have been an event on another thread. --- gdb/record-btrace.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c index 9f2999268d8..8b20ab53ca7 100644 --- a/gdb/record-btrace.c +++ b/gdb/record-btrace.c @@ -2280,14 +2280,14 @@ btrace_step_spurious (void) return status; } -/* Return a target_waitstatus indicating that the thread was not resumed. */ +/* Return a target_waitstatus indicating that nothing is moving. */ static struct target_waitstatus -btrace_step_no_resumed (void) +btrace_step_no_moving_threads (void) { struct target_waitstatus status; - status.set_no_resumed (); + status.set_ignore (); return status; } @@ -2556,7 +2556,7 @@ record_btrace_target::wait (ptid_t ptid, struct target_waitstatus *status, if (moving.empty ()) { - *status = btrace_step_no_resumed (); + *status = btrace_step_no_moving_threads (); DEBUG ("wait ended by %s: %s", null_ptid.to_string ().c_str (), status->to_string ().c_str ());