From patchwork Fri Mar 4 10:44:34 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yao Qi X-Patchwork-Id: 11191 Received: (qmail 118738 invoked by alias); 4 Mar 2016 10:44:59 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 118248 invoked by uid 89); 4 Mar 2016 10:44:58 -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= X-HELO: mail-pa0-f66.google.com Received: from mail-pa0-f66.google.com (HELO mail-pa0-f66.google.com) (209.85.220.66) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Fri, 04 Mar 2016 10:44:51 +0000 Received: by mail-pa0-f66.google.com with SMTP id fl4so2851133pad.2 for ; Fri, 04 Mar 2016 02:44:51 -0800 (PST) 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=P58AmT671kFM/CMG5jbtfW7fZDAv7mSUsNzyowrTrRk=; b=fikLlJgG23rJLQ+2oZh/Ucmc3woOsJVRz7gpXYvl9426QmGiQTMix/5a0G1nn4Lb0l TskIObKxczRfMvAdyKpeKcFHX89UBCGQ/wcZAG3d8t9Y2WZOwuWxYZw4Mu7ms1usZGu1 uex2ZgWxx+qJiYQS72fuy49sCnha+pKfjNsdnX3DNR3/Lo3huIYrvuBKPRSMcXWLNwWV kUxPgIauEEE4UNTbY2Cwyu1N+FQ0sjDWzQ4i8ivJOw2d+neZm9fjyk4D5Z1G4CfdAMhL ePGONcWM29xsovNbJG6ki2ShlXfaNVpR3RR8gT9c5yIael5yhDeK7KXr+lxY+wQnjGSL yKhA== X-Gm-Message-State: AD7BkJIKj3BtXk0+zraQiEMzauplqgdAVTn2dFJw2kgmN4fJWsaks4hn8SIyNhqM1AbJLQ== X-Received: by 10.66.62.169 with SMTP id z9mr10834001par.139.1457088289980; Fri, 04 Mar 2016 02:44:49 -0800 (PST) Received: from E107787-LIN.cambridge.arm.com (gcc1-power7.osuosl.org. [140.211.15.137]) by smtp.gmail.com with ESMTPSA id e20sm4604321pfd.4.2016.03.04.02.44.48 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 04 Mar 2016 02:44:49 -0800 (PST) From: Yao Qi X-Google-Original-From: Yao Qi To: gdb-patches@sourceware.org Subject: [PATCH 6/8] [GDBserver] Don't error in reinsert_raw_breakpoint if bp->inserted Date: Fri, 4 Mar 2016 10:44:34 +0000 Message-Id: <1457088276-1170-7-git-send-email-yao.qi@linaro.org> In-Reply-To: <1457088276-1170-1-git-send-email-yao.qi@linaro.org> References: <1457088276-1170-1-git-send-email-yao.qi@linaro.org> X-IsSubscribed: yes GDBserver steps over a breakpoint while the single step breakpoint is inserted at the same address, there are two breakpoint objects using single raw breakpoint, which is inserted (for single step). When step over is finished, GDBserver reinsert the breakpoint, but it finds the raw breakpoint is already inserted, and error out "Breakpoint already inserted at reinsert time." Even if I change the order to delete reinsert breakpoints first (which only decreases the refcount, but leave inserted flag unchanged), the error is still there. The fix is to remove the error and return instead. gdb/gdbserver: 2016-03-04 Yao Qi * linux-low.c (reinsert_raw_breakpoint): If bp->inserted is true return instead of error. --- gdb/gdbserver/mem-break.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/gdbserver/mem-break.c b/gdb/gdbserver/mem-break.c index 73c5e8a..5443379 100644 --- a/gdb/gdbserver/mem-break.c +++ b/gdb/gdbserver/mem-break.c @@ -1522,7 +1522,7 @@ reinsert_raw_breakpoint (struct raw_breakpoint *bp) int err; if (bp->inserted) - error ("Breakpoint already inserted at reinsert time."); + return; err = the_target->insert_point (bp->raw_type, bp->pc, bp->kind, bp); if (err == 0)