From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sonic309-25.consmr.mail.ir2.yahoo.com (sonic309-25.consmr.mail.ir2.yahoo.com [77.238.179.83]) by sourceware.org (Postfix) with ESMTPS id A83763858CDA for ; Thu, 14 Sep 2023 16:27:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A83763858CDA Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=yahoo.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=yahoo.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.de; s=s2048; t=1694708877; bh=nxeIwYE4x8M01FclQgdtvsi4U4q+fAeGpJDqad1VWFg=; h=From:To:Subject:Date:References:From:Subject:Reply-To; b=Pxkt+TdZAJgCCF0ByiTeBPG053ANrWFJIkx9QHa5HdWNYbCaSHguRWF9E0JfRnc1Y2FOM7CIiQOikly0Kat6mMcbukfKp2ykmIbT74esBw0f6clE+6rNWIQihOlNihBhnZIzOh5UpUg4Vt9tcr/kLQRhWVOs32kIepKCzHE95ifKaIYGae5EZ6gf4Zu2kagJuBGnFhC3fHDSIcoE2+AGKquZFUe1GPSiP9YPrNq7ItWlW9TxC7nLjJVtQJ8ZtaDXTjpapBe+RTLlq9UORKGYRaW4ozrkD88+h4XlmgpXSQzMESfetzy6oUJsZCb2/ajJJiivx9Hs5gfjBx7hpazuzw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1694708877; bh=qqi2hiSA2uK7Ur4LnmepgJhGdFd4IhT8/X4FxM6I5Nh=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=PoVmE5s/eAqFy6J/6XBikYct79P9DzfY+naPDCg0yEWajNLE+bKjOrkTyS/k6d/CVzryP62sx4CbeN7Fx+Z7nJY0dKaPqmpfBvV/eHgV/JxyVfMjB75miSFuVbjURK8sfOcJgugzzJ+Tt+NLTTwmUuymtnbLyIYVa7DaAzL42rkXLAg5INezTj2VkTPXKLRg/gh2txpxHSZfRhIvZx+8pxjipoKD61R0KTsoEvodbvdFavM1h8fUVZVVT3VlFFkbwP9Po8keGEatr14WftTsB0MCDXhrgzXKjE1cR/anK0Jn/q4TUcU2dOAtNq3Mu0QYF5dOHMMOTRGu7trp6uvp0Q== X-YMail-OSG: oUkpcqYVM1luk1BpJ6RPf090EeyZk9IGJnT7UG0YQzyGIIkPxSI647zWryF9H_V 7hLDt1c_rGLPP0yk4CXPcReQnG_YSr18RaoqysmBFMsgEmoxFGQlWE.F_tzy2N8fPdb88puTipDa rqEWOOOyth30WozSD_qjM0fKZmy9s3oKTVypd03gWGU5S5RAxTNmyRAMOXToXjw6ZtDeXlasmJ4f QMZuZjjBjAWq4xZjAlxZn.ihRZvPuvJAPzbJ1AWun.EbxIgssJznal7uzNQmEDcw65.6Lt.8322w 0GyLyUfdU9inDFV0rDcxATq4UATeMDZzjNVExcFSgcFA4tCN1VByPTkhCvEMUELinjaWy2nfQWSx cP7biq0igoY9TQs2GF2gMYR6FPzp61rtN1lUYnByF2zB28VmjOBlbjEvOQdBfUA9g9WkT.3LF0w0 o.ggXB1mQ9fbxDkAjvJdUheP8y04yTlysti0q8okqciLVXOzPLwaePt9uiAvLAiK4a.oqW9jNUM7 lAOOIPlXAhepGVHmnAD__Tue6Qrcu87DwHceRWafEvp3rw_o3A0fbD._q_LuayCwtSI98XIJA_Uz mvwDrx_OkFwnpCW7ls3V1HxQtTSUtjpfawYF3RQ5wdHHZRZQybHLllJvseOOhrvH2grrBXJGFfyM Z0T.vFKtfEE4MFmq0YPlz2uMpnoEOFsGUipsXmEZDwLnj0Ao4awRAtQdToQxqbALLwCwkn1GKSx_ WYyPuNlJ3iK5jhf7SpIyMSWyxoPn6M1hOf9kleGTAHPMBISxwiV27LAuuB5gX7KEQo1R16po2hX9 _F9B3rRNbqVOeGAnwkcdO5SFRiPDzVD1fGu2BgfDraPgtC7qESFO4vMwOvZDnpdj36j_AG1fJequ cw_cuyuURT3aTEor5VGMpVFocGHpaXZ.lg7UwbiBmGnubgjAEWI_P3jK0KWVh04pKSD4rw4jZZ3I o4AyDMyHrf3iph6oMM.uRMijQ98uhDRTQ4zADtKMjzJrvThDEOIZ57mK4a01kLzV4hbWJ5s0RTh7 QlppcJOmf_MrwliFEyZWjrSeIj809kYEznt.7hCx_knoCbZE9nE62R24rDXv45IZdE7v1ep7uPL8 Eo4Dn6y8.jF2RIvWh5T_4.9LjGo.3p4zpDvuDZnf5..BSrDMHuP8jvA4VHFl8lHu7bodSPReE48X pyD1Nshx4SrSaC0AUsrZASb6IosXaBNOikHxgXLr_y.MB1PIrpn774FExvy7n47kFZN.hVx2kX88 LDwZlzQqMSV1Cr5qn2wk8hP4yaGZtpp4f84HCSvs5sYBDAyabaDUgkYGXNcDkNyED.nfws8ZK6_7 Zp7DXtrSvmdIi0_Y1l82xx7t..dkgX9Zs6Ilbd7d.oC6pOjlqXwljAd6mjcqaMVjFFW4F0Dr54rR qWEK1L6udV_w3GT3F7cgEq4MmQMbcTB.agH96LMuWkRVYUrxGjkoV32dEDzKn_nIoo2KsJQysXGX AsiA6EKMsh66GUM0jHY.LH9nzVcnace1RmBXK2CFwLGvA9g7Ir3yfGvAM8ECQs_4I93iUOYMP9To EQtRPfT8JCCnxBIXV1ru6RnHMBPuufNc57eKDzTo1w_bbxqlAXaQcm8Yel1hfT3J24tr6R2uLmea 66OdYgPMHH1Wul3bM4SE3RaSKzdelVqAoH_QeYmp8G8bHpt_OHSE6NfD947QYCj9FmdS76b8TSF6 c_smo0WJN2_qYgszKp2QtgppnBg1xkCxA4Qgw5QU3j172HKwGRV4qvg6BVvzFLbNg95watY9hMUy MGTTrEJfZQCLe9QTzljQCYX1upZQyyjZWiptnWB4gvQA.XV46hpHz7IMV4Re0JT8CGDrr5N.NTW5 5Yr8sX7sHCSsymQzRPRrBhaoOoGwSWw.HFrcWPtOu6_WPO0Bg6iXWzVu.IL_8On4I6G7Ww_oyoQu 4b9ssEuWpjOhJntfLbnAzt9f07n1EyoCowjyFZs3tVG3L7nRsryvVFGXjLi8mpTmCW.lUgmWgTbW Fw_MnsdsQNoHcCNqueWJ1Tv6dkbBrxx4rr4w.P4.A8B2Amw6tSgW43RDsbxwcBON6m5aaNKdjT2d kzdGoci3OBHninuk_7oA7ZtgRmB4R1wiJHDBVlOzwWI99JKhUbu0PflUFiSskeA66fKxZMzyubGE SafX2oRA7lJferkOyFREau_wCwOgDni3KGkXlyipQn8bTsF.6BH5nukFOB7RJgJENluMnVSAoj7P CPTsU27inZZwQ.In_wID1xnnq22yaQpwXH2v1 X-Sonic-MF: X-Sonic-ID: 4fa4d3ed-79df-4b0a-a015-0c0980a5f937 Received: from sonic.gate.mail.ne1.yahoo.com by sonic309.consmr.mail.ir2.yahoo.com with HTTP; Thu, 14 Sep 2023 16:27:57 +0000 Received: by hermes--production-ir2-8464d7bd7d-5jx8g (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 314876a96624bd95ab8db6fedab5a8dc; Thu, 14 Sep 2023 16:27:53 +0000 (UTC) From: Hannes Domani To: gdb-patches@sourceware.org Subject: [PATCH v2] Fix hardware watchpoints in replay mode Date: Thu, 14 Sep 2023 18:27:32 +0200 Message-Id: <20230914162732.2077-1-ssbssa@yahoo.de> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Antivirus: Avast (VPS 230914-2, 09/14/2023), Outbound message X-Antivirus-Status: Clean References: <20230914162732.2077-1-ssbssa.ref@yahoo.de> X-Spam-Status: No, score=-10.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Changes introduced by commit 9e8915c6cee5c37637521b424d723e990e06d597 caused a regression that meant hardware watchpoint stops would not trigger in reverse execution or replay mode. This was documented in PR breakpoints/21969. The problem is that record_check_stopped_by_breakpoint always overwrites record_full_stop_reason, thus loosing the TARGET_STOPPED_BY_WATCHPOINT value which would be checked afterwards. This commit fixes that by checking if record_full_stop_reason is TARGET_STOPPED_BY_BREAKPOINT and, if so, not overriding it. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=21969 --- gdb/record-full.c | 4 +++- gdb/testsuite/gdb.reverse/watch-reverse.exp | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gdb/record-full.c b/gdb/record-full.c index faf8b595d22..da785ef4b2a 100644 --- a/gdb/record-full.c +++ b/gdb/record-full.c @@ -1382,7 +1382,9 @@ record_full_wait_1 (struct target_ops *ops, /* check breakpoint */ tmp_pc = regcache_read_pc (regcache); - if (record_check_stopped_by_breakpoint + if (record_full_stop_reason + != TARGET_STOPPED_BY_WATCHPOINT + && record_check_stopped_by_breakpoint (aspace, tmp_pc, &record_full_stop_reason)) { if (record_debug) diff --git a/gdb/testsuite/gdb.reverse/watch-reverse.exp b/gdb/testsuite/gdb.reverse/watch-reverse.exp index 6b81a6fdf88..a7126ac9b1d 100644 --- a/gdb/testsuite/gdb.reverse/watch-reverse.exp +++ b/gdb/testsuite/gdb.reverse/watch-reverse.exp @@ -118,8 +118,12 @@ gdb_test "continue" \ ".*\[Ww\]atchpoint.*ival3.*Old value = 0.*New value = -1.*ival3 = count; ival4 = count;.*" \ "watchpoint hit in reverse, fifth time" +gdb_test_no_output "disable \$bpnum" "disable non-hw watchpoint" + gdb_test_no_output "set can-use-hw-watchpoints 1" "enable hw watchpoints" +gdb_test_no_output "enable \$bpnum" "enable hw watchpoint" + ### ### ### -- 2.35.1