From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29033 invoked by alias); 7 May 2010 17:02:27 -0000 Received: (qmail 28936 invoked by uid 22791); 7 May 2010 17:02:26 -0000 X-SWARE-Spam-Status: No, hits=-5.6 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 07 May 2010 17:02:21 +0000 Received: from int-mx03.intmail.prod.int.phx2.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o47H26tA023581 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 7 May 2010 13:02:12 -0400 Received: from host0.dyn.jankratochvil.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx03.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o47GXJXO011555 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 7 May 2010 12:33:21 -0400 Received: from host0.dyn.jankratochvil.net (localhost [127.0.0.1]) by host0.dyn.jankratochvil.net (8.14.4/8.14.4) with ESMTP id o47GXJ18022216; Fri, 7 May 2010 18:33:19 +0200 Received: (from jkratoch@localhost) by host0.dyn.jankratochvil.net (8.14.4/8.14.4/Submit) id o47GXIDL022215; Fri, 7 May 2010 18:33:18 +0200 Date: Fri, 07 May 2010 17:02:00 -0000 From: Jan Kratochvil To: Pedro Alves Cc: gdb-patches@sourceware.org, Stan Shebs Subject: Re: [patch 3/3] bpstat_what removal Message-ID: <20100507163318.GA21953@host0.dyn.jankratochvil.net> References: <20100503200217.GD30386@host0.dyn.jankratochvil.net> <4BE02AB0.6060609@codesourcery.com> <20100507161648.GB14342@host0.dyn.jankratochvil.net> <201005071725.54236.pedro@codesourcery.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201005071725.54236.pedro@codesourcery.com> User-Agent: Mutt/1.5.20 (2009-08-17) X-IsSubscribed: yes 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 X-SW-Source: 2010-05/txt/msg00184.txt.bz2 On Fri, 07 May 2010 18:25:54 +0200, Pedro Alves wrote: > On Friday 07 May 2010 17:16:48, Jan Kratochvil wrote: > > This way from existing 24 bp_* breakpoint types you create new artificial > > 9 BPSTAT_* types with associated 3 STOP_* types, therefore effectively you > > create new artificial 11 BPSTAT/STOP_* breakpoint events. > > The abstraction is a bit broken currently. Most prominantely, > all the 'enum bpstat_what_main_action's should be mutually > exclusive with each other; at least > BPSTAT_WHAT_CHECK_SHLIBS and BPSTAT_WHAT_CHECK_JIT should _not_ be > a bpstat_what. Checking for internal events is independent of > whether to stop or not (noisily or not), and to single-step over > a breakpoint or not, which is what mostly infrun cares about. This is one of the reasons of my patch. This was/is the problem of PR 9436 that BPSTAT_WHAT_CHECK_SHLIBS overrides other breakpoint types. If these actions will no longer be executed immediately in infrun.c there will have to be more boolean perform_* flags to specify delayed execution of actions depending on the bp_* types. There is now only perform_shlib (for former BPSTAT_WHAT_CHECK_SHLIBS) but there will be also perform_jit (and for ifunc or next-over-throw more such flags). stepping_over_breakpoint setting may need more abstraction or also just another perform_stepping_over_breakpoint flag, not sure now. Thanks, Jan