From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8838 invoked by alias); 21 Jun 2002 22:33:51 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 8820 invoked from network); 21 Jun 2002 22:33:49 -0000 Received: from unknown (HELO zwingli.cygnus.com) (208.245.165.35) by sources.redhat.com with SMTP; 21 Jun 2002 22:33:49 -0000 Received: by zwingli.cygnus.com (Postfix, from userid 442) id B19E15EA11; Fri, 21 Jun 2002 17:33:47 -0500 (EST) To: Andrew Cagney Cc: Joel Brobecker , gdb-patches@sources.redhat.com Subject: Re: [RFA] block_innermost_frame tweak References: <20020620131440.M397@gnat.com> <3D126D8A.9020908@cygnus.com> <3D138B65.8070401@cygnus.com> From: Jim Blandy Date: Fri, 21 Jun 2002 15:33:00 -0000 In-Reply-To: <3D138B65.8070401@cygnus.com> Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2002-06/txt/msg00450.txt.bz2 Andrew Cagney writes: > Except for a small window in WFI, a ``PC'' refers to the address of > the instruction that will be executed next. It is just unfortunate > that no one has found the time to zap DECR_PC_AFTER_BREAK and hence > eliminate that small window. Please don't add to this confusion. What about all the prologue analyzers? /* Return PC of first real instruction. */ int i386_skip_prologue (int pc) { unsigned char op; int i; static CORE_ADDR mn10300_analyze_prologue (struct frame_info *fi, CORE_ADDR pc) { What about the line table entries? /* Each item represents a line-->pc (or the reverse) mapping. This is somewhat more wasteful of space than one might wish, but since only the files which are actually debugged are read in to core, we don't waste much space. */ struct linetable_entry { int line; CORE_ADDR pc; }; I'm all for choosing conventions and sticking to them, but in everyday speech (well, everyday speech for debugger people), a `pc' is just any kind of pointer to an instruction. And it just looks to me like that's the way GDB uses it, too. Why is this distinction so urgent to maintain? I think I've shown that it has some cost. > > But if I'm the only one who has this reaction, then I don't mind the > > renaming. > > Is there some third terse term that indicates (or could indicate, by > > establishing a convention) "pointer into the instruction stream that > > isn't necessarily an instruction address or the value of a register"? > > The reason for suggesting ``block'' was that it hopefully implies a > code block. frame_address_within_code_block()? This is getting worse.