From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6994 invoked by alias); 28 Apr 2008 16:21:33 -0000 Received: (qmail 6985 invoked by uid 22791); 28 Apr 2008 16:21:32 -0000 X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 28 Apr 2008 16:21:14 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id D18D82A987F; Mon, 28 Apr 2008 12:21:11 -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 XDD1p4L42GBR; Mon, 28 Apr 2008 12:21:11 -0400 (EDT) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 8F92E2A988A; Mon, 28 Apr 2008 12:21:11 -0400 (EDT) Received: by joel.gnat.com (Postfix, from userid 1000) id C2420E7ACD; Mon, 28 Apr 2008 09:21:09 -0700 (PDT) Date: Mon, 28 Apr 2008 18:22:00 -0000 From: Joel Brobecker To: Aleksandar Ristovski Cc: gdb@sources.redhat.com Subject: Re: catchpoint - bptype Message-ID: <20080428162109.GE16574@adacore.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.2i Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2008-04/txt/msg00238.txt.bz2 > I see that bp_catch_catch and bp_catch_trhow were removed in Dec. 2007 and > this confuses me a bit: what is the intention? To get rid of all > bp_catch_*? I haven't looked at the implementation of the other catchpoints, but when I implemented Ada exception catchpoints, I really appreciated the new infrastructure which allowed me to use bp_breakpoint instead of having to add my own new bp_catchpoint enums (I tried the latter first). It allowed me to basically implement the functionality in a couple of functions instead of littering "case bp_catchpoint_exception..." everywhere in breakpoint.c. I am not sure about the long term intentions in this area. I think that the new approach based on breakpoint_ops can be extremely effective, but that assumes that the functionality is in fact implemented using an underlying breakpoint, regardless of the architecture. Catchpoints on fork or exec events, for instance, are not in this category, and thus require their own bp_ enum kind. > Since bptype is used to give more specific detail about a breakpoint it > makes sense to have bp_catch_catch and bp_catch_throw there. It would also > make those two catchpoints first-class citizens again. I don't understand why you think that not having their own bp_catch enum makes them less equal than the others. Like I said above, it certainly made the implementation more compact and easier to maintain. At the user level, I don't think he's seeing much of a difference either. -- Joel