From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id cQHlEp51fGoxkyAAWB0awg (envelope-from ) for ; Wed, 12 Aug 2026 09:31:10 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=EgWX8VrD; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 449C21E166; Wed, 12 Aug 2026 09:31:10 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED 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 AFB281E033 for ; Wed, 12 Aug 2026 09:31:09 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 84DEC4BB24FE for ; Wed, 12 Aug 2026 13:31:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 84DEC4BB24FE Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=EgWX8VrD Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) by sourceware.org (Postfix) with ESMTPS id AA7CA4BB3B91 for ; Wed, 12 Aug 2026 13:29:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AA7CA4BB3B91 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 AA7CA4BB3B91 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1786541351; cv=none; b=xPVpDbExVCqQxAA1LELaKG1sUi+TWxXwVx0RJA6Jrto1ZvXDL27801fi9dz/0fnA9yG2VECvxKzroc3lG7KM47FQasqW4b/Us6N+X3S7nkHVfXr3NiRWnScTttRdqJBDRkcSAAaCHJXoyQZXiWjp1LVc3BWbZSTG7Q7u5OmLD5c= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1786541351; c=relaxed/simple; bh=AgnOt8cBxseJ+HZfs1F6stfRVChB4Zdbxay5McKTZJw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=F5h24k9OoG1Y0v/y3UNVouDHo5D+K7VNWT9341GtLhJ7Af8J5vXl4ELgxFoS/slr/gfbODpYZ5YkG7h4Q2OeW5eBzMw6hEez5EIL6ZW1FaBw71Ib4oF1Tfx4yse+89sPqcIA+AXD7NfODgjzyZ311Hat77wrknxKIeSaRut2LwM= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=EgWX8VrD DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AA7CA4BB3B91 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1786541351; x=1818077351; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=AgnOt8cBxseJ+HZfs1F6stfRVChB4Zdbxay5McKTZJw=; b=EgWX8VrD/QNStfYLEraziR1mEF/mG2bSegut4xc54KLPoKZjoGSzuVEI OlF4/73UuZzDvfeh+FHgPx6ZhfOCCGyy7Y9XsrIN1W49d0diz8wR66nf/ DS/gueKq39BEBCCFrL3E9nAeVMjq7AISO3it8MDvmLhaR662MfotlE90h E4B+QbqyyixM1g1+HRfsirwtg9pVCBWaQ0TaDTLlw990K583Iqt6n8Xg9 1HcWPrSScNQL0hcggJ0uwjskuxDZvcs+IwpMPZStdn2u+6/ddNZ8Y1o1g tBYdjF+347mxe2Qsp0o2t5upiINfMiiKNd8V3kHZ/EcK0dnhJ6jo/coFW Q==; X-CSE-ConnectionGUID: L5h2Th2iS0SIDXnF83a2Mw== X-CSE-MsgGUID: McsPZBknQPuEPw32u+VItw== X-IronPort-AV: E=McAfee;i="6800,10657,11872"; a="97757837" X-IronPort-AV: E=Sophos;i="6.25,219,1779174000"; d="scan'208";a="97757837" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2026 06:29:11 -0700 X-CSE-ConnectionGUID: 1H+0Bq/QRICTa7FoeyZ7/g== X-CSE-MsgGUID: H562UfZWQ/efLiY6oM6dJw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.25,219,1779174000"; d="scan'208";a="259817902" Received: from gkldtt-dev-004.igk.intel.com (HELO localhost) ([10.123.221.202]) by fmviesa010-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2026 06:29:10 -0700 From: Markus Metzger To: gdb-patches@sourceware.org Subject: [PATCH v4 20/44] gdbserver: allow inferiors without threads Date: Wed, 12 Aug 2026 15:27:40 +0200 Message-ID: <20260812132805.380163-21-markus.t.metzger@intel.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260812132805.380163-1-markus.t.metzger@intel.com> References: <20260812132805.380163-1-markus.t.metzger@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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 An Intel GPU device is modeled as an inferior and GPU software threads are modeled as threads. Software threads represent the work that has been dispatched to a GPU device. When a thread completes its work, it exits. When new work is dispatched to a GPU device, new software threads are created. In such a model, when no work is currently dispatched to a GPU device, we are left with the GPU inferior representing the GPU device but no threads. --- gdbserver/server.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gdbserver/server.cc b/gdbserver/server.cc index 03a40c7a19e..7ad93e5e303 100644 --- a/gdbserver/server.cc +++ b/gdbserver/server.cc @@ -278,7 +278,7 @@ struct notif_server notif_stop = static int target_running (void) { - return get_first_thread () != NULL; + return (get_first_process () != nullptr); } /* See gdbsupport/common-inferior.h. */ @@ -339,8 +339,12 @@ attach_inferior (int pid) && cs.last_status.sig () == GDB_SIGNAL_STOP) cs.last_status.set_stopped (GDB_SIGNAL_TRAP); - current_thread->last_resume_kind = resume_stop; - current_thread->last_status = cs.last_status; + /* We may not have any threads, yet, after attaching. */ + if (current_thread != nullptr) + { + current_thread->last_resume_kind = resume_stop; + current_thread->last_status = cs.last_status; + } } return 0; -- 2.43.0 ________________________________________ Intel Deutschland GmbH Registered Address: Dornacher Strasse 1, 85622 Feldkirchen, Germany Tel: +49 (89) 99143-0 www.intel.de Managing Directors: Candice Moore, Jeffrey Schneiderman, Ramachandran Sitaraman Chairperson of the Supervisory Board: Sonja Pierer Registered Seat: Munich Commercial Register B: Amtsgericht Munich HRB 186928 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.