From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18409 invoked by alias); 9 Oct 2014 10:44:31 -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 18333 invoked by uid 89); 9 Oct 2014 10:44:30 -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,SPF_HELO_PASS,SPF_PASS,T_RP_MATCHES_RCVD 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 (AES256-GCM-SHA384 encrypted) ESMTPS; Thu, 09 Oct 2014 10:44:29 +0000 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s999qshu018237 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Thu, 9 Oct 2014 05:52:54 -0400 Received: from blade.nx (ovpn-116-100.ams2.redhat.com [10.36.116.100]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s999qrBK005987 for ; Thu, 9 Oct 2014 05:52:54 -0400 Received: from blade.nx (localhost [127.0.0.1]) by blade.nx (Postfix) with ESMTP id DCE3C2626CB for ; Thu, 9 Oct 2014 10:52:48 +0100 (BST) From: Gary Benson To: gdb-patches@sourceware.org Subject: [PATCH 09/13 v2] Linux x86 low-level debug register code synchronization Date: Thu, 09 Oct 2014 10:44:00 -0000 Message-Id: <1412848358-9958-10-git-send-email-gbenson@redhat.com> In-Reply-To: <1412848358-9958-1-git-send-email-gbenson@redhat.com> References: <1412848358-9958-1-git-send-email-gbenson@redhat.com> X-IsSubscribed: yes X-SW-Source: 2014-10/txt/msg00196.txt.bz2 This commit makes several small changes to the low-level debug register code for Linux x86, making the code in the GDB and gdbserver implementations identical. gdb/ChangeLog: * x86-linux-nat.c (x86_linux_dr_set_addr): Updated assertion. (x86_linux_new_thread): Renamed argument. gdb/gdbserver/ChangeLog: * linux-x86-low.c (x86_linux_dr_get): Add assertion. Use perror_with_name. (x86_linux_dr_set): Likewise. --- gdb/ChangeLog | 5 +++++ gdb/gdbserver/ChangeLog | 6 ++++++ gdb/gdbserver/linux-x86-low.c | 6 ++++-- gdb/x86-linux-nat.c | 6 +++--- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c index e5257a3..3064791 100644 --- a/gdb/gdbserver/linux-x86-low.c +++ b/gdb/gdbserver/linux-x86-low.c @@ -529,13 +529,14 @@ x86_linux_dr_get (ptid_t ptid, int regnum) int tid; unsigned long value; + gdb_assert (ptid_lwp_p (ptid)); tid = ptid_get_lwp (ptid); errno = 0; value = ptrace (PTRACE_PEEKUSER, tid, offsetof (struct user, u_debugreg[regnum]), 0); if (errno != 0) - error ("Couldn't read debug register"); + perror_with_name (_("Couldn't read debug register")); return value; } @@ -545,13 +546,14 @@ x86_linux_dr_set (ptid_t ptid, int regnum, unsigned long value) { int tid; + gdb_assert (ptid_lwp_p (ptid)); tid = ptid_get_lwp (ptid); errno = 0; ptrace (PTRACE_POKEUSER, tid, offsetof (struct user, u_debugreg[regnum]), value); if (errno != 0) - error ("Couldn't write debug register"); + perror_with_name (_("Couldn't write debug register")); } static int diff --git a/gdb/x86-linux-nat.c b/gdb/x86-linux-nat.c index c4387eb..c5c8576 100644 --- a/gdb/x86-linux-nat.c +++ b/gdb/x86-linux-nat.c @@ -156,7 +156,7 @@ x86_linux_dr_set_addr (int regnum, CORE_ADDR addr) { ptid_t pid_ptid = pid_to_ptid (ptid_get_pid (current_lwp_ptid ())); - gdb_assert (regnum >= 0 && regnum <= DR_LASTADDR - DR_FIRSTADDR); + gdb_assert (DR_FIRSTADDR <= regnum && regnum <= DR_LASTADDR); iterate_over_lwps (pid_ptid, update_debug_registers_callback, NULL); } @@ -213,9 +213,9 @@ x86_linux_prepare_to_resume (struct lwp_info *lwp) } static void -x86_linux_new_thread (struct lwp_info *lp) +x86_linux_new_thread (struct lwp_info *lwp) { - lwp_set_debug_registers_changed (lp, 1); + lwp_set_debug_registers_changed (lwp, 1); } -- 1.7.1