From: John Gilmore Date: Tue, 2 Feb 1993 02:08:19 +0000 (+0000) Subject: * stack.c (parse_frame_specification): Parse as many arguments X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=07c2fa3e5320e644e386e270e461151d207a6310;p=deliverable%2Fbinutils-gdb.git * stack.c (parse_frame_specification): Parse as many arguments as there are (up to MAXARGS). Pass all of them in argc, argv format to SETUP_ARBITRARY_FRAME. Put the burden of checking how many there were, onto SETUP_ARBITRARY_FRAME. * tm-mips.h, tm-sparc.h: Corresponding changes. * mips-tdep.c, sparc-tdep.c: Ditto. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 380271069b..c60ce50302 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +Mon Feb 1 17:56:47 1993 John Gilmore (gnu@cygnus.com) + + * stack.c (parse_frame_specification): Parse as many arguments + as there are (up to MAXARGS). Pass all of them in argc, argv + format to SETUP_ARBITRARY_FRAME. Put the burden of checking how + many there were, onto SETUP_ARBITRARY_FRAME. + * tm-mips.h, tm-sparc.h: Corresponding changes. + * mips-tdep.c, sparc-tdep.c: Ditto. + Mon Feb 1 17:19:37 1993 John Gilmore (gnu@cygnus.com) * hp300ux-nat.c: Update copyrights. diff --git a/gdb/tm-mips.h b/gdb/tm-mips.h index 93a3aef142..772c09f955 100644 --- a/gdb/tm-mips.h +++ b/gdb/tm-mips.h @@ -1,7 +1,7 @@ /* Definitions to make GDB run on a mips box under 4.3bsd. - Copyright (C) 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc. + Copyright 1986, 1987, 1989, 1991, 1992, 1993 Free Software Foundation, Inc. Contributed by Per Bothner (bothner@cs.wisc.edu) at U.Wisconsin - and by Alessandro Forin (af@cs.cmu.edu) at CMU. + and by Alessandro Forin (af@cs.cmu.edu) at CMU.. This file is part of GDB. @@ -356,7 +356,7 @@ typedef struct mips_extra_func_info { fi->proc_desc->pdr.frameoffset); \ } -/* It takes two values to specify a frame (at least!) on the MIPS. Sigh. +/* It takes two values to specify a frame on the MIPS. Sigh. In fact, at the moment, the *PC* is the primary value that sets up a frame. The PC is looked up to see what function it's in; symbol @@ -365,6 +365,8 @@ typedef struct mips_extra_func_info { (This is usually an offset from SP.) FIXME -- this should be cleaned up so that the primary value is the SP, and the PC is used to disambiguate multiple functions with the same SP that are at different stack levels. */ -#define FRAME_SPECIFICATION_DYADIC + +#define SETUP_ARBITRARY_FRAME(argc, argv) setup_arbitrary_frame (argc, argv) +extern FRAME setup_arbitrary_frame (); #define STAB_REG_TO_REGNUM(num) ((num) < 32 ? (num) : (num)+FP0_REGNUM-32) diff --git a/gdb/tm-sparc.h b/gdb/tm-sparc.h index 25fc6d3314..0e03965295 100644 --- a/gdb/tm-sparc.h +++ b/gdb/tm-sparc.h @@ -1,6 +1,6 @@ /* Target machine sub-parameters for SPARC, for GDB, the GNU debugger. This is included by other tm-*.h files to define SPARC cpu-related info. - Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc. + Copyright 1986, 1987, 1989, 1991, 1992, 1993 Free Software Foundation, Inc. Contributed by Michael Tiemann (tiemann@mcc.com) This file is part of GDB. @@ -187,6 +187,8 @@ extern CORE_ADDR sparc_pc_adjust(); #define REGISTER_IN_WINDOW_P(regnum) \ ((regnum) >= 8 && (regnum) < 32) + + /* Number of bytes of storage in the actual machine representation for register N. */ @@ -546,11 +548,11 @@ arguments. */ #define NO_SINGLE_STEP 1 extern void single_step (); -/* We need two arguments (in general) to the "info frame" command. - Note that the definition of this macro implies that there exists a - function "setup_arbitrary_frame" in sparc-tdep.c */ +/* We need more arguments in a frame specification for the + "frame" or "info frame" command. */ -#define FRAME_SPECIFICATION_DYADIC +#define SETUP_ARBITRARY_FRAME(argc, argv) setup_arbitrary_frame (argc, argv) +extern FRAME setup_arbitrary_frame (); /* To print every pair of float registers as a double, we use this hook. */