From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2552 invoked by alias); 23 Apr 2014 23:41:19 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 2542 invoked by uid 89); 23 Apr 2014 23:41:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 23 Apr 2014 23:41:17 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s3NNfGFK019758 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 23 Apr 2014 19:41:16 -0400 Received: from brno.lan (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id s3NNfFIY002541 for ; Wed, 23 Apr 2014 19:41:16 -0400 From: Pedro Alves To: gdb-patches@sourceware.org Subject: [PATCH 0/3] [GDBserver] Fix hardware breakpoint regressions Date: Wed, 23 Apr 2014 23:41:00 -0000 Message-Id: <1398296475-27997-1-git-send-email-palves@redhat.com> X-SW-Source: 2014-04/txt/msg00477.txt.bz2 This series fixes hardware breakpoint regressions exposed by my fix for "PR breakpoints/7143 - Watchpoint does not trigger when first set", at https://sourceware.org/ml/gdb-patches/2014-03/msg00167.html The testsuite caught them on Linux/x86_64, at least. gdb.sum: FAIL: gdb.base/hbreak2.exp: next over recursive call FAIL: gdb.base/hbreak2.exp: backtrace from factorial(5.1) FAIL: gdb.base/hbreak2.exp: continue until exit at recursive next test gdb.log: (gdb) next Program received signal SIGTRAP, Trace/breakpoint trap. factorial (value=4) at ../../../src/gdb/testsuite/gdb.base/break.c:113 113 if (value > 1) { /* set breakpoint 7 here */ (gdb) FAIL: gdb.base/hbreak2.exp: next over recursive call The series touches code in all GDBserver targets. I tested it by building GDBserver for: aarch64-linux-gnu arm-linux-gnueabihf i686-pc-linux-gnu i686-w64-mingw32 m68k-linux-gnu mips-linux-gnu mips-uclinux nios2-linux-gnu powerpc-linux-gnu sh-linux-gnu tilegx-unknown-linux-gnu x86_64-redhat-linux x86_64-w64-mingw32 And also regression tested on x86_64 Fedora 17. I think the target-side changes aren't that invasive, and problems should be easy to fix. Unless there are objections, I'd like to push it in soon. For convenience, this series is also available at: git@github.com:palves/gdb.git hbreak2_v1 Pedro Alves (3): [GDBserver][Aarch64] Make watchpoint support use target_hw_bp_type. [GDBserver] Move Z packet defines and type convertion routines to shared code. [GDBserver] Make Zx/zx packet handling idempotent. gdb/gdbserver/i386-low.c | 23 - gdb/gdbserver/i386-low.h | 6 - gdb/gdbserver/linux-aarch64-low.c | 121 +++-- gdb/gdbserver/linux-arm-low.c | 73 +-- gdb/gdbserver/linux-crisv32-low.c | 63 ++- gdb/gdbserver/linux-low.c | 18 +- gdb/gdbserver/linux-low.h | 8 +- gdb/gdbserver/linux-mips-low.c | 59 +-- gdb/gdbserver/linux-ppc-low.c | 1 + gdb/gdbserver/linux-s390-low.c | 1 + gdb/gdbserver/linux-sparc-low.c | 1 + gdb/gdbserver/linux-x86-low.c | 76 +-- gdb/gdbserver/lynx-low.c | 1 + gdb/gdbserver/mem-break.c | 732 ++++++++++++++++++++++------ gdb/gdbserver/mem-break.h | 86 +++- gdb/gdbserver/nto-low.c | 49 +- gdb/gdbserver/server.c | 57 +-- gdb/gdbserver/spu-low.c | 1 + gdb/gdbserver/target.h | 23 +- gdb/gdbserver/win32-arm-low.c | 1 + gdb/gdbserver/win32-i386-low.c | 42 +- gdb/gdbserver/win32-low.c | 18 +- gdb/gdbserver/win32-low.h | 7 +- gdb/testsuite/gdb.base/break-idempotent.c | 52 ++ gdb/testsuite/gdb.base/break-idempotent.exp | 179 +++++++ 25 files changed, 1202 insertions(+), 496 deletions(-) create mode 100644 gdb/testsuite/gdb.base/break-idempotent.c create mode 100644 gdb/testsuite/gdb.base/break-idempotent.exp -- 1.7.11.7