2002-12-10 Andrew Cagney <cagney@redhat.com>

* gdbarch.sh (DEPRECATED_INIT_FRAME_PC): Rename INIT_FRAME_PC.
	Change to a function with predicate.
	* gdbarch.h, gdbarch.c: Re-generate.
	* frame.c (get_prev_frame): Update.  Test
	DEPRECATED_INIT_FRAME_PC_P.
	* config/sparc/tm-sparc.h (DEPRECATED_INIT_FRAME_PC): Update.
	* config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC): Update.
	* config/mn10200/tm-mn10200.h (DEPRECATED_INIT_FRAME_PC): Update.
	* alpha-tdep.c (alpha_gdbarch_init): Update.
	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
	* mips-tdep.c (mips_gdbarch_init): Update.
	* i386-interix-tdep.c (i386_interix_init_abi): Update.
	* arm-tdep.c: Update comments.
	* h8300-tdep.c (h8300_gdbarch_init): Explicitly set init_frame_pc.
	* config/m32r/tm-m32r.h (DEPRECATED_INIT_FRAME_PC): Ditto.
	* frv-tdep.c (frv_gdbarch_init): Ditto.
	* x86-64-tdep.c (x86_64_init_abi): Ditto.
	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
	* s390-tdep.c (s390_gdbarch_init): Ditto.
	* v850-tdep.c (v850_gdbarch_init): Ditto.
	* vax-tdep.c (vax_gdbarch_init): Ditto.
	* sh-tdep.c (sh_gdbarch_init): Ditto.
	* ns32k-tdep.c (ns32k_gdbarch_init): Ditto.
	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
	* mcore-tdep.c (mcore_gdbarch_init): Ditto.
	* xstormy16-tdep.c (xstormy16_gdbarch_init): Ditto.
	* i386-tdep.c (i386_gdbarch_init): Ditto.
	* d10v-tdep.c (d10v_gdbarch_init): Ditto.
	* cris-tdep.c (cris_gdbarch_init): Ditto.
	* avr-tdep.c (avr_gdbarch_init): Ditto.
	* arm-tdep.c (arm_gdbarch_init): Ditto.
	* config/z8k/tm-z8k.h (INIT_FRAME_PC_FIRST): Delete macro.
	(DEPRECATED_INIT_FRAME_PC): Rename INIT_FRAME_PC.
This commit is contained in:
Andrew Cagney 2002-12-11 02:26:38 +00:00
parent 6604731ba7
commit a5afb99fc1
38 changed files with 248 additions and 97 deletions

View File

@ -1,3 +1,39 @@
2002-12-10 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (DEPRECATED_INIT_FRAME_PC): Rename INIT_FRAME_PC.
Change to a function with predicate.
* gdbarch.h, gdbarch.c: Re-generate.
* frame.c (get_prev_frame): Update. Test
DEPRECATED_INIT_FRAME_PC_P.
* config/sparc/tm-sparc.h (DEPRECATED_INIT_FRAME_PC): Update.
* config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC): Update.
* config/mn10200/tm-mn10200.h (DEPRECATED_INIT_FRAME_PC): Update.
* alpha-tdep.c (alpha_gdbarch_init): Update.
* mn10300-tdep.c (mn10300_gdbarch_init): Update.
* mips-tdep.c (mips_gdbarch_init): Update.
* i386-interix-tdep.c (i386_interix_init_abi): Update.
* arm-tdep.c: Update comments.
* h8300-tdep.c (h8300_gdbarch_init): Explicitly set init_frame_pc.
* config/m32r/tm-m32r.h (DEPRECATED_INIT_FRAME_PC): Ditto.
* frv-tdep.c (frv_gdbarch_init): Ditto.
* x86-64-tdep.c (x86_64_init_abi): Ditto.
* ia64-tdep.c (ia64_gdbarch_init): Ditto.
* s390-tdep.c (s390_gdbarch_init): Ditto.
* v850-tdep.c (v850_gdbarch_init): Ditto.
* vax-tdep.c (vax_gdbarch_init): Ditto.
* sh-tdep.c (sh_gdbarch_init): Ditto.
* ns32k-tdep.c (ns32k_gdbarch_init): Ditto.
* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
* mcore-tdep.c (mcore_gdbarch_init): Ditto.
* xstormy16-tdep.c (xstormy16_gdbarch_init): Ditto.
* i386-tdep.c (i386_gdbarch_init): Ditto.
* d10v-tdep.c (d10v_gdbarch_init): Ditto.
* cris-tdep.c (cris_gdbarch_init): Ditto.
* avr-tdep.c (avr_gdbarch_init): Ditto.
* arm-tdep.c (arm_gdbarch_init): Ditto.
* config/z8k/tm-z8k.h (INIT_FRAME_PC_FIRST): Delete macro.
(DEPRECATED_INIT_FRAME_PC): Rename INIT_FRAME_PC.
2002-12-10 Daniel Jacobowitz <drow@mvista.com> 2002-12-10 Daniel Jacobowitz <drow@mvista.com>
* config/pa/nm-hppah.h (CHILD_POST_FOLLOW_VFORK): Change to * config/pa/nm-hppah.h (CHILD_POST_FOLLOW_VFORK): Change to

View File

@ -1895,7 +1895,7 @@ alpha_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0);
set_gdbarch_push_dummy_frame (gdbarch, alpha_push_dummy_frame); set_gdbarch_push_dummy_frame (gdbarch, alpha_push_dummy_frame);
set_gdbarch_fix_call_dummy (gdbarch, alpha_fix_call_dummy); set_gdbarch_fix_call_dummy (gdbarch, alpha_fix_call_dummy);
set_gdbarch_init_frame_pc (gdbarch, init_frame_pc_noop); set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_noop);
set_gdbarch_deprecated_init_frame_pc_first (gdbarch, alpha_init_frame_pc_first); set_gdbarch_deprecated_init_frame_pc_first (gdbarch, alpha_init_frame_pc_first);
set_gdbarch_inner_than (gdbarch, core_addr_lessthan); set_gdbarch_inner_than (gdbarch, core_addr_lessthan);

View File

