From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12612 invoked by alias); 1 Oct 2008 08:06:44 -0000 Received: (qmail 12604 invoked by uid 22791); 1 Oct 2008 08:06:44 -0000 X-Spam-Check-By: sourceware.org Received: from mtaout4.012.net.il (HELO mtaout4.012.net.il) (84.95.2.10) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 01 Oct 2008 08:06:04 +0000 Received: from HOME-C4E4A596F7 ([77.127.170.116]) by i_mtaout4.012.net.il (HyperSendmail v2004.12) with ESMTPA id <0K8100LPSVTM3LY1@i_mtaout4.012.net.il> for gdb-patches@sourceware.org; Wed, 01 Oct 2008 11:05:47 +0300 (IDT) Date: Wed, 01 Oct 2008 08:06:00 -0000 From: Eli Zaretskii Subject: Re: [commit/Ada] Special handling for predefined exceptions... In-reply-to: <20080930205233.GA3560@adacore.com> X-012-Sender: halo1@inter.net.il To: Joel Brobecker Cc: gdb-patches@sourceware.org Reply-to: Eli Zaretskii Message-id: References: <20080930205233.GA3560@adacore.com> 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: 2008-10/txt/msg00008.txt.bz2 > Date: Tue, 30 Sep 2008 13:52:33 -0700 > From: Joel Brobecker > > For Ada, we provide a command "catch exception [EXCEPTION_NAME]" > that stops the execution when an exception is raised. If an exception > name is specified in the command, then the debugger only stops when > a specific exception is raised. The matching of the exception is > performed through an internal condition that looks like this: > > long_integer (e) = long_integer (&EXCEPTION_NAME)" > > (where "e" is a parameter of the function where we inserted the > catchpoint that contains a pointer to the exception data). The way > it works is: For every EXCEPTION_NAME, the compiler defines an entity > whose name is EXCEPTION_NAME (fully qualified). So when we want to > verify whether we have raised a given exception, we just verify that > its address is the address of the symbol whose name is EXCEPTION_NAME. I'd love to have all this info somewhere in gdbint.texinfo. TIA