From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 82251 invoked by alias); 2 Jun 2016 09:31:06 -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 82211 invoked by uid 89); 2 Jun 2016 09:31:05 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-spam-relays-external:209.85.220.65, H*RU:209.85.220.65, Hx-languages-length:1562, HX-Received:10.66.231.35 X-HELO: mail-pa0-f65.google.com Received: from mail-pa0-f65.google.com (HELO mail-pa0-f65.google.com) (209.85.220.65) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Thu, 02 Jun 2016 09:30:56 +0000 Received: by mail-pa0-f65.google.com with SMTP id di3so2851585pab.0 for ; Thu, 02 Jun 2016 02:30:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=SkCPaIh6JB5dUB+k+u9nWLuHAk9pba50IfTr6vlCjic=; b=ckwJQlxznAGOWCCr8xg1Gj+xCXTgwz8zyjx3g4s2QrBsjoHnroOiZlx58DpMhokwaJ 22OW4ysK2e6lInxFQ3oWI3KXc6lgXhzAlZduObkiqq75hpEONQtRJbOGWnzt77zknneH 1Su9lhYPAnFhPqUtH82gxgPj/5ZZRd45jtnVOtN51bMY/CinQL/LP3POk7PyuyQARqnQ HkZrLKcDWs5I76iWUgoXgfChgts2LuVVZvOAmGVksrUItJ/zx47y1k5BOO/i2OEYb0Xz uCG3nS6P60A1gf6GSGbrnWW3AE+O4G3fevf8qpgg75P2cIzEeWRisNJm0Upil6J+bCXd 7/cQ== X-Gm-Message-State: ALyK8tJHYeoAT2IOL8XCbVfsEBItfF0jA7pNxKVTqWD1BUbkMv06ZQwMJLMi8S3icLGTnA== X-Received: by 10.66.231.35 with SMTP id td3mr4179241pac.56.1464859854898; Thu, 02 Jun 2016 02:30:54 -0700 (PDT) Received: from E107787-LIN.cambridge.arm.com (gcc113.osuosl.org. [140.211.9.71]) by smtp.gmail.com with ESMTPSA id hw10sm68656218pac.15.2016.06.02.02.30.53 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 02 Jun 2016 02:30:54 -0700 (PDT) From: Yao Qi X-Google-Original-From: Yao Qi To: gdb-patches@sourceware.org Subject: [PATCH 02/12] More assert checks on reinsert breakpoint Date: Thu, 02 Jun 2016 09:31:00 -0000 Message-Id: <1464859846-15619-3-git-send-email-yao.qi@linaro.org> In-Reply-To: <1464859846-15619-1-git-send-email-yao.qi@linaro.org> References: <1464859846-15619-1-git-send-email-yao.qi@linaro.org> X-IsSubscribed: yes X-SW-Source: 2016-06/txt/msg00024.txt.bz2 This patch adds more asserts, so the incorrect or sub-optimal reinsert breakpoints manipulations (from the tests in the following patches) can trigger them. gdb/gdbserver: 2016-05-25 Yao Qi * linux-low.c (linux_resume_one_lwp_throw): Assert has_reinsert_breakpoints returns false. * mem-break.c (delete_disabled_breakpoints): Assert bp type isn't reinsert_breakpoint. --- gdb/gdbserver/linux-low.c | 6 ++++++ gdb/gdbserver/mem-break.c | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index 77c296c..5f025b5 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -4237,6 +4237,12 @@ linux_resume_one_lwp_throw (struct lwp_info *lwp, step = maybe_hw_step (thread); } + else + { + /* If the thread isn't doing step-over, there shouldn't be any + reinsert breakpoints. */ + gdb_assert (!has_reinsert_breakpoints (proc)); + } if (fast_tp_collecting == 1) { diff --git a/gdb/gdbserver/mem-break.c b/gdb/gdbserver/mem-break.c index 3313459..c27e803 100644 --- a/gdb/gdbserver/mem-break.c +++ b/gdb/gdbserver/mem-break.c @@ -1740,7 +1740,12 @@ delete_disabled_breakpoints (void) { next = bp->next; if (bp->raw->inserted < 0) - delete_breakpoint_1 (proc, bp); + { + /* If reinsert_breakpoints become disabled, that means the + manipulations (insertion and removal) of them are wrong. */ + gdb_assert (bp->type != reinsert_breakpoint); + delete_breakpoint_1 (proc, bp); + } } } -- 1.9.1