@ -1009,9 +1009,9 @@ arm_find_callers_reg (struct frame_info *fi, int regnum)
} }
/* Function: frame_chain Given a GDB frame, determine the address of /* Function: frame_chain Given a GDB frame, determine the address of
the calling function's frame. This will be used to create a new the calling function's frame. This will be used to create a new
GDB frame struct, and then INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC GDB frame struct, and then INIT_EXTRA_FRAME_INFO and
will be called for the new frame. For ARM, we save the frame size DEPRECATED_INIT_FRAME_PC will be called for the new frame. For
when we initialize the frame_info. */ ARM, we save the frame size when we initialize the frame_info. */
static CORE_ADDR static CORE_ADDR
arm_frame_chain (struct frame_info *fi) arm_frame_chain (struct frame_info *fi)
@ -2748,6 +2748,10 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdep = xmalloc (sizeof (struct gdbarch_tdep)); tdep = xmalloc (sizeof (struct gdbarch_tdep));
gdbarch = gdbarch_alloc (&info, tdep); gdbarch = gdbarch_alloc (&info, tdep);
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
tdep->osabi = osabi; tdep->osabi = osabi;
/* This is the way it has always defaulted. */ /* This is the way it has always defaulted. */

View File

@ -1020,9 +1020,10 @@ avr_frame_address (struct frame_info *fi)
return avr_make_saddr (fi->frame); return avr_make_saddr (fi->frame);
} }
/* Given a GDB frame, determine the address of the calling function's frame. /* Given a GDB frame, determine the address of the calling function's
This will be used to create a new GDB frame struct, and then frame. This will be used to create a new GDB frame struct, and
INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame. then INIT_EXTRA_FRAME_INFO and DEPRECATED_INIT_FRAME_PC will be
called for the new frame.
For us, the frame address is its stack pointer value, so we look up For us, the frame address is its stack pointer value, so we look up
the function prologue to determine the caller's sp value, and return it. */ the function prologue to determine the caller's sp value, and return it. */
@ -1166,6 +1167,10 @@ avr_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdep = XMALLOC (struct gdbarch_tdep); tdep = XMALLOC (struct gdbarch_tdep);
gdbarch = gdbarch_alloc (&info, tdep); gdbarch = gdbarch_alloc (&info, tdep);
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
/* If we ever need to differentiate the device types, do it here. */ /* If we ever need to differentiate the device types, do it here. */
switch (info.bfd_arch_info->mach) switch (info.bfd_arch_info->mach)
{ {

View File

@ -109,8 +109,8 @@ struct value;
extern void m32r_init_extra_frame_info (struct frame_info *fi); extern void m32r_init_extra_frame_info (struct frame_info *fi);
/* mvs_check INIT_EXTRA_FRAME_INFO */ /* mvs_check INIT_EXTRA_FRAME_INFO */
#define INIT_EXTRA_FRAME_INFO(fromleaf, fi) m32r_init_extra_frame_info (fi) #define INIT_EXTRA_FRAME_INFO(fromleaf, fi) m32r_init_extra_frame_info (fi)
/* mvs_no_check INIT_FRAME_PC */ /* mvs_no_check DEPRECATED_INIT_FRAME_PC */
#define INIT_FRAME_PC /* Not necessary */ #define DEPRECATED_INIT_FRAME_PC init_frame_pc_noop
extern void extern void
m32r_frame_find_saved_regs (struct frame_info *fi, m32r_frame_find_saved_regs (struct frame_info *fi,

View File

@ -107,7 +107,7 @@ struct value;
extern void mn10200_init_extra_frame_info (struct frame_info *); extern void mn10200_init_extra_frame_info (struct frame_info *);
#define INIT_EXTRA_FRAME_INFO(fromleaf, fi) mn10200_init_extra_frame_info (fi) #define INIT_EXTRA_FRAME_INFO(fromleaf, fi) mn10200_init_extra_frame_info (fi)
#define INIT_FRAME_PC(x,y) (init_frame_pc_noop (x, y)) #define DEPRECATED_INIT_FRAME_PC(x,y) (init_frame_pc_noop (x, y))
#define INIT_FRAME_PC_FIRST(x,y) (init_frame_pc_noop (x, y)) #define INIT_FRAME_PC_FIRST(x,y) (init_frame_pc_noop (x, y))
extern void mn10200_frame_find_saved_regs (struct frame_info *, extern void mn10200_frame_find_saved_regs (struct frame_info *,

View File

@ -30,6 +30,7 @@
#define DEPRECATED_USE_GENERIC_DUMMY_FRAMES 0 #define DEPRECATED_USE_GENERIC_DUMMY_FRAMES 0
#define CALL_DUMMY_LOCATION ON_STACK #define CALL_DUMMY_LOCATION ON_STACK
#define DEPRECATED_PC_IN_CALL_DUMMY(pc, sp, frame_address) deprecated_pc_in_call_dummy_on_stack (pc, sp, frame_address) #define DEPRECATED_PC_IN_CALL_DUMMY(pc, sp, frame_address) deprecated_pc_in_call_dummy_on_stack (pc, sp, frame_address)
#define DEPRECATED_INIT_FRAME_PC(l,f) (init_frame_pc_default (l, f))
/* Forward declarations of some types we use in prototypes */ /* Forward declarations of some types we use in prototypes */

View File

@ -86,7 +86,7 @@ extern void aix_process_linenos (void);
"arch-utils.h" here. Not too bad as this entire file is going away "arch-utils.h" here. Not too bad as this entire file is going away
anyway. */ anyway. */
extern CORE_ADDR init_frame_pc_noop (int fromleaf, struct frame_info *prev); extern CORE_ADDR init_frame_pc_noop (int fromleaf, struct frame_info *prev);
#define INIT_FRAME_PC(fromleaf, prev) (init_frame_pc_noop (fromleaf, prev)) #define DEPRECATED_INIT_FRAME_PC(fromleaf, prev) (init_frame_pc_noop (fromleaf, prev))
/* Flag for machine-specific stuff in shared files. FIXME */ /* Flag for machine-specific stuff in shared files. FIXME */
#define IBM6000_TARGET #define IBM6000_TARGET

View File

@ -519,7 +519,7 @@ extern void sparc_print_extra_frame_info (struct frame_info *);
/* INIT_EXTRA_FRAME_INFO needs the PC to detect flat frames. */ /* INIT_EXTRA_FRAME_INFO needs the PC to detect flat frames. */
#define INIT_FRAME_PC(FROMLEAF, PREV) (init_frame_pc_noop (FROMLEAF, PREV)) #define DEPRECATED_INIT_FRAME_PC(FROMLEAF, PREV) (init_frame_pc_noop (FROMLEAF, PREV))
#define DEPRECATED_INIT_FRAME_PC_FIRST(FROMLEAF, PREV) \ #define DEPRECATED_INIT_FRAME_PC_FIRST(FROMLEAF, PREV) \
((FROMLEAF) ? SAVED_PC_AFTER_CALL ((PREV)->next) : \ ((FROMLEAF) ? SAVED_PC_AFTER_CALL ((PREV)->next) : \
(PREV)->next ? FRAME_SAVED_PC ((PREV)->next) : read_pc ()) (PREV)->next ? FRAME_SAVED_PC ((PREV)->next) : read_pc ())

View File

@ -108,7 +108,7 @@ extern int z8k_saved_pc_after_call (struct frame_info *frame);
#define REGISTER_VIRTUAL_TYPE(N) \ #define REGISTER_VIRTUAL_TYPE(N) \
(REGISTER_VIRTUAL_SIZE(N) == 2? builtin_type_unsigned_int : builtin_type_long) (REGISTER_VIRTUAL_SIZE(N) == 2? builtin_type_unsigned_int : builtin_type_long)
#define INIT_FRAME_PC(x,y) (init_frame_pc_noop (x, y)) #define DEPRECATED_INIT_FRAME_PC(x,y) (init_frame_pc_noop (x, y))
#define INIT_FRAME_PC_FIRST(x,y) (init_frame_pc_noop (x, y)) #define INIT_FRAME_PC_FIRST(x,y) (init_frame_pc_noop (x, y))
#define REGISTER_NAMES \ #define REGISTER_NAMES \

View File

@ -4123,6 +4123,10 @@ cris_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdep = (struct gdbarch_tdep *) xmalloc (sizeof (struct gdbarch_tdep)); tdep = (struct gdbarch_tdep *) xmalloc (sizeof (struct gdbarch_tdep));
gdbarch = gdbarch_alloc (&info, tdep); gdbarch = gdbarch_alloc (&info, tdep);
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
tdep->cris_version = cris_version; tdep->cris_version = cris_version;
tdep->cris_mode = cris_mode; tdep->cris_mode = cris_mode;
tdep->cris_abi = cris_abi; tdep->cris_abi = cris_abi;

View File

@ -677,10 +677,10 @@ d10v_skip_prologue (CORE_ADDR pc)
return pc; return pc;
} }
/* Given a GDB frame, determine the address of the calling function's frame. /* Given a GDB frame, determine the address of the calling function's
This will be used to create a new GDB frame struct, and then frame. This will be used to create a new GDB frame struct, and
INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame. then INIT_EXTRA_FRAME_INFO and DEPRECATED_INIT_FRAME_PC will be
*/ called for the new frame. */
static CORE_ADDR static CORE_ADDR
d10v_frame_chain (struct frame_info *fi) d10v_frame_chain (struct frame_info *fi)
@ -1518,6 +1518,10 @@ d10v_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdep = XMALLOC (struct gdbarch_tdep); tdep = XMALLOC (struct gdbarch_tdep);
gdbarch = gdbarch_alloc (&info, tdep); gdbarch = gdbarch_alloc (&info, tdep);
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
switch (info.bfd_arch_info->mach) switch (info.bfd_arch_info->mach)
{ {
case bfd_mach_d10v_ts2: case bfd_mach_d10v_ts2:

View File

@ -1,3 +1,8 @@
2002-12-05 Andrew Cagney <ac131313@redhat.com>
* gdbint.texinfo (Algorithms): Replace INIT_FRAME_PC with
DEPRECATED_INIT_FRAME_PC.
2002-12-01 Andrew Cagney <ac131313@redhat.com> 2002-12-01 Andrew Cagney <ac131313@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Delete * gdbint.texinfo (Target Architecture Definition): Delete

View File

@ -253,9 +253,9 @@ your frames are nonstandard.)
@cindex frame chain @cindex frame chain
Given a @value{GDBN} frame, define @code{FRAME_CHAIN} to determine the Given a @value{GDBN} frame, define @code{FRAME_CHAIN} to determine the
address of the calling function's frame. This will be used to create address of the calling function's frame. This will be used to create a
a new @value{GDBN} frame struct, and then @code{INIT_EXTRA_FRAME_INFO} new @value{GDBN} frame struct, and then @code{INIT_EXTRA_FRAME_INFO} and
and @code{INIT_FRAME_PC} will be called for the new frame. @code{DEPRECATED_INIT_FRAME_PC} will be called for the new frame.
@section Breakpoint Handling @section Breakpoint Handling
@ -3453,8 +3453,8 @@ If additional information about the frame is required this should be
stored in @code{frame->extra_info}. Space for @code{frame->extra_info} stored in @code{frame->extra_info}. Space for @code{frame->extra_info}
is allocated using @code{frame_obstack_alloc}. is allocated using @code{frame_obstack_alloc}.
@item INIT_FRAME_PC (@var{fromleaf}, @var{prev}) @item DEPRECATED_INIT_FRAME_PC (@var{fromleaf}, @var{prev})
@findex INIT_FRAME_PC @findex DEPRECATED_INIT_FRAME_PC
This is a C statement that sets the pc of the frame pointed to by This is a C statement that sets the pc of the frame pointed to by
@var{prev}. [By default...] @var{prev}. [By default...]

View File

@ -972,25 +972,25 @@ get_prev_frame (struct frame_info *next_frame)
prev->type = NORMAL_FRAME; prev->type = NORMAL_FRAME;
/* This change should not be needed, FIXME! We should determine /* This change should not be needed, FIXME! We should determine
whether any targets *need* INIT_FRAME_PC to happen after whether any targets *need* DEPRECATED_INIT_FRAME_PC to happen
INIT_EXTRA_FRAME_INFO and come up with a simple way to express after INIT_EXTRA_FRAME_INFO and come up with a simple way to
what goes on here. express what goes on here.
INIT_EXTRA_FRAME_INFO is called from two places: create_new_frame INIT_EXTRA_FRAME_INFO is called from two places: create_new_frame
(where the PC is already set up) and here (where it isn't). (where the PC is already set up) and here (where it isn't).
INIT_FRAME_PC is only called from here, always after DEPRECATED_INIT_FRAME_PC is only called from here, always after
INIT_EXTRA_FRAME_INFO. INIT_EXTRA_FRAME_INFO.
The catch is the MIPS, where INIT_EXTRA_FRAME_INFO requires the The catch is the MIPS, where INIT_EXTRA_FRAME_INFO requires the
PC value (which hasn't been set yet). Some other machines appear PC value (which hasn't been set yet). Some other machines appear
to require INIT_EXTRA_FRAME_INFO before they can do to require INIT_EXTRA_FRAME_INFO before they can do
INIT_FRAME_PC. Phoo. DEPRECATED_INIT_FRAME_PC. Phoo.
We shouldn't need DEPRECATED_INIT_FRAME_PC_FIRST to add more We shouldn't need DEPRECATED_INIT_FRAME_PC_FIRST to add more
complication to an already overcomplicated part of GDB. complication to an already overcomplicated part of GDB.
gnu@cygnus.com, 15Sep92. gnu@cygnus.com, 15Sep92.
Assuming that some machines need INIT_FRAME_PC after Assuming that some machines need DEPRECATED_INIT_FRAME_PC after
INIT_EXTRA_FRAME_INFO, one possible scheme: INIT_EXTRA_FRAME_INFO, one possible scheme:
SETUP_INNERMOST_FRAME(): Default version is just create_new_frame SETUP_INNERMOST_FRAME(): Default version is just create_new_frame
@ -1002,17 +1002,17 @@ get_prev_frame (struct frame_info *next_frame)
SETUP_ARBITRARY_FRAME would have to do that. SETUP_ARBITRARY_FRAME would have to do that.
INIT_PREV_FRAME(fromleaf, prev) Replace INIT_EXTRA_FRAME_INFO and INIT_PREV_FRAME(fromleaf, prev) Replace INIT_EXTRA_FRAME_INFO and
INIT_FRAME_PC. This should also return a flag saying whether to DEPRECATED_INIT_FRAME_PC. This should also return a flag saying
keep the new frame, or whether to discard it, because on some whether to keep the new frame, or whether to discard it, because
machines (e.g. mips) it is really awkward to have on some machines (e.g. mips) it is really awkward to have
FRAME_CHAIN_VALID called *before* INIT_EXTRA_FRAME_INFO (there is FRAME_CHAIN_VALID called *before* INIT_EXTRA_FRAME_INFO (there is
no good way to get information deduced in FRAME_CHAIN_VALID into no good way to get information deduced in FRAME_CHAIN_VALID into
the extra fields of the new frame). std_frame_pc(fromleaf, prev) the extra fields of the new frame). std_frame_pc(fromleaf, prev)
This is the default setting for INIT_PREV_FRAME. It just does This is the default setting for INIT_PREV_FRAME. It just does
what the default INIT_FRAME_PC does. Some machines will call it what the default DEPRECATED_INIT_FRAME_PC does. Some machines
from INIT_PREV_FRAME (either at the beginning, the end, or in the will call it from INIT_PREV_FRAME (either at the beginning, the
middle). Some machines won't use it. end, or in the middle). Some machines won't use it.
kingdon@cygnus.com, 13Apr93, 31Jan94, 14Dec94. */ kingdon@cygnus.com, 13Apr93, 31Jan94, 14Dec94. */
@ -1050,7 +1050,8 @@ get_prev_frame (struct frame_info *next_frame)
/* This entry is in the frame queue now, which is good since /* This entry is in the frame queue now, which is good since
FRAME_SAVED_PC may use that queue to figure out its value (see FRAME_SAVED_PC may use that queue to figure out its value (see
tm-sparc.h). We want the pc saved in the inferior frame. */ tm-sparc.h). We want the pc saved in the inferior frame. */
prev->pc = (INIT_FRAME_PC (fromleaf, prev)); if (DEPRECATED_INIT_FRAME_PC_P ())
prev->pc = DEPRECATED_INIT_FRAME_PC (fromleaf, prev);
/* If ->frame and ->pc are unchanged, we are in the process of /* If ->frame and ->pc are unchanged, we are in the process of
getting ourselves into an infinite backtrace. Some architectures getting ourselves into an infinite backtrace. Some architectures

View File

@ -1045,6 +1045,10 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
gdbarch = gdbarch_alloc (&info, var); gdbarch = gdbarch_alloc (&info, var);
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
set_gdbarch_short_bit (gdbarch, 16); set_gdbarch_short_bit (gdbarch, 16);
set_gdbarch_int_bit (gdbarch, 32); set_gdbarch_int_bit (gdbarch, 32);
set_gdbarch_long_bit (gdbarch, 32); set_gdbarch_long_bit (gdbarch, 32);

View File

@ -196,7 +196,7 @@ struct gdbarch
int call_dummy_stack_adjust; int call_dummy_stack_adjust;
gdbarch_fix_call_dummy_ftype *fix_call_dummy; gdbarch_fix_call_dummy_ftype *fix_call_dummy;
gdbarch_deprecated_init_frame_pc_first_ftype *deprecated_init_frame_pc_first; gdbarch_deprecated_init_frame_pc_first_ftype *deprecated_init_frame_pc_first;
gdbarch_init_frame_pc_ftype *init_frame_pc; gdbarch_deprecated_init_frame_pc_ftype *deprecated_init_frame_pc;
int believe_pcc_promotion; int believe_pcc_promotion;
int believe_pcc_promotion_type; int believe_pcc_promotion_type;
gdbarch_coerce_float_to_double_ftype *coerce_float_to_double; gdbarch_coerce_float_to_double_ftype *coerce_float_to_double;
@ -533,7 +533,6 @@ gdbarch_alloc (const struct gdbarch_info *info,
current_gdbarch->call_dummy_words = legacy_call_dummy_words; current_gdbarch->call_dummy_words = legacy_call_dummy_words;
current_gdbarch->sizeof_call_dummy_words = legacy_sizeof_call_dummy_words; current_gdbarch->sizeof_call_dummy_words = legacy_sizeof_call_dummy_words;
current_gdbarch->call_dummy_stack_adjust_p = -1; current_gdbarch->call_dummy_stack_adjust_p = -1;
current_gdbarch->init_frame_pc = init_frame_pc_default;
current_gdbarch->coerce_float_to_double = default_coerce_float_to_double; current_gdbarch->coerce_float_to_double = default_coerce_float_to_double;
current_gdbarch->register_convertible = generic_register_convertible_not; current_gdbarch->register_convertible = generic_register_convertible_not;
current_gdbarch->convert_register_p = legacy_convert_register_p; current_gdbarch->convert_register_p = legacy_convert_register_p;
@ -712,7 +711,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
&& (gdbarch->fix_call_dummy == 0)) && (gdbarch->fix_call_dummy == 0))
fprintf_unfiltered (log, "\n\tfix_call_dummy"); fprintf_unfiltered (log, "\n\tfix_call_dummy");
/* Skip verify of deprecated_init_frame_pc_first, has predicate */ /* Skip verify of deprecated_init_frame_pc_first, has predicate */
/* Skip verify of init_frame_pc, invalid_p == 0 */ /* Skip verify of deprecated_init_frame_pc, has predicate */
/* Skip verify of coerce_float_to_double, invalid_p == 0 */ /* Skip verify of coerce_float_to_double, invalid_p == 0 */
/* Skip verify of get_saved_register, has predicate */ /* Skip verify of get_saved_register, has predicate */
/* Skip verify of register_convertible, invalid_p == 0 */ /* Skip verify of register_convertible, invalid_p == 0 */
@ -1192,6 +1191,26 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
(long) current_gdbarch->deprecated_extract_struct_value_address (long) current_gdbarch->deprecated_extract_struct_value_address
/*DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS ()*/); /*DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS ()*/);
#endif #endif
#ifdef DEPRECATED_INIT_FRAME_PC_P
fprintf_unfiltered (file,
"gdbarch_dump: %s # %s\n",
"DEPRECATED_INIT_FRAME_PC_P()",
XSTRING (DEPRECATED_INIT_FRAME_PC_P ()));
fprintf_unfiltered (file,
"gdbarch_dump: DEPRECATED_INIT_FRAME_PC_P() = %d\n",
DEPRECATED_INIT_FRAME_PC_P ());
#endif
#ifdef DEPRECATED_INIT_FRAME_PC
fprintf_unfiltered (file,
"gdbarch_dump: %s # %s\n",
"DEPRECATED_INIT_FRAME_PC(fromleaf, prev)",
XSTRING (DEPRECATED_INIT_FRAME_PC (fromleaf, prev)));
if (GDB_MULTI_ARCH)
fprintf_unfiltered (file,
"gdbarch_dump: DEPRECATED_INIT_FRAME_PC = <0x%08lx>\n",
(long) current_gdbarch->deprecated_init_frame_pc
/*DEPRECATED_INIT_FRAME_PC ()*/);
#endif
#ifdef DEPRECATED_INIT_FRAME_PC_FIRST_P #ifdef DEPRECATED_INIT_FRAME_PC_FIRST_P
fprintf_unfiltered (file, fprintf_unfiltered (file,
"gdbarch_dump: %s # %s\n", "gdbarch_dump: %s # %s\n",
@ -1577,17 +1596,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
(long) current_gdbarch->init_extra_frame_info (long) current_gdbarch->init_extra_frame_info
/*INIT_EXTRA_FRAME_INFO ()*/); /*INIT_EXTRA_FRAME_INFO ()*/);
#endif #endif
#ifdef INIT_FRAME_PC
fprintf_unfiltered (file,
"gdbarch_dump: %s # %s\n",
"INIT_FRAME_PC(fromleaf, prev)",
XSTRING (INIT_FRAME_PC (fromleaf, prev)));
if (GDB_MULTI_ARCH)
fprintf_unfiltered (file,
"gdbarch_dump: INIT_FRAME_PC = <0x%08lx>\n",
(long) current_gdbarch->init_frame_pc
/*INIT_FRAME_PC ()*/);
#endif
#ifdef INNER_THAN #ifdef INNER_THAN
fprintf_unfiltered (file, fprintf_unfiltered (file,
"gdbarch_dump: %s # %s\n", "gdbarch_dump: %s # %s\n",
@ -3804,23 +3812,30 @@ set_gdbarch_deprecated_init_frame_pc_first (struct gdbarch *gdbarch,
gdbarch->deprecated_init_frame_pc_first = deprecated_init_frame_pc_first; gdbarch->deprecated_init_frame_pc_first = deprecated_init_frame_pc_first;
} }
CORE_ADDR int
gdbarch_init_frame_pc (struct gdbarch *gdbarch, int fromleaf, struct frame_info *prev) gdbarch_deprecated_init_frame_pc_p (struct gdbarch *gdbarch)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
if (gdbarch->init_frame_pc == 0) return gdbarch->deprecated_init_frame_pc != 0;
}
CORE_ADDR
gdbarch_deprecated_init_frame_pc (struct gdbarch *gdbarch, int fromleaf, struct frame_info *prev)
{
gdb_assert (gdbarch != NULL);
if (gdbarch->deprecated_init_frame_pc == 0)
internal_error (__FILE__, __LINE__, internal_error (__FILE__, __LINE__,
"gdbarch: gdbarch_init_frame_pc invalid"); "gdbarch: gdbarch_deprecated_init_frame_pc invalid");
if (gdbarch_debug >= 2) if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_init_frame_pc called\n"); fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_init_frame_pc called\n");
return gdbarch->init_frame_pc (fromleaf, prev); return gdbarch->deprecated_init_frame_pc (fromleaf, prev);
} }
void void
set_gdbarch_init_frame_pc (struct gdbarch *gdbarch, set_gdbarch_deprecated_init_frame_pc (struct gdbarch *gdbarch,
gdbarch_init_frame_pc_ftype init_frame_pc) gdbarch_deprecated_init_frame_pc_ftype deprecated_init_frame_pc)
{ {
gdbarch->init_frame_pc = init_frame_pc; gdbarch->deprecated_init_frame_pc = deprecated_init_frame_pc;
} }
int int

