From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 89507 invoked by alias); 23 Mar 2016 16:10:03 -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 89425 invoked by uid 89); 23 Mar 2016 16:10:02 -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-languages-length:1329 X-HELO: mail-pf0-f193.google.com Received: from mail-pf0-f193.google.com (HELO mail-pf0-f193.google.com) (209.85.192.193) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Wed, 23 Mar 2016 16:09:57 +0000 Received: by mail-pf0-f193.google.com with SMTP id x3so4557783pfb.0 for ; Wed, 23 Mar 2016 09:09: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=jNFrbPn3kfxGjGkQTC49I0mg+R9mFwvyKQccxrxNC7k=; b=QvNMRbZGg8pnkCVI78dEvc39gS2pm8VEbxsDZ+byL0tBaLLlGkLU82j+fhAZ8v3qHe RQ0gsNaDdn9nowK5IiN50pWPTM/orcFx1k6mIg8C1/GdaL9AP0chMmRFMQVvW1qLubmJ jI0pjh2iwfHrUaQKC28rQ27AJBDWFrKjkqzmayhFA3rTy9diBpTGYhtznLb13XIldeQH fWPX2stN3fWR9w1P8lVYkdHFJwcSv5yDbi4p24Qy1itXQmtHpoP4MI4ENs8DxqGmWKZ+ mPvCEz/FAokILsiLKUY06GBbenrwVBWG2dIB71GtLELo+UUXoM1zekY/gpjSqI8HEhDM 05CA== X-Gm-Message-State: AD7BkJKVa3krIIolbu4hQB1bVxMRNbU7m1mydWysvlF3Np0eGR7oyQpcAKADYz7uPvZikw== X-Received: by 10.98.32.5 with SMTP id g5mr5391954pfg.95.1458749395301; Wed, 23 Mar 2016 09:09:55 -0700 (PDT) Received: from E107787-LIN.cambridge.arm.com (gcc1-power7.osuosl.org. [140.211.15.137]) by smtp.gmail.com with ESMTPSA id 79sm5206701pfq.65.2016.03.23.09.09.54 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 23 Mar 2016 09:09:54 -0700 (PDT) From: Yao Qi X-Google-Original-From: Yao Qi To: gdb-patches@sourceware.org Subject: [PATCH 5/7] [GDBserver] Don't error in reinsert_raw_breakpoint if bp->inserted Date: Wed, 23 Mar 2016 16:10:00 -0000 Message-Id: <1458749384-19793-6-git-send-email-yao.qi@linaro.org> In-Reply-To: <1458749384-19793-1-git-send-email-yao.qi@linaro.org> References: <1458749384-19793-1-git-send-email-yao.qi@linaro.org> X-IsSubscribed: yes X-SW-Source: 2016-03/txt/msg00473.txt.bz2 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-23 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 af01288..a85128e 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) -- 1.9.1