mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-23 18:14:13 +08:00
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:
parent
6604731ba7
commit
a5afb99fc1
@ -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>
|
||||
|
||||
* config/pa/nm-hppah.h (CHILD_POST_FOLLOW_VFORK): Change to
|
||||
|
@ -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_push_dummy_frame (gdbarch, alpha_push_dummy_frame);
|
||||
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_inner_than (gdbarch, core_addr_lessthan);
|
||||
|
@ -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
|
||||
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
|
||||
will be called for the new frame. For ARM, we save the frame size
|
||||
when we initialize the frame_info. */
|
||||
GDB frame struct, and then INIT_EXTRA_FRAME_INFO and
|
||||
DEPRECATED_INIT_FRAME_PC will be called for the new frame. For
|
||||
ARM, we save the frame size when we initialize the frame_info. */
|
||||
|
||||
static CORE_ADDR
|
||||
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));
|
||||
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;
|
||||
|
||||
/* This is the way it has always defaulted. */
|
||||
|
@ -1020,9 +1020,10 @@ avr_frame_address (struct frame_info *fi)
|
||||
return avr_make_saddr (fi->frame);
|
||||
}
|
||||
|
||||
/* Given a GDB frame, determine the address of 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 will be called for the new frame.
|
||||
/* Given a GDB frame, determine the address of the calling function's
|
||||
frame. This will be used to create a new GDB frame struct, and
|
||||
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
|
||||
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);
|
||||
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. */
|
||||
switch (info.bfd_arch_info->mach)
|
||||
{
|
||||
|
@ -109,8 +109,8 @@ struct value;
|
||||
extern void m32r_init_extra_frame_info (struct frame_info *fi);
|
||||
/* mvs_check INIT_EXTRA_FRAME_INFO */
|
||||
#define INIT_EXTRA_FRAME_INFO(fromleaf, fi) m32r_init_extra_frame_info (fi)
|
||||
/* mvs_no_check INIT_FRAME_PC */
|
||||
#define INIT_FRAME_PC /* Not necessary */
|
||||
/* mvs_no_check DEPRECATED_INIT_FRAME_PC */
|
||||
#define DEPRECATED_INIT_FRAME_PC init_frame_pc_noop
|
||||
|
||||
extern void
|
||||
m32r_frame_find_saved_regs (struct frame_info *fi,
|
||||
|
@ -107,7 +107,7 @@ struct value;
|
||||
|
||||
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_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))
|
||||
|
||||
extern void mn10200_frame_find_saved_regs (struct frame_info *,
|
||||
|
@ -30,6 +30,7 @@
|
||||
#define DEPRECATED_USE_GENERIC_DUMMY_FRAMES 0
|
||||
#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_INIT_FRAME_PC(l,f) (init_frame_pc_default (l, f))
|
||||
|
||||
/* Forward declarations of some types we use in prototypes */
|
||||
|
||||
|
@ -86,7 +86,7 @@ extern void aix_process_linenos (void);
|
||||
"arch-utils.h" here. Not too bad as this entire file is going away
|
||||
anyway. */
|
||||
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 */
|
||||
#define IBM6000_TARGET
|
||||
|
@ -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. */
|
||||
|
||||
#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) \
|
||||
((FROMLEAF) ? SAVED_PC_AFTER_CALL ((PREV)->next) : \
|
||||
(PREV)->next ? FRAME_SAVED_PC ((PREV)->next) : read_pc ())
|
||||
|
@ -108,7 +108,7 @@ extern int z8k_saved_pc_after_call (struct frame_info *frame);
|
||||
#define REGISTER_VIRTUAL_TYPE(N) \
|
||||
(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 REGISTER_NAMES \
|
||||
|
@ -4123,6 +4123,10 @@ cris_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
tdep = (struct gdbarch_tdep *) xmalloc (sizeof (struct gdbarch_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_mode = cris_mode;
|
||||
tdep->cris_abi = cris_abi;
|
||||
|
@ -677,10 +677,10 @@ d10v_skip_prologue (CORE_ADDR pc)
|
||||
return pc;
|
||||
}
|
||||
|
||||
/* Given a GDB frame, determine the address of 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 will be called for the new frame.
|
||||
*/
|
||||
/* Given a GDB frame, determine the address of the calling function's
|
||||
frame. This will be used to create a new GDB frame struct, and
|
||||
then INIT_EXTRA_FRAME_INFO and DEPRECATED_INIT_FRAME_PC will be
|
||||
called for the new frame. */
|
||||
|
||||
static CORE_ADDR
|
||||
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);
|
||||
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)
|
||||
{
|
||||
case bfd_mach_d10v_ts2:
|
||||
|
@ -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>
|
||||
|
||||
* gdbint.texinfo (Target Architecture Definition): Delete
|
||||
|
@ -253,9 +253,9 @@ your frames are nonstandard.)
|
||||
|
||||
@cindex frame chain
|
||||
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
|
||||
a new @value{GDBN} frame struct, and then @code{INIT_EXTRA_FRAME_INFO}
|
||||
and @code{INIT_FRAME_PC} will be called for the new frame.
|
||||
address of the calling function's frame. This will be used to create a
|
||||
new @value{GDBN} frame struct, and then @code{INIT_EXTRA_FRAME_INFO} and
|
||||
@code{DEPRECATED_INIT_FRAME_PC} will be called for the new frame.
|
||||
|
||||
@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}
|
||||
is allocated using @code{frame_obstack_alloc}.
|
||||
|
||||
@item INIT_FRAME_PC (@var{fromleaf}, @var{prev})
|
||||
@findex INIT_FRAME_PC
|
||||
@item DEPRECATED_INIT_FRAME_PC (@var{fromleaf}, @var{prev})
|
||||
@findex DEPRECATED_INIT_FRAME_PC
|
||||
This is a C statement that sets the pc of the frame pointed to by
|
||||
@var{prev}. [By default...]
|
||||
|
||||
|
27
gdb/frame.c
27
gdb/frame.c
@ -972,25 +972,25 @@ get_prev_frame (struct frame_info *next_frame)
|
||||
prev->type = NORMAL_FRAME;
|
||||
|
||||
/* This change should not be needed, FIXME! We should determine
|
||||
whether any targets *need* INIT_FRAME_PC to happen after
|
||||
INIT_EXTRA_FRAME_INFO and come up with a simple way to express
|
||||
what goes on here.
|
||||
whether any targets *need* DEPRECATED_INIT_FRAME_PC to happen
|
||||
after INIT_EXTRA_FRAME_INFO and come up with a simple way to
|
||||
express what goes on here.
|
||||
|
||||
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).
|
||||
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.
|
||||
|
||||
The catch is the MIPS, where INIT_EXTRA_FRAME_INFO requires the
|
||||
PC value (which hasn't been set yet). Some other machines appear
|
||||
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
|
||||
complication to an already overcomplicated part of GDB.
|
||||
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:
|
||||
|
||||
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.
|
||||
|
||||
INIT_PREV_FRAME(fromleaf, prev) Replace INIT_EXTRA_FRAME_INFO and
|
||||
INIT_FRAME_PC. This should also return a flag saying whether to
|
||||
keep the new frame, or whether to discard it, because on some
|
||||
machines (e.g. mips) it is really awkward to have
|
||||
DEPRECATED_INIT_FRAME_PC. This should also return a flag saying
|
||||
whether to keep the new frame, or whether to discard it, because
|
||||
on some machines (e.g. mips) it is really awkward to have
|
||||
FRAME_CHAIN_VALID called *before* INIT_EXTRA_FRAME_INFO (there is
|
||||
no good way to get information deduced in FRAME_CHAIN_VALID into
|
||||
the extra fields of the new frame). std_frame_pc(fromleaf, prev)
|
||||
|
||||
This is the default setting for INIT_PREV_FRAME. It just does
|
||||
what the default INIT_FRAME_PC does. Some machines will call it
|
||||
from INIT_PREV_FRAME (either at the beginning, the end, or in the
|
||||
middle). Some machines won't use it.
|
||||
what the default DEPRECATED_INIT_FRAME_PC does. Some machines
|
||||
will call it from INIT_PREV_FRAME (either at the beginning, the
|
||||
end, or in the middle). Some machines won't use it.
|
||||
|
||||
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
|
||||
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. */
|
||||
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
|
||||
getting ourselves into an infinite backtrace. Some architectures
|
||||
|
@ -1045,6 +1045,10 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
|
||||
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_int_bit (gdbarch, 32);
|
||||
set_gdbarch_long_bit (gdbarch, 32);
|
||||
|
@ -196,7 +196,7 @@ struct gdbarch
|
||||
int call_dummy_stack_adjust;
|
||||
gdbarch_fix_call_dummy_ftype *fix_call_dummy;
|
||||
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_type;
|
||||
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->sizeof_call_dummy_words = legacy_sizeof_call_dummy_words;
|
||||
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->register_convertible = generic_register_convertible_not;
|
||||
current_gdbarch->convert_register_p = legacy_convert_register_p;
|
||||
@ -712,7 +711,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
|
||||
&& (gdbarch->fix_call_dummy == 0))
|
||||
fprintf_unfiltered (log, "\n\tfix_call_dummy");
|
||||
/* 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 get_saved_register, has predicate */
|
||||
/* 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
|
||||
/*DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS ()*/);
|
||||
#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
|
||||
fprintf_unfiltered (file,
|
||||
"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
|
||||
/*INIT_EXTRA_FRAME_INFO ()*/);
|
||||
#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
|
||||
fprintf_unfiltered (file,
|
||||
"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;
|
||||
}
|
||||
|
||||
CORE_ADDR
|
||||
gdbarch_init_frame_pc (struct gdbarch *gdbarch, int fromleaf, struct frame_info *prev)
|
||||
int
|
||||
gdbarch_deprecated_init_frame_pc_p (struct gdbarch *gdbarch)
|
||||
{
|
||||
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__,
|
||||
"gdbarch: gdbarch_init_frame_pc invalid");
|
||||
"gdbarch: gdbarch_deprecated_init_frame_pc invalid");
|
||||
if (gdbarch_debug >= 2)
|
||||
fprintf_unfiltered (gdb_stdlog, "gdbarch_init_frame_pc called\n");
|
||||
return gdbarch->init_frame_pc (fromleaf, prev);
|
||||
fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_init_frame_pc called\n");
|
||||
return gdbarch->deprecated_init_frame_pc (fromleaf, prev);
|
||||
}
|
||||
|
||||
void
|
||||
set_gdbarch_init_frame_pc (struct gdbarch *gdbarch,
|
||||
gdbarch_init_frame_pc_ftype init_frame_pc)
|
||||
set_gdbarch_deprecated_init_frame_pc (struct gdbarch *gdbarch,
|
||||
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
|
||||
|
@ -1215,20 +1215,40 @@ extern void set_gdbarch_deprecated_init_frame_pc_first (struct gdbarch *gdbarch,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Default (function) for non- multi-arch platforms. */
|
||||
#if (!GDB_MULTI_ARCH) && !defined (INIT_FRAME_PC)
|
||||
#define INIT_FRAME_PC(fromleaf, prev) (init_frame_pc_default (fromleaf, prev))
|
||||
#if defined (DEPRECATED_INIT_FRAME_PC)
|
||||
/* Legacy for systems yet to multi-arch DEPRECATED_INIT_FRAME_PC */
|
||||
#if !defined (DEPRECATED_INIT_FRAME_PC_P)
|
||||
#define DEPRECATED_INIT_FRAME_PC_P() (1)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef CORE_ADDR (gdbarch_init_frame_pc_ftype) (int fromleaf, struct frame_info *prev);
|
||||
extern CORE_ADDR gdbarch_init_frame_pc (struct gdbarch *gdbarch, int fromleaf, struct frame_info *prev);
|
||||
extern void set_gdbarch_init_frame_pc (struct gdbarch *gdbarch, gdbarch_init_frame_pc_ftype *init_frame_pc);
|
||||
#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (INIT_FRAME_PC)
|
||||
#error "Non multi-arch definition of INIT_FRAME_PC"
|
||||
/* Default predicate for non- multi-arch targets. */
|
||||
#if (!GDB_MULTI_ARCH) && !defined (DEPRECATED_INIT_FRAME_PC_P)
|
||||
#define DEPRECATED_INIT_FRAME_PC_P() (0)
|
||||
#endif
|
||||
|
||||
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
|
||||
#if GDB_MULTI_ARCH
|
||||
#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (INIT_FRAME_PC)
|
||||
#define INIT_FRAME_PC(fromleaf, prev) (gdbarch_init_frame_pc (current_gdbarch, fromleaf, prev))
|
||||
#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DEPRECATED_INIT_FRAME_PC)
|
||||
#define DEPRECATED_INIT_FRAME_PC(fromleaf, prev) (gdbarch_deprecated_init_frame_pc (current_gdbarch, fromleaf, prev))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -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
|
||||
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: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_TYPE:int:believe_pcc_promotion_type:::::::
|
||||
|
@ -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.
|
||||
This will be used to create a new GDB frame struct, and then
|
||||
INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame.
|
||||
/* Given a GDB frame, determine the address of the calling function's
|
||||
frame. This will be used to create a new GDB frame struct, and
|
||||
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
|
||||
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);
|
||||
|
||||
/* 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.
|
||||
*/
|
||||
|
@ -106,9 +106,10 @@ h8500_addr_bits_remove (CORE_ADDR addr)
|
||||
return ((addr) & 0xffffff);
|
||||
}
|
||||
|
||||
/* Given a GDB frame, determine the address of 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 will be called for the new frame.
|
||||
/* Given a GDB frame, determine the address of the calling function's
|
||||
frame. This will be used to create a new GDB frame struct, and
|
||||
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
|
||||
the function prologue to determine the caller's sp value, and return it. */
|
||||
|
@ -1080,9 +1080,10 @@ init_extra_frame_info (int fromleaf, struct frame_info *frame)
|
||||
frame->frame = read_register (SP_REGNUM) - framesize;
|
||||
}
|
||||
|
||||
/* Given a GDB frame, determine the address of 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 will be called for the new frame.
|
||||
/* Given a GDB frame, determine the address of the calling function's
|
||||
frame. This will be used to create a new GDB frame struct, and
|
||||
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
|
||||
at boundaries where GCC calls HP C code, or where code which has
|
||||
|
@ -331,7 +331,7 @@ i386_interix_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
||||
set_gdbarch_skip_trampoline_code (gdbarch,
|
||||
i386_interix_skip_trampoline_code);
|
||||
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_saved_pc (gdbarch, i386_interix_frame_saved_pc);
|
||||
set_gdbarch_name_of_malloc (gdbarch, "_malloc");
|
||||
|
@ -1519,6 +1519,10 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
tdep = XMALLOC (struct gdbarch_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;
|
||||
|
||||
/* The i386 default settings don't include the SSE registers.
|
||||
|
@ -2120,6 +2120,9 @@ ia64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
gdbarch = gdbarch_alloc (&info, tdep);
|
||||
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
|
||||
registers are saved. The method of checking to see if
|
||||
|
@ -470,11 +470,11 @@ m32r_find_callers_reg (struct frame_info *fi, int regnum)
|
||||
return read_register (regnum);
|
||||
}
|
||||
|
||||
/* Function: frame_chain
|
||||
Given a GDB frame, determine the address of 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 will be called for the new frame.
|
||||
For m32r, we save the frame size when we initialize the frame_info. */
|
||||
/* Function: frame_chain Given a GDB frame, determine the address of
|
||||
the calling function's frame. This will be used to create a new
|
||||
GDB frame struct, and then INIT_EXTRA_FRAME_INFO and
|
||||
DEPRECATED_INIT_FRAME_PC will be called for the new frame. For
|
||||
m32r, we save the frame size when we initialize the frame_info. */
|
||||
|
||||
CORE_ADDR
|
||||
m32r_frame_chain (struct frame_info *fi)
|
||||
|
@ -802,10 +802,10 @@ m68hc11_skip_prologue (CORE_ADDR pc)
|
||||
return pc;
|
||||
}
|
||||
|
||||
/* Given a GDB frame, determine the address of 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 will be called for the new frame.
|
||||
*/
|
||||
/* Given a GDB frame, determine the address of the calling function's
|
||||
frame. This will be used to create a new GDB frame struct, and
|
||||
then INIT_EXTRA_FRAME_INFO and DEPRECATED_INIT_FRAME_PC will be
|
||||
called for the new frame. */
|
||||
|
||||
static CORE_ADDR
|
||||
m68hc11_frame_chain (struct frame_info *frame)
|
||||
@ -1236,6 +1236,10 @@ m68hc11_gdbarch_init (struct gdbarch_info info,
|
||||
gdbarch = gdbarch_alloc (&info, tdep);
|
||||
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)
|
||||
{
|
||||
case bfd_arch_m68hc11:
|
||||
|
@ -983,6 +983,10 @@ m68k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
|
||||
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_bit (gdbarch, 96);
|
||||
|
||||
|
@ -638,9 +638,10 @@ mcore_analyze_prologue (struct frame_info *fi, CORE_ADDR pc, int skip_prologue)
|
||||
return addr;
|
||||
}
|
||||
|
||||
/* Given a GDB frame, determine the address of 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 will be called for the new frame. */
|
||||
/* Given a GDB frame, determine the address of the calling function's
|
||||
frame. This will be used to create a new GDB frame struct, and
|
||||
then INIT_EXTRA_FRAME_INFO and DEPRECATED_INIT_FRAME_PC will be
|
||||
called for the new frame. */
|
||||
|
||||
CORE_ADDR
|
||||
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);
|
||||
|
||||
/* 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: */
|
||||
|
||||
/* All registers are 32 bits */
|
||||
|
@ -5966,7 +5966,7 @@ mips_gdbarch_init (struct gdbarch_info info,
|
||||
/* There's a mess in stack frame creation. See comments in
|
||||
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_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. */
|
||||
set_gdbarch_stab_reg_to_regnum (gdbarch, mips_stab_reg_to_regnum);
|
||||
|
@ -1167,7 +1167,7 @@ mn10300_gdbarch_init (struct gdbarch_info info,
|
||||
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_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_chain (gdbarch, mn10300_frame_chain);
|
||||
set_gdbarch_frame_saved_pc (gdbarch, mn10300_frame_saved_pc);
|
||||
|
@ -560,6 +560,10 @@ ns32k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
tdep = xmalloc (sizeof (struct gdbarch_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;
|
||||
|
||||
/* Register info */
|
||||
|
@ -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. */
|
||||
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_char_signed (gdbarch, 0);
|
||||
|
||||
|
@ -918,9 +918,10 @@ gdb_print_insn_sh (bfd_vma memaddr, disassemble_info *info)
|
||||
return print_insn_sh (memaddr, info);
|
||||
}
|
||||
|
||||
/* Given a GDB frame, determine the address of 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 will be called for the new frame.
|
||||
/* Given a GDB frame, determine the address of the calling function's
|
||||
frame. This will be used to create a new GDB frame struct, and
|
||||
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
|
||||
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);
|
||||
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;
|
||||
|
||||
/* Initialize the register numbers that are not common to all the
|
||||
|
@ -1197,6 +1197,10 @@ v850_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
|
||||
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++)
|
||||
{
|
||||
if (v850_processor_type_table[i].mach == info.bfd_arch_info->mach)
|
||||
|
@ -632,6 +632,10 @@ vax_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
tdep = xmalloc (sizeof (struct gdbarch_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;
|
||||
|
||||
/* Register info */
|
||||
|
@ -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);
|
||||
|
||||
/* 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. */
|
||||
set_gdbarch_virtual_frame_pointer (gdbarch, cfi_virtual_frame_pointer);
|
||||
|
@ -1023,6 +1023,10 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
|
||||
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.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user