View File

@ -1215,20 +1215,40 @@ extern void set_gdbarch_deprecated_init_frame_pc_first (struct gdbarch *gdbarch,
#endif #endif
#endif #endif
/* Default (function) for non- multi-arch platforms. */ #if defined (DEPRECATED_INIT_FRAME_PC)
#if (!GDB_MULTI_ARCH) && !defined (INIT_FRAME_PC) /* Legacy for systems yet to multi-arch DEPRECATED_INIT_FRAME_PC */
#define INIT_FRAME_PC(fromleaf, prev) (init_frame_pc_default (fromleaf, prev)) #if !defined (DEPRECATED_INIT_FRAME_PC_P)
#define DEPRECATED_INIT_FRAME_PC_P() (1)
#endif
#endif #endif
typedef CORE_ADDR (gdbarch_init_frame_pc_ftype) (int fromleaf, struct frame_info *prev); /* Default predicate for non- multi-arch targets. */
extern CORE_ADDR gdbarch_init_frame_pc (struct gdbarch *gdbarch, int fromleaf, struct frame_info *prev); #if (!GDB_MULTI_ARCH) && !defined (DEPRECATED_INIT_FRAME_PC_P)
extern void set_gdbarch_init_frame_pc (struct gdbarch *gdbarch, gdbarch_init_frame_pc_ftype *init_frame_pc); #define DEPRECATED_INIT_FRAME_PC_P() (0)
#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (INIT_FRAME_PC) #endif
#error "Non multi-arch definition of INIT_FRAME_PC"
extern int gdbarch_deprecated_init_frame_pc_p (struct gdbarch *gdbarch);
#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_INIT_FRAME_PC_P)
#error "Non multi-arch definition of DEPRECATED_INIT_FRAME_PC"
#endif
#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DEPRECATED_INIT_FRAME_PC_P)
#define DEPRECATED_INIT_FRAME_PC_P() (gdbarch_deprecated_init_frame_pc_p (current_gdbarch))
#endif
/* Default (function) for non- multi-arch platforms. */
#if (!GDB_MULTI_ARCH) && !defined (DEPRECATED_INIT_FRAME_PC)
#define DEPRECATED_INIT_FRAME_PC(fromleaf, prev) (internal_error (__FILE__, __LINE__, "DEPRECATED_INIT_FRAME_PC"), 0)
#endif
typedef CORE_ADDR (gdbarch_deprecated_init_frame_pc_ftype) (int fromleaf, struct frame_info *prev);
extern CORE_ADDR gdbarch_deprecated_init_frame_pc (struct gdbarch *gdbarch, int fromleaf, struct frame_info *prev);
extern void set_gdbarch_deprecated_init_frame_pc (struct gdbarch *gdbarch, gdbarch_deprecated_init_frame_pc_ftype *deprecated_init_frame_pc);
#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_INIT_FRAME_PC)
#error "Non multi-arch definition of DEPRECATED_INIT_FRAME_PC"
#endif #endif
#if GDB_MULTI_ARCH #if GDB_MULTI_ARCH
#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (INIT_FRAME_PC) #if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DEPRECATED_INIT_FRAME_PC)
#define INIT_FRAME_PC(fromleaf, prev) (gdbarch_init_frame_pc (current_gdbarch, fromleaf, prev)) #define DEPRECATED_INIT_FRAME_PC(fromleaf, prev) (gdbarch_deprecated_init_frame_pc (current_gdbarch, fromleaf, prev))
#endif #endif
#endif #endif

View File

@ -514,7 +514,7 @@ v:1:CALL_DUMMY_STACK_ADJUST_P:int:call_dummy_stack_adjust_p::::0:-1:::0x%08lx
v:2:CALL_DUMMY_STACK_ADJUST:int:call_dummy_stack_adjust::::0:::gdbarch->call_dummy_stack_adjust_p && gdbarch->call_dummy_stack_adjust == 0:0x%08lx::CALL_DUMMY_STACK_ADJUST_P v:2:CALL_DUMMY_STACK_ADJUST:int:call_dummy_stack_adjust::::0:::gdbarch->call_dummy_stack_adjust_p && gdbarch->call_dummy_stack_adjust == 0:0x%08lx::CALL_DUMMY_STACK_ADJUST_P
f:2:FIX_CALL_DUMMY:void:fix_call_dummy:char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs, struct value **args, struct type *type, int gcc_p:dummy, pc, fun, nargs, args, type, gcc_p:::0 f:2:FIX_CALL_DUMMY:void:fix_call_dummy:char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs, struct value **args, struct type *type, int gcc_p:dummy, pc, fun, nargs, args, type, gcc_p:::0
F:2:DEPRECATED_INIT_FRAME_PC_FIRST:CORE_ADDR:deprecated_init_frame_pc_first:int fromleaf, struct frame_info *prev:fromleaf, prev F:2:DEPRECATED_INIT_FRAME_PC_FIRST:CORE_ADDR:deprecated_init_frame_pc_first:int fromleaf, struct frame_info *prev:fromleaf, prev
f:2:INIT_FRAME_PC:CORE_ADDR:init_frame_pc:int fromleaf, struct frame_info *prev:fromleaf, prev:::init_frame_pc_default::0 F::DEPRECATED_INIT_FRAME_PC:CORE_ADDR:deprecated_init_frame_pc:int fromleaf, struct frame_info *prev:fromleaf, prev
# #
v:2:BELIEVE_PCC_PROMOTION:int:believe_pcc_promotion::::::: v:2:BELIEVE_PCC_PROMOTION:int:believe_pcc_promotion:::::::
v:2:BELIEVE_PCC_PROMOTION_TYPE:int:believe_pcc_promotion_type::::::: v:2:BELIEVE_PCC_PROMOTION_TYPE:int:believe_pcc_promotion_type:::::::

View File

@ -482,9 +482,10 @@ h8300_frame_init_saved_regs (struct frame_info *fi)
} }
} }
/* Given a GDB frame, determine the address of the calling function's frame. /* Given a GDB frame, determine the address of the calling function's
This will be used to create a new GDB frame struct, and then frame. This will be used to create a new GDB frame struct, and
INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame. then INIT_EXTRA_FRAME_INFO and DEPRECATED_INIT_FRAME_PC will be
called for the new frame.
For us, the frame address is its stack pointer value, so we look up For us, the frame address is its stack pointer value, so we look up
the function prologue to determine the caller's sp value, and return it. */ the function prologue to determine the caller's sp value, and return it. */
@ -1079,6 +1080,10 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
gdbarch = gdbarch_alloc (&info, 0); gdbarch = gdbarch_alloc (&info, 0);
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
/* /*
* Basic register fields and methods. * Basic register fields and methods.
*/ */

