From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20650 invoked by alias); 3 Jun 2014 16:23:14 -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 20634 invoked by uid 89); 3 Jun 2014 16:23:13 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 X-HELO: rock.gnat.com Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Tue, 03 Jun 2014 16:23:12 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id CE7821161F0; Tue, 3 Jun 2014 12:23:10 -0400 (EDT) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id wh27dBcZOHxV; Tue, 3 Jun 2014 12:23:10 -0400 (EDT) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 5745C1161E6; Tue, 3 Jun 2014 12:23:10 -0400 (EDT) Received: by joel.gnat.com (Postfix, from userid 1000) id 77E7D40E74; Tue, 3 Jun 2014 09:23:11 -0700 (PDT) Date: Tue, 03 Jun 2014 16:23:00 -0000 From: Joel Brobecker To: Pedro Alves Cc: gdb-patches@sourceware.org Subject: Re: [RFA/7.8] user breakpoint not inserted if software-single-step at same location Message-ID: <20140603162311.GP4289@adacore.com> References: <5387BFF0.6010208@redhat.com> <20140530122253.GC4289@adacore.com> <53887ED5.5050603@redhat.com> <20140530132659.GD4289@adacore.com> <20140530193549.GF4289@adacore.com> <538D05CC.8050608@redhat.com> <538D85A9.5010004@redhat.com> <538DC98E.9050004@redhat.com> <20140603133539.GM4289@adacore.com> <538DEC86.3050007@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <538DEC86.3050007@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-SW-Source: 2014-06/txt/msg00092.txt.bz2 > Yep, it's a valid assumption. Only one of those can be the one that > is actually inserted in the target. All others breakpoints are considered > duplicates, with bl->duplicate == 1 and bl->inserted == 0, and never reach > the target. The duplicate location logic in the tail of update_global_location_list > takes care of it: > > /* This and the above ensure the invariant that the first location > is not duplicated, and is the inserted one. > All following are marked as duplicated, and are not inserted. */ > if (loc->inserted) > swap_insertion (loc, *loc_first_p); > loc->duplicate = 1; > > The one that is inserted will hold a merge of all the agent > expressions (in target_info.conditions and target_info.tcommands) of > the target-side conditions and commands of all breakpoints at that > address. Those are computed just before that single breakpoint > is inserted (build_target_condition_list, build_target_command_list). Indeed! Thanks for explaining it. I don't have any other comment on the patch. I ran it through our testsuite on ppc-aix, JIC, and as expected, found that it fixed the regression without introducing new ones. I think you can push that version! Thanks for your help, Pedro. -- Joel