From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id sdokLeB1fGoxkyAAWB0awg (envelope-from ) for ; Wed, 12 Aug 2026 09:32:16 -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=AYaAoN3y; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id A82F51E168; Wed, 12 Aug 2026 09:32:16 -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 378611E168 for ; Wed, 12 Aug 2026 09:32:13 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 712164BB3B91 for ; Wed, 12 Aug 2026 13:32:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 712164BB3B91 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=AYaAoN3y Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by sourceware.org (Postfix) with ESMTPS id ABCB14B9DB6C for ; Wed, 12 Aug 2026 13:28:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ABCB14B9DB6C 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 ABCB14B9DB6C Authentication-Results: sourceware.org; arc=none smtp.remote-ip=192.198.163.11 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1786541339; cv=none; b=ogUbVnNFQsWBX538GLkfcUqB3OjIf65u7Bxb5xPesIB51uNDLZNgfJPMXcJbRp9C8H/UxhbPUQVg4csqOxsbqUrEC+0Ai4iwYlGUCg7TK4H4tzN4FK96RgfzTfsWZQ2uicJTaMkJ+H0uiNMLHnLHc7I4nFKLixtANP+IHRaa9Sw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1786541339; c=relaxed/simple; bh=3udaqBlPA4S4h5pA/iuyWK+MlF3QgVHRrnoj4x+bmXk=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=na2UMj4gymUQBwjmns+x1pAadqRm2N4TG4qVKitDdwsdizailAYdwqfnj+GA7CJotNiM8jLhx4T6R5Y1WtoCbS1/rZcKrRCYWRXUKjq4QllJqpnywtswWDVJ2swxKZ3MK2ZR/7hFBTQs7WZWjnhnFl/m1Cf6mku+JvD7GCWNBGc= 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=AYaAoN3y DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ABCB14B9DB6C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1786541339; x=1818077339; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=3udaqBlPA4S4h5pA/iuyWK+MlF3QgVHRrnoj4x+bmXk=; b=AYaAoN3yoDlrIVdzPpIm5/lhgXBWS/O4MUXOKiR6eOGq0lR/Vb3Vhjvm iXyjtGSiyxBk21rILQA/VVyxrkLnhx6snqPtXOxnibO6wgOGs0DDATzK2 7Tp1gD7exhCOfJGHAnifhqSt3CBtGSADUeTL25qqasizc0DCSnqWKkV8S pYsf+gw5QbgDF5gdWZ2e21VASuDxwejGkpyc20GQ7frpUoRLL381arxbD e4rzbcTzmtqIeRxIiGHaVfILukBMrapahu5PweCVak2/zqKh29g3W/X0D tJAwXjJUUy7SAjF9HSfs+e++quc087X0o2RPC76GK6G24bOaG2pxiIz8I w==; X-CSE-ConnectionGUID: ww//Vv2JQ1ibjcrMvFyErw== X-CSE-MsgGUID: ShqYQFjcSOGem02kbrWQbw== X-IronPort-AV: E=McAfee;i="6800,10657,11872"; a="97683614" X-IronPort-AV: E=Sophos;i="6.25,219,1779174000"; d="scan'208";a="97683614" Received: from orviesa008.jf.intel.com ([10.64.159.148]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2026 06:28:57 -0700 X-CSE-ConnectionGUID: BzBUe7NiT0eQ1NYPjBJssg== X-CSE-MsgGUID: 5EZLFVM/RteGLnOBpjv8ww== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.25,219,1779174000"; d="scan'208";a="263171351" Received: from gkldtt-dev-004.igk.intel.com (HELO localhost) ([10.123.221.202]) by orviesa008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2026 06:28:55 -0700 From: Markus Metzger To: gdb-patches@sourceware.org Subject: [PATCH v4 15/44] gdbserver: check process when we need a process Date: Wed, 12 Aug 2026 15:27:35 +0200 Message-ID: <20260812132805.380163-16-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 Many qXfer features deal with process properties but check that there is a current thread. Check that we have a current process, instead. This is clearer and allows later patches to remove the need for having a thread. --- gdbserver/server.cc | 16 +++++++++------- gdbserver/tdesc.cc | 5 +++-- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/gdbserver/server.cc b/gdbserver/server.cc index 13a806421a0..a7e976c0f75 100644 --- a/gdbserver/server.cc +++ b/gdbserver/server.cc @@ -1810,11 +1810,11 @@ handle_qxfer_auxv (const char *annex, if (!the_target->supports_read_auxv () || writebuf != NULL) return -2; - if (annex[0] != '\0' || current_thread == NULL) + process_info *process = current_process (); + if (annex[0] != '\0' || process == nullptr) return -1; - return the_target->read_auxv (current_thread->id.pid (), offset, readbuf, - len); + return the_target->read_auxv (process->pid, offset, readbuf, len); } /* Handle qXfer:exec-file:read. */ @@ -1832,10 +1832,11 @@ handle_qxfer_exec_file (const char *annex, if (annex[0] == '\0') { - if (current_thread == NULL) + process_info *process = current_process (); + if (process == nullptr) return -1; - pid = current_thread->id.pid (); + pid = process->pid; } else { @@ -1876,7 +1877,7 @@ handle_qxfer_features (const char *annex, if (writebuf != NULL) return -2; - if (!target_running ()) + if (!current_process ()) return -1; /* Grab the correct annex. */ @@ -1906,7 +1907,8 @@ handle_qxfer_libraries (const char *annex, if (writebuf != NULL) return -2; - if (annex[0] != '\0' || current_thread == NULL) + process_info *process = current_process (); + if (annex[0] != '\0' || process == nullptr) return -1; std::string document = "\n"; diff --git a/gdbserver/tdesc.cc b/gdbserver/tdesc.cc index cb8aad84f54..bf49f3a8b53 100644 --- a/gdbserver/tdesc.cc +++ b/gdbserver/tdesc.cc @@ -127,10 +127,11 @@ copy_target_description (struct target_desc *dest, const struct target_desc * current_target_desc (void) { - if (current_thread == NULL) + process_info *process = current_process (); + if (process == nullptr) return &default_description; - return current_process ()->tdesc; + return process->tdesc; } /* An empty structure. */ -- 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.