View File

@ -106,9 +106,10 @@ h8500_addr_bits_remove (CORE_ADDR addr)
return ((addr) & 0xffffff); return ((addr) & 0xffffff);
} }
/* Given a GDB frame, determine the address of the calling function's frame. /* Given a GDB frame, determine the address of the calling function's
This will be used to create a new GDB frame struct, and then frame. This will be used to create a new GDB frame struct, and
INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame. then INIT_EXTRA_FRAME_INFO and DEPRECATED_INIT_FRAME_PC will be
called for the new frame.
For us, the frame address is its stack pointer value, so we look up For us, the frame address is its stack pointer value, so we look up
the function prologue to determine the caller's sp value, and return it. */ the function prologue to determine the caller's sp value, and return it. */

View File

@ -1080,9 +1080,10 @@ init_extra_frame_info (int fromleaf, struct frame_info *frame)
frame->frame = read_register (SP_REGNUM) - framesize; frame->frame = read_register (SP_REGNUM) - framesize;
} }
/* Given a GDB frame, determine the address of the calling function's frame. /* Given a GDB frame, determine the address of the calling function's
This will be used to create a new GDB frame struct, and then frame. This will be used to create a new GDB frame struct, and
INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame. then INIT_EXTRA_FRAME_INFO and DEPRECATED_INIT_FRAME_PC will be
called for the new frame.
This may involve searching through prologues for several functions This may involve searching through prologues for several functions
at boundaries where GCC calls HP C code, or where code which has at boundaries where GCC calls HP C code, or where code which has

View File

@ -331,7 +331,7 @@ i386_interix_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_skip_trampoline_code (gdbarch, set_gdbarch_skip_trampoline_code (gdbarch,
i386_interix_skip_trampoline_code); i386_interix_skip_trampoline_code);
set_gdbarch_init_extra_frame_info (gdbarch, i386_interix_back_one_frame); set_gdbarch_init_extra_frame_info (gdbarch, i386_interix_back_one_frame);
set_gdbarch_init_frame_pc (gdbarch, init_frame_pc_noop); set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_noop);
set_gdbarch_frame_chain_valid (gdbarch, i386_interix_frame_chain_valid); set_gdbarch_frame_chain_valid (gdbarch, i386_interix_frame_chain_valid);
set_gdbarch_frame_saved_pc (gdbarch, i386_interix_frame_saved_pc); set_gdbarch_frame_saved_pc (gdbarch, i386_interix_frame_saved_pc);
set_gdbarch_name_of_malloc (gdbarch, "_malloc"); set_gdbarch_name_of_malloc (gdbarch, "_malloc");

View File

@ -1519,6 +1519,10 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdep = XMALLOC (struct gdbarch_tdep); tdep = XMALLOC (struct gdbarch_tdep);
gdbarch = gdbarch_alloc (&info, tdep); gdbarch = gdbarch_alloc (&info, tdep);
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
tdep->osabi = osabi; tdep->osabi = osabi;
/* The i386 default settings don't include the SSE registers. /* The i386 default settings don't include the SSE registers.

View File

@ -2120,6 +2120,9 @@ ia64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
gdbarch = gdbarch_alloc (&info, tdep); gdbarch = gdbarch_alloc (&info, tdep);
tdep->os_ident = os_ident; tdep->os_ident = os_ident;
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
/* Set the method of obtaining the sigcontext addresses at which /* Set the method of obtaining the sigcontext addresses at which
registers are saved. The method of checking to see if registers are saved. The method of checking to see if

View File

@ -470,11 +470,11 @@ m32r_find_callers_reg (struct frame_info *fi, int regnum)
return read_register (regnum); return read_register (regnum);
} }
/* Function: frame_chain /* Function: frame_chain Given a GDB frame, determine the address of
Given a GDB frame, determine the address of the calling function's frame. the calling function's frame. This will be used to create a new
This will be used to create a new GDB frame struct, and then GDB frame struct, and then INIT_EXTRA_FRAME_INFO and
INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame. DEPRECATED_INIT_FRAME_PC will be called for the new frame. For
For m32r, we save the frame size when we initialize the frame_info. */ m32r, we save the frame size when we initialize the frame_info. */
CORE_ADDR CORE_ADDR
m32r_frame_chain (struct frame_info *fi) m32r_frame_chain (struct frame_info *fi)

