From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id vXKGNAreP2qXnxoAWB0awg (envelope-from ) for ; Sat, 27 Jun 2026 10:28:26 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=yahoo.de header.i=@yahoo.de header.a=rsa-sha256 header.s=s2048 header.b=f6DLtjXb; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id C126D1E098; Sat, 27 Jun 2026 10:28:26 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::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 BBDAE1E024 for ; Sat, 27 Jun 2026 10:28:24 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D1A0B4BA2E35 for ; Sat, 27 Jun 2026 14:28:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D1A0B4BA2E35 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=yahoo.de header.i=@yahoo.de header.a=rsa-sha256 header.s=s2048 header.b=f6DLtjXb Received: from sonic308-17.consmr.mail.ir2.yahoo.com (sonic308-17.consmr.mail.ir2.yahoo.com [77.238.178.145]) by sourceware.org (Postfix) with ESMTPS id CED7D4BA2E24 for ; Sat, 27 Jun 2026 14:27:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CED7D4BA2E24 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=yahoo.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=yahoo.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CED7D4BA2E24 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=77.238.178.145 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1782570479; cv=none; b=KEueeca0Lw6dcx4q0FL1lumPdFb5tYtjZzUjZNx+S0IOFThBD0vbfH6UQ+R1ou5ZPIaQArne+m7ulEpueqLgFwCYHTVm73sjnf9TVGkROSNdEkTJuhbAB+qxNqUyQtGxp7QQXGrrlVDvLaqJwKTPB+g2goUysCZoDyqJKg5Lcqo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1782570479; c=relaxed/simple; bh=l12UvQeIl0EAr5anguqb85DuWAWFCFuBpwsmOVRrB4E=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=F00YYzxC041jqzWTNsqm7AQCxXFmc4oOPTLv2RyioU05pIPb81LziesspQPtuRmhXWoVEH/ZIy3agad6P8zycPDZwJJpVL6tZCFpR26W7AnEE+SqwUy0xhSm59gOPzDFSX90FLye11Y83+Qa1TiTpc30rLr5nF3H5GjecCSeVLA= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=yahoo.de header.i=@yahoo.de header.a=rsa-sha256 header.s=s2048 header.b=f6DLtjXb DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CED7D4BA2E24 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.de; s=s2048; t=1782570474; bh=NHf59S8VD6n9mJZJl58BSIxhlYUB9wVDgEnTxXWdIo0=; h=From:To:Subject:Date:References:From:Subject:Reply-To; b=f6DLtjXbOhqX73tCL7nP4KTGNJZazgLnb2s5mx5nYqiklIjN/OHg+3hObPykdT1u5P6NyAkcLKf4QTilPSjwgkmeT6LsyvzOyF/drvsK6IAoK5dBKjLF2tqreXaD2t4SljXhyFslSNd3f4Rc4BNQlgkaG4fovnhK5uC9gNFl/KioyjYI1/Vl84HqxwoWucm4+FSk09ce/LekOmkSd7lVJEbNAzLS0X/hi5BHldhwbHwgIPVqP/sNQlcfwf7gptoXjba7SALx9mudSZipDvYJxHYYDWkS0WuI9hoHwVsNxvVIEHZyOojjP9JT7B/obEF05woHSNIm0agdDWU3Oo0/Pw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1782570474; bh=kyMtj6UHAvfXKF2d8WGS6PwLPucIQoziE91mRyuS+25=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=S/RkiMrGpzBQ4amjks+kvppOq8oBTRMzs/zQ+Ybx0PuakjMRiLYdXv9DST83n02f/8ekfBJAX4qYtseJL/Csiea/62FzEo2AsdphVeabCFUYTTtAc1o56HZgn9y++CVTXQb8I8ijbh8PqVrFlUOh6R6BmCE8JOjtx0RnPRUW1nvBeNtOOFnA5FvEZCyzxcdyhUKGrPMxsrsKi3uxkKiQFW4iDtRFVtJAomvCm0pWrrIoq8rRfbduAMC62Yklb2Tsu2xQ+IwpOCjN1ecd2hL9r/HNOd551dy8XnlDuVT9fEvCljmBA4YuqQr/neDoySv/jZmb8Om76Vwt+lTBvsu6uQ== X-YMail-OSG: QXXyw1kVM1lBoHm.m0yxoUHdWVRxX5SjlFwBAkxqJGthEOL2O1ZrNgItq3hegwa u0PMg8Nv3sL5YN3yBFTnvJ9Bun9G1NwT3KL2RddALdaX1oOClThZ8UMowkAy0fzc4WLAw6wJmMy5 SQpUoHvzt0HUUaEjPNAcKSTYUChYYcbdhdlkH4hXSL83wOee8_ob4Vcp6uzGZ551iBRw.szO1dt7 pWHO3AE33EqMrd5hhLqw9nwsQmpGwCrqwbBvSe6WrNLlzZNMtu_KZZARPzxhoRh00SAiPA.366mi 8S8G08ngIPM_Chcye9lpQYNOu9mJvv24W8DpRqWM1WklZXRepfZyJjPjSVstb1TSEXldA8Nz.WSJ IzBFupIKG1OClzStPe5yygiH3WakyVymEnxs0MPp0p83Aq5gkIQwAMjgfGO4MpPnSh7ikWk5d4i_ ZG3T0bxM2AYleO5ATeBw87yKBUtGaBuFDUqEk7OMo.egs_IMEjwd2wldVab3tG3eGX6G0JGvzCyZ ZvsBwEWjVsTPpdE6RSQ0n1hesrDfJh.LViKX4KsdPmA9PtAHdwb3z6hAtuwWLbYf.1UrgqbQvuhE pCx5zwGV1YnyJGKfBGYeuRw6R8OihbbyO.hpFkrOy9.O9gln8iVzEABaxpqLUwesoQCyka5QQJ.t .cK3OTKJHDXd.ay95h4Tnodh.xABTrtUyL.mFOghzhFIdOTA8ay4S8dnpggp0GBSP8FspUmRm9FV xBsashex.bkhxKtJruLa9T9xnLQmgqxkZEU7eNJafypDV0hpyk_cDWHVhkIhyh1LzvFaICauUgcX Iwato5AcHaBlnuDmsEcoRPqZEyFt67GN8jaEtDYXBiU36vHJz0Gtba3ZmJhEVprENefWqrmi34UG kRWxhqsJRh7e19kd.rOesp_31ZmQ5aGIO2VltZui_1kmN68UGgmv9owyU6R_akWB7C8G_7DVvnpb oHct3.47b9tKCsV7hS4nN_zGNPtC4tJm19JxYhnxXagDDYnUMKk3LKd0_NWbyWQTZd7s3c5ZvDis a9iyc5f7fUgWgSp0HKqmSdPC82GnvwJ7dOjWiEG2gY8FZYTQ9ATmFQmfIhHbfoZYq35pP5I3416t kmcHY9ixgvQqDxO3KwgJmb2EATbMqoKEVG3da1McjJuVh_cr6Ypyf0Yq9F2zPTs.E.w3WyC6.YUX 4teMG5j2cNWk1GOiveUyCpmj0HK51jMEipUFt1BoAiRwcVR1zzfMNMVttrIWPMUgBoHDFe.T3GaD 0x5Nd0euNdHc0kH43COKsFfgI4Ion1muNAwmzrLrTBc9gDNl5PozFvIZn86cmXBRjFcioLBWJGPU s.MNSWHD.vM9fRRJJugxunz_OWIKKr8AUdoaTtzL8RHF0WxVWwcqovrbEz6ngDfvjp4CYsQ_6rQD LakJ1X2Lqk92DWDuYLTDDjoc42cRiGH_mBhhIfAYwLyNi1qBV4SSJbD1rWUdTHWg8WdZcsBfBWgn a4.ILAwXjfrKS1emqNGfvtSoH__KVD594NGCgitN1u_yEahXahVGqrk_XRT3BgaPkzAogGsOnQ1G uXD.jTavTA5dDDVDS40VGwSlOuvSDqrQiQkDzwvwmDu26DX4xWta.8UawnZ3fsfSPIsYFCRd.xA2 60ryPjnNZUMmbVlOorg9dBtj8DSHGC0y2khM7nTKJTeoNMCSnPPL4Ggdr6aDQHBnqJyhUmy93XIG pg_tKS4wDeWpmjTg8JiTGw8ohRv2J11jL6hqDT0IbzYcH_bphB_DeHI5pZ1OItN4JPG8MrpkVb29 O55FZNdzRLlcK4OYDE.qhm5OZJPwD1gMWLyhqsmj8I_iGhs7PGVnRzditszEmLXjPrCQUSPzGnRZ 6mfLPu4B5boW9AsEfbHGU5iwPVZBIg4OfQl0MT9QXSvc7FS74Y.OPio5T2bylrqekKWJGv0H9Y6R rXkLOXABZHmso4bEk1x6zzvkWthHLjSaLq3_LxtIy7JVW0fodLdQ6kDi7L6iUarMsyi51.VUNFF. s8Ne4mHkF7fjO0vCkikVdhACdCL0l0ebwfouSJKWq6dQshVGwgUXRe.LqU.rU4H62UQ3e4eHM0jx c7Rmezbrts1i9eY_vAu_H3A.iM_gOBD0Kks_.xHn80v3NYjK5bVCJdjNlCpdvO88lMImjRf0I2DD T.sXKwujnTkSaO3ulBzWcL_d3kpkBUgAGAe62Wrp_UsKvaQBwl_VKVHpol4Hrw04I0NQr856YnqS Z61qbyZrnKgrIsmE- X-Sonic-MF: X-Sonic-ID: 7021b446-7095-4012-a9f0-8a00fad945b7 Received: from sonic.gate.mail.ne1.yahoo.com by sonic308.consmr.mail.ir2.yahoo.com with HTTP; Sat, 27 Jun 2026 14:27:54 +0000 Received: by hermes--production-ir2-7b48fcd765-7kk4q (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID d053726148b5504c37e160b49f5571bf; Sat, 27 Jun 2026 14:27:53 +0000 (UTC) From: Hannes Domani To: gdb-patches@sourceware.org Subject: [PATCH] Windows gdb: Fix resetting of the debug-registers bit in ContextFlags Date: Sat, 27 Jun 2026 16:27:40 +0200 Message-ID: <20260627142740.3995235-1-ssbssa@yahoo.de> X-Mailer: git-send-email 2.54.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit References: <20260627142740.3995235-1-ssbssa.ref@yahoo.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 The CONTEXT_DEBUG_REGISTERS also includes the arch-specific bit (CONTEXT_i386 or CONTEXT_AMD64) which is included in all CONTEXT_* defines. So this basically just checks if any CONTEXT_* define is set: if ((context->ContextFlags & CONTEXT_DEBUG_REGISTERS) != 0) And similarily, unsetting CONTEXT_DEBUG_REGISTERS removes the arch-specific bit as well. So this creates a CONTEXT_DEBUG_REG_FLAG define with just the debug-registers bit, and uses it in these problematic locations. --- gdb/x86-windows-nat.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gdb/x86-windows-nat.c b/gdb/x86-windows-nat.c index 27adeb1f154..3368814ed96 100644 --- a/gdb/x86-windows-nat.c +++ b/gdb/x86-windows-nat.c @@ -42,6 +42,10 @@ enum #define DR6_CLEAR_VALUE 0xffff0ff0 +/* The CONTEXT_DEBUG_REGISTERS define without the arch-specific bit + (CONTEXT_i386 or CONTEXT_AMD64). */ +#define CONTEXT_DEBUG_REG_FLAG 0x10 + struct x86_windows_per_inferior : public windows_per_inferior { /* The function to use in order to determine whether a register is @@ -142,7 +146,7 @@ x86_windows_nat_target::thread_context_continue (windows_thread_info *th, { windows_process->fill_thread_context (th); - gdb_assert ((context->ContextFlags & CONTEXT_DEBUG_REGISTERS) != 0); + gdb_assert ((context->ContextFlags & CONTEXT_DEBUG_REG_FLAG) != 0); /* Check whether the thread has Dr6 set indicating a watchpoint hit, and we haven't seen the watchpoint event @@ -173,13 +177,13 @@ x86_windows_nat_target::thread_context_continue (windows_thread_info *th, update the debug registers later when the thread is re-resumed by the core after the watchpoint event. */ - context->ContextFlags &= ~CONTEXT_DEBUG_REGISTERS; + context->ContextFlags &= ~CONTEXT_DEBUG_REG_FLAG; } } else DEBUG_EVENTS ("0x%x has no dr6 set", th->tid); - if ((context->ContextFlags & CONTEXT_DEBUG_REGISTERS) != 0) + if ((context->ContextFlags & CONTEXT_DEBUG_REG_FLAG) != 0) { DEBUG_EVENTS ("0x%x changing dregs", th->tid); context->Dr0 = state->dr_mirror[0]; -- 2.54.0