From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24442 invoked by alias); 14 Jan 2008 23:00:39 -0000 Received: (qmail 24432 invoked by uid 22791); 14 Jan 2008 23:00:36 -0000 X-Spam-Check-By: sourceware.org Received: from bluesmobile.specifix.com (HELO bluesmobile.specifix.com) (216.129.118.140) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 14 Jan 2008 23:00:10 +0000 Received: from [127.0.0.1] (bluesmobile.specifix.com [216.129.118.140]) by bluesmobile.specifix.com (Postfix) with ESMTP id 9E2C93C85C; Mon, 14 Jan 2008 15:00:08 -0800 (PST) Subject: Re: [RFC/RFA?] Should break FILE:LINENO skip prologue? From: Michael Snyder To: Mark Kettenis Cc: eliz@gnu.org, drow@false.org, gdb-patches@sourceware.org In-Reply-To: <200801130921.m0D9LDtI008394@brahms.sibelius.xs4all.nl> References: <20080111053547.GB12954@adacore.com> <200801111126.m0BBQQDB006618@brahms.sibelius.xs4all.nl> <20080111182136.GD12954@adacore.com> <200801112113.m0BLDnAF024595@brahms.sibelius.xs4all.nl> <200801121531.m0CFVW8I023504@brahms.sibelius.xs4all.nl> <200801121618.m0CGI27U012957@brahms.sibelius.xs4all.nl> <20080112175817.GA21954@caradoc.them.org> <200801130921.m0D9LDtI008394@brahms.sibelius.xs4all.nl> Content-Type: text/plain Date: Mon, 14 Jan 2008 23:00:00 -0000 Message-Id: <1200351608.3263.16.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.10.3 (2.10.3-4.fc7) Content-Transfer-Encoding: 7bit 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-01/txt/msg00336.txt.bz2 On Sun, 2008-01-13 at 10:21 +0100, Mark Kettenis wrote: > > Date: Sun, 13 Jan 2008 06:21:36 +0200 > > From: Eli Zaretskii > > > > > In Ada, as Joel said, this is not true. *FUNCTION won't work > > > > That's too bad: this is an important feature, so if we cannot make it > > work in all languages, we should at least document that. > > This is exactly the reason why documenting *FUNCTION on its own is the > wrong thing to do. What we implement in GDB is *EXPRESSION, where > EXPRESSION is an expression in the current language yielding an > address. Mark, I don't think that is true -- at least it used to be not (damn English language...) When you say "break *", the asterisk is NOT interpreted by the expression parser -- it is interpreted by the break command, or more precisely, by the LINESPEC parser. It is (or used to be) a part of the LINESPEC syntax, not a part of the expression syntax. It simply happens to be ambiguous with the expression operator "unary *". As a LINESPEC operator, it means "evaluate what follows and treat it as a literal address, without doing skip-prologue processing on it.