View File

@ -802,10 +802,10 @@ m68hc11_skip_prologue (CORE_ADDR pc)
return pc; return pc;
} }
/* Given a GDB frame, determine the address of the calling function's frame. /* Given a GDB frame, determine the address of the calling function's
This will be used to create a new GDB frame struct, and then frame. This will be used to create a new GDB frame struct, and
INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame. then INIT_EXTRA_FRAME_INFO and DEPRECATED_INIT_FRAME_PC will be
*/ called for the new frame. */
static CORE_ADDR static CORE_ADDR
m68hc11_frame_chain (struct frame_info *frame) m68hc11_frame_chain (struct frame_info *frame)
@ -1236,6 +1236,10 @@ m68hc11_gdbarch_init (struct gdbarch_info info,
gdbarch = gdbarch_alloc (&info, tdep); gdbarch = gdbarch_alloc (&info, tdep);
tdep->elf_flags = elf_flags; tdep->elf_flags = elf_flags;
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
switch (info.bfd_arch_info->arch) switch (info.bfd_arch_info->arch)
{ {
case bfd_arch_m68hc11: case bfd_arch_m68hc11:

View File

@ -983,6 +983,10 @@ m68k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
gdbarch = gdbarch_alloc (&info, 0); gdbarch = gdbarch_alloc (&info, 0);
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
set_gdbarch_long_double_format (gdbarch, &floatformat_m68881_ext); set_gdbarch_long_double_format (gdbarch, &floatformat_m68881_ext);
set_gdbarch_long_double_bit (gdbarch, 96); set_gdbarch_long_double_bit (gdbarch, 96);

View File

@ -638,9 +638,10 @@ mcore_analyze_prologue (struct frame_info *fi, CORE_ADDR pc, int skip_prologue)
return addr; return addr;
} }
/* Given a GDB frame, determine the address of the calling function's frame. /* Given a GDB frame, determine the address of the calling function's
This will be used to create a new GDB frame struct, and then frame. This will be used to create a new GDB frame struct, and
INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame. */ then INIT_EXTRA_FRAME_INFO and DEPRECATED_INIT_FRAME_PC will be
called for the new frame. */
CORE_ADDR CORE_ADDR
mcore_frame_chain (struct frame_info * fi) mcore_frame_chain (struct frame_info * fi)
@ -1084,6 +1085,10 @@ mcore_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
gdbarch = gdbarch_alloc (&info, 0); gdbarch = gdbarch_alloc (&info, 0);
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
/* Registers: */ /* Registers: */
/* All registers are 32 bits */ /* All registers are 32 bits */

View File

@ -5966,7 +5966,7 @@ mips_gdbarch_init (struct gdbarch_info info,
/* There's a mess in stack frame creation. See comments in /* There's a mess in stack frame creation. See comments in
blockframe.c near reference to DEPRECATED_INIT_FRAME_PC_FIRST. */ blockframe.c near reference to DEPRECATED_INIT_FRAME_PC_FIRST. */
set_gdbarch_deprecated_init_frame_pc_first (gdbarch, mips_init_frame_pc_first); set_gdbarch_deprecated_init_frame_pc_first (gdbarch, mips_init_frame_pc_first);
set_gdbarch_init_frame_pc (gdbarch, init_frame_pc_noop); set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_noop);
/* Map debug register numbers onto internal register numbers. */ /* Map debug register numbers onto internal register numbers. */
set_gdbarch_stab_reg_to_regnum (gdbarch, mips_stab_reg_to_regnum); set_gdbarch_stab_reg_to_regnum (gdbarch, mips_stab_reg_to_regnum);

View File

@ -1167,7 +1167,7 @@ mn10300_gdbarch_init (struct gdbarch_info info,
set_gdbarch_frame_chain_valid (gdbarch, generic_file_frame_chain_valid); set_gdbarch_frame_chain_valid (gdbarch, generic_file_frame_chain_valid);
set_gdbarch_saved_pc_after_call (gdbarch, mn10300_saved_pc_after_call); set_gdbarch_saved_pc_after_call (gdbarch, mn10300_saved_pc_after_call);
set_gdbarch_init_extra_frame_info (gdbarch, mn10300_init_extra_frame_info); set_gdbarch_init_extra_frame_info (gdbarch, mn10300_init_extra_frame_info);
set_gdbarch_init_frame_pc (gdbarch, init_frame_pc_noop); set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_noop);
set_gdbarch_frame_init_saved_regs (gdbarch, mn10300_frame_init_saved_regs); set_gdbarch_frame_init_saved_regs (gdbarch, mn10300_frame_init_saved_regs);
set_gdbarch_frame_chain (gdbarch, mn10300_frame_chain); set_gdbarch_frame_chain (gdbarch, mn10300_frame_chain);
set_gdbarch_frame_saved_pc (gdbarch, mn10300_frame_saved_pc); set_gdbarch_frame_saved_pc (gdbarch, mn10300_frame_saved_pc);

View File

@ -560,6 +560,10 @@ ns32k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdep = xmalloc (sizeof (struct gdbarch_tdep)); tdep = xmalloc (sizeof (struct gdbarch_tdep));
gdbarch = gdbarch_alloc (&info, tdep); gdbarch = gdbarch_alloc (&info, tdep);
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
tdep->osabi = osabi; tdep->osabi = osabi;
/* Register info */ /* Register info */

View File

@ -1761,6 +1761,10 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
/* Yes: create a new gdbarch for the specified machine type. */ /* Yes: create a new gdbarch for the specified machine type. */
gdbarch = gdbarch_alloc (&info, NULL); gdbarch = gdbarch_alloc (&info, NULL);
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
set_gdbarch_believe_pcc_promotion (gdbarch, 0); set_gdbarch_believe_pcc_promotion (gdbarch, 0);
set_gdbarch_char_signed (gdbarch, 0); set_gdbarch_char_signed (gdbarch, 0);

View File

@ -918,9 +918,10 @@ gdb_print_insn_sh (bfd_vma memaddr, disassemble_info *info)
return print_insn_sh (memaddr, info); return print_insn_sh (memaddr, info);
} }
/* Given a GDB frame, determine the address of the calling function's frame. /* Given a GDB frame, determine the address of the calling function's
This will be used to create a new GDB frame struct, and then frame. This will be used to create a new GDB frame struct, and
INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame. then INIT_EXTRA_FRAME_INFO and DEPRECATED_INIT_FRAME_PC will be
called for the new frame.
For us, the frame address is its stack pointer value, so we look up For us, the frame address is its stack pointer value, so we look up
the function prologue to determine the caller's sp value, and return it. */ the function prologue to determine the caller's sp value, and return it. */
@ -4241,6 +4242,10 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdep = XMALLOC (struct gdbarch_tdep); tdep = XMALLOC (struct gdbarch_tdep);
gdbarch = gdbarch_alloc (&info, tdep); gdbarch = gdbarch_alloc (&info, tdep);
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
tdep->osabi = osabi; tdep->osabi = osabi;
/* Initialize the register numbers that are not common to all the /* Initialize the register numbers that are not common to all the

View File

@ -1197,6 +1197,10 @@ v850_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
gdbarch = gdbarch_alloc (&info, 0); gdbarch = gdbarch_alloc (&info, 0);
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
for (i = 0; v850_processor_type_table[i].regnames != NULL; i++) for (i = 0; v850_processor_type_table[i].regnames != NULL; i++)
{ {
if (v850_processor_type_table[i].mach == info.bfd_arch_info->mach) if (v850_processor_type_table[i].mach == info.bfd_arch_info->mach)

View File

@ -632,6 +632,10 @@ vax_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdep = xmalloc (sizeof (struct gdbarch_tdep)); tdep = xmalloc (sizeof (struct gdbarch_tdep));
gdbarch = gdbarch_alloc (&info, tdep); gdbarch = gdbarch_alloc (&info, tdep);
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
tdep->osabi = osabi; tdep->osabi = osabi;
/* Register info */ /* Register info */

View File

@ -1032,7 +1032,7 @@ x86_64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_init_extra_frame_info (gdbarch, cfi_init_extra_frame_info); set_gdbarch_init_extra_frame_info (gdbarch, cfi_init_extra_frame_info);
/* Frame PC initialization is handled by using CFI. */ /* Frame PC initialization is handled by using CFI. */
set_gdbarch_init_frame_pc (gdbarch, x86_64_init_frame_pc); set_gdbarch_deprecated_init_frame_pc (gdbarch, x86_64_init_frame_pc);
/* Cons up virtual frame pointer for trace. */ /* Cons up virtual frame pointer for trace. */
set_gdbarch_virtual_frame_pointer (gdbarch, cfi_virtual_frame_pointer); set_gdbarch_virtual_frame_pointer (gdbarch, cfi_virtual_frame_pointer);

View File

@ -1023,6 +1023,10 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
gdbarch = gdbarch_alloc (&info, 0); gdbarch = gdbarch_alloc (&info, 0);
/* NOTE: cagney/2002-12-06: This can be deleted when this arch is
ready to unwind the PC first (see frame.c:get_prev_frame()). */
set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_default);
/* /*
* Basic register fields and methods. * Basic register fields and methods.
*/ */