From patchwork Tue Jan 7 04:19:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 104209 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 D7A3D3858404 for ; Tue, 7 Jan 2025 04:20:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D7A3D3858404 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=simark.ca header.i=@simark.ca header.a=rsa-sha256 header.s=mail header.b=pUKMpsbB; dkim=pass (1024-bit key) header.d=simark.ca header.i=@simark.ca header.a=rsa-sha256 header.s=mail header.b=jzFu04XS X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id A817F3858D29 for ; Tue, 7 Jan 2025 04:19:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A817F3858D29 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=simark.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=simark.ca ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A817F3858D29 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=158.69.221.121 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736223568; cv=none; b=W+FGobifw2LsK3M+ZFpqeFS6IWsOfhkHydrzwV8i+lKBh+xsCqiglfdZIWe6nJHF5JilNbCk4RzhqrxppxrDzQ/0VnikD2nxlmoYWATQY17yD+KMjaJbve7PeLeZ3NlW7Sezvi8Kp7VJS5A7Jds79CV+rZMfLUEEwB3g5sz446M= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736223568; c=relaxed/simple; bh=XtNjhG8vc3gMnKaiowAzeeMt47EhMdxoofWc6R7eYCk=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=diHEqUgaYObvr+csEViJTVCBHBFh+W3e31cxhYilZPOyGHjxpHenMDSRoqVBIgywRuupZGEmXBp/EjHTUlk6fHTVk7YbRBX5LmgMo5CqewzaYRwqmJztdu4eSEyceA8BH/YISYYiuuyzS54tQvdNP2lbhitSuyPR3TpHUN+2f/M= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A817F3858D29 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=simark.ca; s=mail; t=1736223567; bh=XtNjhG8vc3gMnKaiowAzeeMt47EhMdxoofWc6R7eYCk=; h=From:To:Cc:Subject:Date:From; b=pUKMpsbB8U56xVHn7ECphEZ7aq/MN0r5OFkFip2aMKZL1fkfe8alZjvWkladi9SYz raFLvr2ZfvtpujaAUKubnctH5sSG6+uo+CvP0t4XXgdfe813gG65XDiSz7gFz5C3Uu QBNY24+O9hdFDpTreuGL5beGImbYvXwvpjyT2vK4= Received: by simark.ca (Postfix, from userid 112) id 4EC8C1E0C1; Mon, 6 Jan 2025 23:19:27 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-Spam-Level: X-Spam-Status: No, score=-162.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=simark.ca; s=mail; t=1736223562; bh=XtNjhG8vc3gMnKaiowAzeeMt47EhMdxoofWc6R7eYCk=; h=From:To:Cc:Subject:Date:From; b=jzFu04XSkNrKuaW9/panJptcZBGyuElEPZt+NB05+MX9yFcKXT+B7SH7FyQdiEtX1 YDreRQWjOt3ZOmQ4G/r585IOLoCXknZohDH+Z2U02UfRcZp/roG8Ajf/0p08g3DU86 9gbkcsbMezWXmIq5swiQBKU4inZ1OdGx0VGeNJrE= Received: from simark.localdomain (modemcable238.237-201-24.mc.videotron.ca [24.201.237.238]) (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 ESMTPSA id 0F0341E091; Mon, 6 Jan 2025 23:19:21 -0500 (EST) From: simark@simark.ca To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 1/2] gdb: remove call to get_current_regcache in keep_going_pass_signal Date: Mon, 6 Jan 2025 23:19:05 -0500 Message-ID: <20250107041920.1694163-1-simark@simark.ca> X-Mailer: git-send-email 2.47.1 MIME-Version: 1.0 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 From: Simon Marchi In keep_going_pass_signal, we call get_thread_regcache (ecs->event_thread) near the top and get_current_regcache () later. We also assert that: gdb_assert (ecs->event_thread->ptid == inferior_ptid); Meaning that the event_thread will always be the current thread (inferior_ptid and current_thread_ are always supposed to be synchronized). Since get_current_regcache is implemented as: return get_thread_regcache (inferior_thread ()); ... and inferior_thread returns the current thread, it seems clear to me that the two calls will always return the same regcache. Remove the call to get_current_regcache in favor of just fetching the regcache once at the top. Change-Id: I41b773d8529129a552a8afb3c9d65d9dd28c97ea --- gdb/infrun.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) base-commit: d4efbce75f1f98db0837f3791a65d9cb433f7861 diff --git a/gdb/infrun.c b/gdb/infrun.c index 8a10119487c4..c7a10db125a7 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -9027,9 +9027,10 @@ keep_going_pass_signal (struct execution_control_state *ecs) gdb_assert (ecs->event_thread->ptid == inferior_ptid); gdb_assert (!ecs->event_thread->resumed ()); + regcache *regcache = get_thread_regcache (ecs->event_thread); + /* Save the pc before execution, to compare with pc after stop. */ - ecs->event_thread->prev_pc - = regcache_read_pc_protected (get_thread_regcache (ecs->event_thread)); + ecs->event_thread->prev_pc = regcache_read_pc_protected (regcache); if (ecs->event_thread->control.trap_expected) { @@ -9066,7 +9067,6 @@ keep_going_pass_signal (struct execution_control_state *ecs) } else { - regcache *regcache = get_thread_regcache (ecs->event_thread); int remove_bp; int remove_wps; step_over_what step_what; From patchwork Tue Jan 7 04:19:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 104210 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 57DB53858C32 for ; Tue, 7 Jan 2025 04:20:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 57DB53858C32 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=simark.ca header.i=@simark.ca header.a=rsa-sha256 header.s=mail header.b=oDkFCr0r; dkim=pass (1024-bit key) header.d=simark.ca header.i=@simark.ca header.a=rsa-sha256 header.s=mail header.b=mpyWgxrA X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id 6FE203858D39 for ; Tue, 7 Jan 2025 04:19:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6FE203858D39 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=simark.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=simark.ca ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 6FE203858D39 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=158.69.221.121 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736223572; cv=none; b=DE9fG8WNgtYPIuSuC7Lktvh4s+WDgFkoH1gSM2/0iVWBcclZccZf0trtQJ+J1eYoRo4HDwB/ivScgc/9HQsMeGCI8+wAUFTzP4vLv2WlAb4/Dnj9WKKX0x4yJWdOxFqKNsuG7NMfmGSGI+TQoubU3Q+oUXlMcrJCZrjwiv5KTzc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736223572; c=relaxed/simple; bh=evkTdMiT3inJNvJIDAnqOBSTFeQMpZz+a0CPoCgWEDk=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=VGu9MNoh/0xhswV1ZkWyuXUg13vWJnPvH7B4HDcQ6aNSDeY3+gNY7bxxW/+F6wPMe9ntLp7wilCs/ANldb2G65r+Ib74QFKBD29kYEVzDtvVeWsl713AioomvOA2qe4wFF8IVMtO2vSwSn2HvvE1nQ7XHQVq8l3kk5SRMxc2Fns= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6FE203858D39 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=simark.ca; s=mail; t=1736223572; bh=evkTdMiT3inJNvJIDAnqOBSTFeQMpZz+a0CPoCgWEDk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oDkFCr0rSPDFG7nSOYRRhu16s129/vaKiD9uhnqBVKAE7YV+2OlgNzSEFJRyVyPt/ 7R7YbYAZLNH7peR1Ue8qztWP3ui6mSGbFW3d9sKo6NNpagIPCvfxzrFY9tGNaYGL0F O5oXT0j9lfbjAv15wHNS9SdS5UVQC0N7i5xtAnR0= Received: by simark.ca (Postfix, from userid 112) id 0BB111E0C0; Mon, 6 Jan 2025 23:19:32 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-Spam-Level: X-Spam-Status: No, score=-161.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_NUMSUBJECT, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=simark.ca; s=mail; t=1736223562; bh=evkTdMiT3inJNvJIDAnqOBSTFeQMpZz+a0CPoCgWEDk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mpyWgxrAJo0DZfLyXeTc+KsMCFf9lT1CJ1EbZ6U/1pt6CI6m9Oldd2WxJ13/CCfpd QUTTysBDgwGdyfGe8bEiRA5CTgVShDqCyGurszKd8whxny5I+3cHepHVNMKdOElhqQ /wmOKFF/d7h7JrW7Ot8hsD9EbtvNcjgyYgvRy7ZY= Received: from simark.localdomain (modemcable238.237-201-24.mc.videotron.ca [24.201.237.238]) (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 ESMTPSA id 21BD51E097; Mon, 6 Jan 2025 23:19:22 -0500 (EST) From: simark@simark.ca To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 2/2] gdb: remove duplicate call to get_thread_regcache in resume_1 Date: Mon, 6 Jan 2025 23:19:06 -0500 Message-ID: <20250107041920.1694163-2-simark@simark.ca> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250107041920.1694163-1-simark@simark.ca> References: <20250107041920.1694163-1-simark@simark.ca> MIME-Version: 1.0 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 From: Simon Marchi This call to get_thread_regcache should return the same regcache we already fetched at the beginning of the function. Change-Id: Ic2142148e6372fff37f38bb84aad7cd7a1c14577 --- gdb/infrun.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/infrun.c b/gdb/infrun.c index c7a10db125a7..16a264698eb0 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -2852,7 +2852,7 @@ resume_1 (enum gdb_signal sig) { /* Update pc to reflect the new address from which we will execute instructions due to displaced stepping. */ - pc = regcache_read_pc (get_thread_regcache (tp)); + pc = regcache_read_pc (regcache); step = gdbarch_displaced_step_hw_singlestep (gdbarch); }