From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32632 invoked by alias); 18 Feb 2002 08:33:25 -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 32344 invoked from network); 18 Feb 2002 08:33:20 -0000 Received: from unknown (HELO rennsau.regent.e-technik.tu-muenchen.de) (129.187.231.63) by sources.redhat.com with SMTP; 18 Feb 2002 08:33:20 -0000 Received: from reisser.regent.e-technik.tu-muenchen.de (reisser.regent.e-technik.tu-muenchen.de [129.187.231.143]) by rennsau.regent.e-technik.tu-muenchen.de (8.8.8/8.6.9) with ESMTP id JAA27963 ; Mon, 18 Feb 2002 09:33:19 +0100 (MET) From: "Peter.Schauer" Received: (pes@localhost) by reisser.regent.e-technik.tu-muenchen.de (8.8.8/8.6.9) id JAA05705 ; Mon, 18 Feb 2002 09:33:18 +0100 (MET) Message-Id: <200202180833.JAA05705@reisser.regent.e-technik.tu-muenchen.de> Subject: Re: [RFD] How to fix FRAME_CHAIN_VALID redefinition in config/i386/tm-i386v4.h ? To: ac131313@cygnus.com (Andrew Cagney) Date: Mon, 18 Feb 2002 00:33:00 -0000 Cc: gdb-patches@sources.redhat.com In-Reply-To: <3C6FE700.9000708@cygnus.com>; from "Andrew Cagney" at Feb 17, 102 9:01 pm X-Mailer: ELM [version 2.3 PL6] X-SW-Source: 2002-02/txt/msg00464.txt.bz2 That would work fine for me. To be 100% backwards compatible, I think that the default should be file_frame_chain_valid though. We could change that to func_frame_chain_valid in another patch then. Thank you very much, > This is a multi-part message in MIME format. > --------------030001060904050205060306 > Content-Type: text/plain; charset=us-ascii; format=flowed > Content-Transfer-Encoding: 7bit > > Peter, > > How does the attached look for the immediate problem? You'll need to > run gdbarch.sh and move the files into place. > > I'm, to be honest, still testing it. > > Andrew > > --------------030001060904050205060306 > Content-Type: text/plain; > name="diffs" > Content-Transfer-Encoding: 7bit > Content-Disposition: inline; > filename="diffs" > > 2002-02-17 Andrew Cagney > > * gdbarch.sh (FRAME_CHAIN_VALID): Only require at level 2. > Default to func_frame_chain_valid. > * gdbarch.h, gdbarch.c: Re-generate. > * frame.h (FRAME_CHAIN_VALID): Delete definition. > > Index: frame.h > =================================================================== > RCS file: /cvs/src/src/gdb/frame.h,v > retrieving revision 1.8 > diff -u -r1.8 frame.h > --- frame.h 2001/12/07 12:10:15 1.8 > +++ frame.h 2002/02/17 17:17:04 > @@ -152,9 +152,6 @@ > targets. If FRAME_CHAIN_VALID returns zero it means that the given frame > is the outermost one and has no caller. > > - If a particular target needs a different definition, then it can override > - the definition here by providing one in the tm file. > - > XXXX - both default and alternate frame_chain_valid functions are > deprecated. New code should use dummy frames and one of the > generic functions. */ > @@ -165,17 +162,6 @@ > extern int generic_file_frame_chain_valid (CORE_ADDR, struct frame_info *); > extern int generic_func_frame_chain_valid (CORE_ADDR, struct frame_info *); > extern void generic_save_dummy_frame_tos (CORE_ADDR sp); > - > -#if !defined (FRAME_CHAIN_VALID) > -#if !defined (FRAME_CHAIN_VALID_ALTERNATE) > -#define FRAME_CHAIN_VALID(chain, thisframe) file_frame_chain_valid (chain, thisframe) > -#else > -/* Use the alternate method of avoiding running up off the end of the frame > - chain or following frames back into the startup code. See the comments > - in objfiles.h. */ > -#define FRAME_CHAIN_VALID(chain, thisframe) func_frame_chain_valid (chain,thisframe) > -#endif /* FRAME_CHAIN_VALID_ALTERNATE */ > -#endif /* FRAME_CHAIN_VALID */ > > /* The stack frame that the user has specified for commands to act on. > Note that one cannot assume this is the address of valid data. */ > Index: gdbarch.sh > =================================================================== > RCS file: /cvs/src/src/gdb/gdbarch.sh,v > retrieving revision 1.116 > diff -u -r1.116 gdbarch.sh > --- gdbarch.sh 2002/02/16 23:09:16 1.116 > +++ gdbarch.sh 2002/02/17 17:17:05 > @@ -545,8 +545,14 @@ > v:2:FRAME_ARGS_SKIP:CORE_ADDR:frame_args_skip::::0:-1 > f:2:FRAMELESS_FUNCTION_INVOCATION:int:frameless_function_invocation:struct frame_info *fi:fi:::generic_frameless_function_invocation_not::0 > f:2:FRAME_CHAIN:CORE_ADDR:frame_chain:struct frame_info *frame:frame::0:0 > -# See comments on DUMMY_FRAME for why this is required at level 1. > -f:1:FRAME_CHAIN_VALID:int:frame_chain_valid:CORE_ADDR chain, struct frame_info *thisframe:chain, thisframe::0:0 > +# Define a default FRAME_CHAIN_VALID, in the form that is suitable for > +# most targets. If FRAME_CHAIN_VALID returns zero it means that the > +# given frame is the outermost one and has no caller. > +# > +# XXXX - both default and alternate frame_chain_valid functions are > +# deprecated. New code should use dummy frames and one of the generic > +# functions. > +f:2:FRAME_CHAIN_VALID:int:frame_chain_valid:CORE_ADDR chain, struct frame_info *thisframe:chain, thisframe:::func_frame_chain_valid::0 > f:2:FRAME_SAVED_PC:CORE_ADDR:frame_saved_pc:struct frame_info *fi:fi::0:0 > f:2:FRAME_ARGS_ADDRESS:CORE_ADDR:frame_args_address:struct frame_info *fi:fi::0:0 > f:2:FRAME_LOCALS_ADDRESS:CORE_ADDR:frame_locals_address:struct frame_info *fi:fi::0:0 > > --------------030001060904050205060306-- > > > -- Peter Schauer pes@regent.e-technik.tu-muenchen.de