2004-02-09 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION): Predicate and function replacing FRAMELESS_FUNCTION_INVOCATION. * blockframe.c (legacy_frameless_look_for_prologue): Rename frameless_look_for_prologue. * frame.h (legacy_frameless_look_for_prologue): Rename frameless_look_for_prologue. * gdbarch.h, gdbarch.c: Re-generate. * sh64-tdep.c (sh64_gdbarch_init): Update. * sh-tdep.c (sh_gdbarch_init): Update. * s390-tdep.c (s390_gdbarch_init): Update. * rs6000-tdep.c (rs6000_gdbarch_init): Update. * ppc-linux-tdep.c (ppc_linux_init_abi): Update. * m68k-tdep.c (m68k_gdbarch_init): Update. (delta68_frame_args_address): Update. * m32r-tdep.c (m32r_gdbarch_init): Update. * hppa-tdep.c (hppa_gdbarch_init): Update. * h8300-tdep.c (h8300_gdbarch_init): Update. * frv-tdep.c (frv_gdbarch_init): Update. (frv_frameless_function_invocation): Update. * cris-tdep.c (cris_gdbarch_init): Update. (cris_frameless_function_invocation): Update. * avr-tdep.c (avr_gdbarch_init): Update. * arm-tdep.c (arm_gdbarch_init): Update. * stack.c (frame_info): Update, call predicate. * rs6000-tdep.c (rs6000_frame_chain): Update, call predicate.. * frame.c (legacy_get_prev_frame): Update, call predicate.. * arch-utils.c (generic_frameless_function_invocation_not): Delete. * arch-utils.h (generic_frameless_function_invocation_not): Delete. * alpha-tdep.c (alpha_gdbarch_init): Do not set frameless function invocation. * d10v-tdep.c (d10v_gdbarch_init): Ditto. * ns32k-tdep.c (ns32k_gdbarch_init): Ditto. * vax-tdep.c (vax_gdbarch_init): Ditto.
This commit is contained in:
parent
2be8b3c132
commit
19772a2ce2
29 changed files with 136 additions and 88 deletions
|
@ -1,4 +1,38 @@
|
||||||
2004-02-16 Andrew Cagney <cagney@redhat.com>
|
2004-02-09 Andrew Cagney <cagney@redhat.com>
|
||||||
|
|
||||||
|
* gdbarch.sh (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION): Predicate
|
||||||
|
and function replacing FRAMELESS_FUNCTION_INVOCATION.
|
||||||
|
* blockframe.c (legacy_frameless_look_for_prologue): Rename
|
||||||
|
frameless_look_for_prologue.
|
||||||
|
* frame.h (legacy_frameless_look_for_prologue): Rename
|
||||||
|
frameless_look_for_prologue.
|
||||||
|
* gdbarch.h, gdbarch.c: Re-generate.
|
||||||
|
* sh64-tdep.c (sh64_gdbarch_init): Update.
|
||||||
|
* sh-tdep.c (sh_gdbarch_init): Update.
|
||||||
|
* s390-tdep.c (s390_gdbarch_init): Update.
|
||||||
|
* rs6000-tdep.c (rs6000_gdbarch_init): Update.
|
||||||
|
* ppc-linux-tdep.c (ppc_linux_init_abi): Update.
|
||||||
|
* m68k-tdep.c (m68k_gdbarch_init): Update.
|
||||||
|
(delta68_frame_args_address): Update.
|
||||||
|
* m32r-tdep.c (m32r_gdbarch_init): Update.
|
||||||
|
* hppa-tdep.c (hppa_gdbarch_init): Update.
|
||||||
|
* h8300-tdep.c (h8300_gdbarch_init): Update.
|
||||||
|
* frv-tdep.c (frv_gdbarch_init): Update.
|
||||||
|
(frv_frameless_function_invocation): Update.
|
||||||
|
* cris-tdep.c (cris_gdbarch_init): Update.
|
||||||
|
(cris_frameless_function_invocation): Update.
|
||||||
|
* avr-tdep.c (avr_gdbarch_init): Update.
|
||||||
|
* arm-tdep.c (arm_gdbarch_init): Update.
|
||||||
|
* stack.c (frame_info): Update, call predicate.
|
||||||
|
* rs6000-tdep.c (rs6000_frame_chain): Update, call predicate..
|
||||||
|
* frame.c (legacy_get_prev_frame): Update, call predicate..
|
||||||
|
* arch-utils.c (generic_frameless_function_invocation_not): Delete.
|
||||||
|
* arch-utils.h (generic_frameless_function_invocation_not): Delete.
|
||||||
|
* alpha-tdep.c (alpha_gdbarch_init): Do not set frameless function
|
||||||
|
invocation.
|
||||||
|
* d10v-tdep.c (d10v_gdbarch_init): Ditto.
|
||||||
|
* ns32k-tdep.c (ns32k_gdbarch_init): Ditto.
|
||||||
|
* vax-tdep.c (vax_gdbarch_init): Ditto.
|
||||||
|
|
||||||
* arm-tdep.c (arm_set_call_dummy_breakpoint_offset): Delete unused
|
* arm-tdep.c (arm_set_call_dummy_breakpoint_offset): Delete unused
|
||||||
function.
|
function.
|
||||||
|
|
|
@ -1531,8 +1531,6 @@ alpha_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
set_gdbarch_print_insn (gdbarch, print_insn_alpha);
|
set_gdbarch_print_insn (gdbarch, print_insn_alpha);
|
||||||
|
|
||||||
/* Call info. */
|
/* Call info. */
|
||||||
set_gdbarch_frameless_function_invocation (gdbarch,
|
|
||||||
generic_frameless_function_invocation_not);
|
|
||||||
|
|
||||||
set_gdbarch_use_struct_convention (gdbarch, always_use_struct_convention);
|
set_gdbarch_use_struct_convention (gdbarch, always_use_struct_convention);
|
||||||
set_gdbarch_extract_return_value (gdbarch, alpha_extract_return_value);
|
set_gdbarch_extract_return_value (gdbarch, alpha_extract_return_value);
|
||||||
|
|
|
@ -84,12 +84,6 @@ legacy_register_sim_regno (int regnum)
|
||||||
return LEGACY_SIM_REGNO_IGNORE;
|
return LEGACY_SIM_REGNO_IGNORE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
generic_frameless_function_invocation_not (struct frame_info *fi)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
int
|
||||||
generic_return_value_on_stack_not (struct type *type)
|
generic_return_value_on_stack_not (struct type *type)
|
||||||
{
|
{
|
||||||
|
|
|
@ -43,9 +43,6 @@ extern gdbarch_store_return_value_ftype legacy_store_return_value;
|
||||||
address passed as an invisible first argument to the function. */
|
address passed as an invisible first argument to the function. */
|
||||||
extern gdbarch_use_struct_convention_ftype always_use_struct_convention;
|
extern gdbarch_use_struct_convention_ftype always_use_struct_convention;
|
||||||
|
|
||||||
/* Frameless functions not identifable. */
|
|
||||||
extern gdbarch_frameless_function_invocation_ftype generic_frameless_function_invocation_not;
|
|
||||||
|
|
||||||
/* Only structures, unions, and arrays are returned using the struct
|
/* Only structures, unions, and arrays are returned using the struct
|
||||||
convention. Note that arrays are never passed by value in the C
|
convention. Note that arrays are never passed by value in the C
|
||||||
language family, so that case is irrelevant for C. */
|
language family, so that case is irrelevant for C. */
|
||||||
|
|
|
@ -2744,8 +2744,7 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
set_gdbarch_unwind_pc (gdbarch, arm_unwind_pc);
|
set_gdbarch_unwind_pc (gdbarch, arm_unwind_pc);
|
||||||
set_gdbarch_unwind_sp (gdbarch, arm_unwind_sp);
|
set_gdbarch_unwind_sp (gdbarch, arm_unwind_sp);
|
||||||
|
|
||||||
set_gdbarch_frameless_function_invocation
|
set_gdbarch_deprecated_frameless_function_invocation (gdbarch, arm_frameless_function_invocation);
|
||||||
(gdbarch, arm_frameless_function_invocation);
|
|
||||||
|
|
||||||
frame_base_set_default (gdbarch, &arm_normal_base);
|
frame_base_set_default (gdbarch, &arm_normal_base);
|
||||||
|
|
||||||
|
|
|
@ -1309,8 +1309,7 @@ avr_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
|
|
||||||
set_gdbarch_breakpoint_from_pc (gdbarch, avr_breakpoint_from_pc);
|
set_gdbarch_breakpoint_from_pc (gdbarch, avr_breakpoint_from_pc);
|
||||||
|
|
||||||
set_gdbarch_frameless_function_invocation (gdbarch,
|
set_gdbarch_deprecated_frameless_function_invocation (gdbarch, legacy_frameless_look_for_prologue);
|
||||||
frameless_look_for_prologue);
|
|
||||||
|
|
||||||
frame_unwind_append_sniffer (gdbarch, avr_frame_sniffer);
|
frame_unwind_append_sniffer (gdbarch, avr_frame_sniffer);
|
||||||
frame_base_set_default (gdbarch, &avr_frame_base);
|
frame_base_set_default (gdbarch, &avr_frame_base);
|
||||||
|
|
|
@ -185,12 +185,12 @@ legacy_inside_entry_func (CORE_ADDR pc)
|
||||||
&& symfile_objfile->ei.entry_func_highpc > pc);
|
&& symfile_objfile->ei.entry_func_highpc > pc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return nonzero if the function for this frame lacks a prologue. Many
|
/* Return nonzero if the function for this frame lacks a prologue.
|
||||||
machines can define FRAMELESS_FUNCTION_INVOCATION to just call this
|
Many machines can define DEPRECATED_FRAMELESS_FUNCTION_INVOCATION
|
||||||
function. */
|
to just call this function. */
|
||||||
|
|
||||||
int
|
int
|
||||||
frameless_look_for_prologue (struct frame_info *frame)
|
legacy_frameless_look_for_prologue (struct frame_info *frame)
|
||||||
{
|
{
|
||||||
CORE_ADDR func_start;
|
CORE_ADDR func_start;
|
||||||
|
|
||||||
|
|
|
@ -1083,7 +1083,7 @@ cris_frameless_function_invocation (struct frame_info *fi)
|
||||||
if ((get_frame_type (fi) == SIGTRAMP_FRAME))
|
if ((get_frame_type (fi) == SIGTRAMP_FRAME))
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else
|
||||||
return frameless_look_for_prologue (fi);
|
return legacy_frameless_look_for_prologue (fi);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* See frame.h. Determines the address of all registers in the
|
/* See frame.h. Determines the address of all registers in the
|
||||||
|
@ -4174,8 +4174,7 @@ cris_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
|
|
||||||
set_gdbarch_breakpoint_from_pc (gdbarch, cris_breakpoint_from_pc);
|
set_gdbarch_breakpoint_from_pc (gdbarch, cris_breakpoint_from_pc);
|
||||||
|
|
||||||
set_gdbarch_frameless_function_invocation
|
set_gdbarch_deprecated_frameless_function_invocation (gdbarch, cris_frameless_function_invocation);
|
||||||
(gdbarch, cris_frameless_function_invocation);
|
|
||||||
set_gdbarch_deprecated_frame_chain (gdbarch, cris_frame_chain);
|
set_gdbarch_deprecated_frame_chain (gdbarch, cris_frame_chain);
|
||||||
|
|
||||||
set_gdbarch_deprecated_frame_saved_pc (gdbarch, cris_frame_saved_pc);
|
set_gdbarch_deprecated_frame_saved_pc (gdbarch, cris_frame_saved_pc);
|
||||||
|
|
|
@ -1515,9 +1515,6 @@ d10v_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
set_gdbarch_remote_translate_xfer_address (gdbarch,
|
set_gdbarch_remote_translate_xfer_address (gdbarch,
|
||||||
remote_d10v_translate_xfer_address);
|
remote_d10v_translate_xfer_address);
|
||||||
|
|
||||||
set_gdbarch_frameless_function_invocation (gdbarch,
|
|
||||||
frameless_look_for_prologue);
|
|
||||||
|
|
||||||
set_gdbarch_frame_align (gdbarch, d10v_frame_align);
|
set_gdbarch_frame_align (gdbarch, d10v_frame_align);
|
||||||
|
|
||||||
set_gdbarch_register_sim_regno (gdbarch, d10v_register_sim_regno);
|
set_gdbarch_register_sim_regno (gdbarch, d10v_register_sim_regno);
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2004-02-16 Andrew Cagney <cagney@redhat.com>
|
||||||
|
|
||||||
|
* gdbint.texinfo (Target Architecture Definition): Deprecate
|
||||||
|
FRAMELESS_FUNCTION_INVOCATION.
|
||||||
|
|
||||||
2004-02-16 Andrew Cagney <cagney@redhat.com>
|
2004-02-16 Andrew Cagney <cagney@redhat.com>
|
||||||
|
|
||||||
* gdbint.texinfo (Coding): Mention -Wunused-function.
|
* gdbint.texinfo (Coding): Mention -Wunused-function.
|
||||||
|
|
|
@ -3189,8 +3189,8 @@ macro to be the number (greater than or equal to zero) of that register.
|
||||||
This should only need to be defined if @code{DEPRECATED_TARGET_READ_FP}
|
This should only need to be defined if @code{DEPRECATED_TARGET_READ_FP}
|
||||||
is not defined.
|
is not defined.
|
||||||
|
|
||||||
@item FRAMELESS_FUNCTION_INVOCATION(@var{fi})
|
@item DEPRECATED_FRAMELESS_FUNCTION_INVOCATION(@var{fi})
|
||||||
@findex FRAMELESS_FUNCTION_INVOCATION
|
@findex DEPRECATED_FRAMELESS_FUNCTION_INVOCATION
|
||||||
Define this to an expression that returns 1 if the function invocation
|
Define this to an expression that returns 1 if the function invocation
|
||||||
represented by @var{fi} does not have a stack frame associated with it.
|
represented by @var{fi} does not have a stack frame associated with it.
|
||||||
Otherwise return 0.
|
Otherwise return 0.
|
||||||
|
|
|
@ -1449,7 +1449,8 @@ legacy_get_prev_frame (struct frame_info *this_frame)
|
||||||
the frame chain, not just the inner most frame! The generic,
|
the frame chain, not just the inner most frame! The generic,
|
||||||
per-architecture, frame code should handle this and the below
|
per-architecture, frame code should handle this and the below
|
||||||
should simply be removed. */
|
should simply be removed. */
|
||||||
fromleaf = FRAMELESS_FUNCTION_INVOCATION (this_frame);
|
fromleaf = (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P ()
|
||||||
|
&& DEPRECATED_FRAMELESS_FUNCTION_INVOCATION (this_frame));
|
||||||
else
|
else
|
||||||
fromleaf = 0;
|
fromleaf = 0;
|
||||||
|
|
||||||
|
|
|
@ -544,7 +544,7 @@ extern struct symbol *get_frame_function (struct frame_info *);
|
||||||
|
|
||||||
extern CORE_ADDR get_pc_function_start (CORE_ADDR);
|
extern CORE_ADDR get_pc_function_start (CORE_ADDR);
|
||||||
|
|
||||||
extern int frameless_look_for_prologue (struct frame_info *);
|
extern int legacy_frameless_look_for_prologue (struct frame_info *);
|
||||||
|
|
||||||
extern struct frame_info *find_relative_frame (struct frame_info *, int *);
|
extern struct frame_info *find_relative_frame (struct frame_info *, int *);
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,6 @@ static gdbarch_register_name_ftype frv_register_name;
|
||||||
static gdbarch_breakpoint_from_pc_ftype frv_breakpoint_from_pc;
|
static gdbarch_breakpoint_from_pc_ftype frv_breakpoint_from_pc;
|
||||||
static gdbarch_adjust_breakpoint_address_ftype frv_gdbarch_adjust_breakpoint_address;
|
static gdbarch_adjust_breakpoint_address_ftype frv_gdbarch_adjust_breakpoint_address;
|
||||||
static gdbarch_skip_prologue_ftype frv_skip_prologue;
|
static gdbarch_skip_prologue_ftype frv_skip_prologue;
|
||||||
static gdbarch_frameless_function_invocation_ftype frv_frameless_function_invocation;
|
|
||||||
|
|
||||||
/* Register numbers. The order in which these appear define the
|
/* Register numbers. The order in which these appear define the
|
||||||
remote protocol, so take care in changing them. */
|
remote protocol, so take care in changing them. */
|
||||||
|
@ -1030,7 +1029,7 @@ frv_store_struct_return (CORE_ADDR addr, CORE_ADDR sp)
|
||||||
static int
|
static int
|
||||||
frv_frameless_function_invocation (struct frame_info *frame)
|
frv_frameless_function_invocation (struct frame_info *frame)
|
||||||
{
|
{
|
||||||
return frameless_look_for_prologue (frame);
|
return legacy_frameless_look_for_prologue (frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
static CORE_ADDR
|
static CORE_ADDR
|
||||||
|
@ -1391,7 +1390,7 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
set_gdbarch_breakpoint_from_pc (gdbarch, frv_breakpoint_from_pc);
|
set_gdbarch_breakpoint_from_pc (gdbarch, frv_breakpoint_from_pc);
|
||||||
set_gdbarch_adjust_breakpoint_address (gdbarch, frv_gdbarch_adjust_breakpoint_address);
|
set_gdbarch_adjust_breakpoint_address (gdbarch, frv_gdbarch_adjust_breakpoint_address);
|
||||||
|
|
||||||
set_gdbarch_frameless_function_invocation (gdbarch, frv_frameless_function_invocation);
|
set_gdbarch_deprecated_frameless_function_invocation (gdbarch, frv_frameless_function_invocation);
|
||||||
|
|
||||||
set_gdbarch_use_struct_convention (gdbarch, always_use_struct_convention);
|
set_gdbarch_use_struct_convention (gdbarch, always_use_struct_convention);
|
||||||
set_gdbarch_extract_return_value (gdbarch, frv_extract_return_value);
|
set_gdbarch_extract_return_value (gdbarch, frv_extract_return_value);
|
||||||
|
|
|
@ -217,7 +217,7 @@ struct gdbarch
|
||||||
CORE_ADDR function_start_offset;
|
CORE_ADDR function_start_offset;
|
||||||
gdbarch_remote_translate_xfer_address_ftype *remote_translate_xfer_address;
|
gdbarch_remote_translate_xfer_address_ftype *remote_translate_xfer_address;
|
||||||
CORE_ADDR frame_args_skip;
|
CORE_ADDR frame_args_skip;
|
||||||
gdbarch_frameless_function_invocation_ftype *frameless_function_invocation;
|
gdbarch_deprecated_frameless_function_invocation_ftype *deprecated_frameless_function_invocation;
|
||||||
gdbarch_deprecated_frame_chain_ftype *deprecated_frame_chain;
|
gdbarch_deprecated_frame_chain_ftype *deprecated_frame_chain;
|
||||||
gdbarch_deprecated_frame_chain_valid_ftype *deprecated_frame_chain_valid;
|
gdbarch_deprecated_frame_chain_valid_ftype *deprecated_frame_chain_valid;
|
||||||
gdbarch_deprecated_frame_saved_pc_ftype *deprecated_frame_saved_pc;
|
gdbarch_deprecated_frame_saved_pc_ftype *deprecated_frame_saved_pc;
|
||||||
|
@ -384,7 +384,7 @@ struct gdbarch startup_gdbarch =
|
||||||
0, /* function_start_offset */
|
0, /* function_start_offset */
|
||||||
generic_remote_translate_xfer_address, /* remote_translate_xfer_address */
|
generic_remote_translate_xfer_address, /* remote_translate_xfer_address */
|
||||||
0, /* frame_args_skip */
|
0, /* frame_args_skip */
|
||||||
0, /* frameless_function_invocation */
|
0, /* deprecated_frameless_function_invocation */
|
||||||
0, /* deprecated_frame_chain */
|
0, /* deprecated_frame_chain */
|
||||||
0, /* deprecated_frame_chain_valid */
|
0, /* deprecated_frame_chain_valid */
|
||||||
0, /* deprecated_frame_saved_pc */
|
0, /* deprecated_frame_saved_pc */
|
||||||
|
@ -512,7 +512,6 @@ gdbarch_alloc (const struct gdbarch_info *info,
|
||||||
current_gdbarch->memory_insert_breakpoint = default_memory_insert_breakpoint;
|
current_gdbarch->memory_insert_breakpoint = default_memory_insert_breakpoint;
|
||||||
current_gdbarch->memory_remove_breakpoint = default_memory_remove_breakpoint;
|
current_gdbarch->memory_remove_breakpoint = default_memory_remove_breakpoint;
|
||||||
current_gdbarch->remote_translate_xfer_address = generic_remote_translate_xfer_address;
|
current_gdbarch->remote_translate_xfer_address = generic_remote_translate_xfer_address;
|
||||||
current_gdbarch->frameless_function_invocation = generic_frameless_function_invocation_not;
|
|
||||||
current_gdbarch->deprecated_frame_args_address = get_frame_base;
|
current_gdbarch->deprecated_frame_args_address = get_frame_base;
|
||||||
current_gdbarch->deprecated_frame_locals_address = get_frame_base;
|
current_gdbarch->deprecated_frame_locals_address = get_frame_base;
|
||||||
current_gdbarch->stabs_argument_has_addr = default_stabs_argument_has_addr;
|
current_gdbarch->stabs_argument_has_addr = default_stabs_argument_has_addr;
|
||||||
|
@ -690,7 +689,7 @@ verify_gdbarch (struct gdbarch *current_gdbarch)
|
||||||
/* Skip verify of function_start_offset, invalid_p == 0 */
|
/* Skip verify of function_start_offset, invalid_p == 0 */
|
||||||
/* Skip verify of remote_translate_xfer_address, invalid_p == 0 */
|
/* Skip verify of remote_translate_xfer_address, invalid_p == 0 */
|
||||||
/* Skip verify of frame_args_skip, invalid_p == 0 */
|
/* Skip verify of frame_args_skip, invalid_p == 0 */
|
||||||
/* Skip verify of frameless_function_invocation, invalid_p == 0 */
|
/* Skip verify of deprecated_frameless_function_invocation, has predicate */
|
||||||
/* Skip verify of deprecated_frame_chain, has predicate */
|
/* Skip verify of deprecated_frame_chain, has predicate */
|
||||||
/* Skip verify of deprecated_frame_chain_valid, has predicate */
|
/* Skip verify of deprecated_frame_chain_valid, has predicate */
|
||||||
/* Skip verify of deprecated_frame_saved_pc, has predicate */
|
/* Skip verify of deprecated_frame_saved_pc, has predicate */
|
||||||
|
@ -1079,6 +1078,25 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
|
||||||
"gdbarch_dump: DEPRECATED_FP_REGNUM = %d\n",
|
"gdbarch_dump: DEPRECATED_FP_REGNUM = %d\n",
|
||||||
DEPRECATED_FP_REGNUM);
|
DEPRECATED_FP_REGNUM);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P
|
||||||
|
fprintf_unfiltered (file,
|
||||||
|
"gdbarch_dump: %s # %s\n",
|
||||||
|
"DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P()",
|
||||||
|
XSTRING (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P ()));
|
||||||
|
fprintf_unfiltered (file,
|
||||||
|
"gdbarch_dump: DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P() = %d\n",
|
||||||
|
DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P ());
|
||||||
|
#endif
|
||||||
|
#ifdef DEPRECATED_FRAMELESS_FUNCTION_INVOCATION
|
||||||
|
fprintf_unfiltered (file,
|
||||||
|
"gdbarch_dump: %s # %s\n",
|
||||||
|
"DEPRECATED_FRAMELESS_FUNCTION_INVOCATION(fi)",
|
||||||
|
XSTRING (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION (fi)));
|
||||||
|
fprintf_unfiltered (file,
|
||||||
|
"gdbarch_dump: DEPRECATED_FRAMELESS_FUNCTION_INVOCATION = <0x%08lx>\n",
|
||||||
|
(long) current_gdbarch->deprecated_frameless_function_invocation
|
||||||
|
/*DEPRECATED_FRAMELESS_FUNCTION_INVOCATION ()*/);
|
||||||
|
#endif
|
||||||
#ifdef DEPRECATED_FRAME_ARGS_ADDRESS_P
|
#ifdef DEPRECATED_FRAME_ARGS_ADDRESS_P
|
||||||
fprintf_unfiltered (file,
|
fprintf_unfiltered (file,
|
||||||
"gdbarch_dump: %s # %s\n",
|
"gdbarch_dump: %s # %s\n",
|
||||||
|
@ -1746,16 +1764,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
|
||||||
"gdbarch_dump: FP0_REGNUM = %d\n",
|
"gdbarch_dump: FP0_REGNUM = %d\n",
|
||||||
FP0_REGNUM);
|
FP0_REGNUM);
|
||||||
#endif
|
#endif
|
||||||
#ifdef FRAMELESS_FUNCTION_INVOCATION
|
|
||||||
fprintf_unfiltered (file,
|
|
||||||
"gdbarch_dump: %s # %s\n",
|
|
||||||
"FRAMELESS_FUNCTION_INVOCATION(fi)",
|
|
||||||
XSTRING (FRAMELESS_FUNCTION_INVOCATION (fi)));
|
|
||||||
fprintf_unfiltered (file,
|
|
||||||
"gdbarch_dump: FRAMELESS_FUNCTION_INVOCATION = <0x%08lx>\n",
|
|
||||||
(long) current_gdbarch->frameless_function_invocation
|
|
||||||
/*FRAMELESS_FUNCTION_INVOCATION ()*/);
|
|
||||||
#endif
|
|
||||||
#ifdef FRAME_ARGS_SKIP
|
#ifdef FRAME_ARGS_SKIP
|
||||||
fprintf_unfiltered (file,
|
fprintf_unfiltered (file,
|
||||||
"gdbarch_dump: FRAME_ARGS_SKIP # %s\n",
|
"gdbarch_dump: FRAME_ARGS_SKIP # %s\n",
|
||||||
|
@ -4475,20 +4483,27 @@ set_gdbarch_frame_args_skip (struct gdbarch *gdbarch,
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
gdbarch_frameless_function_invocation (struct gdbarch *gdbarch, struct frame_info *fi)
|
gdbarch_deprecated_frameless_function_invocation_p (struct gdbarch *gdbarch)
|
||||||
{
|
{
|
||||||
gdb_assert (gdbarch != NULL);
|
gdb_assert (gdbarch != NULL);
|
||||||
gdb_assert (gdbarch->frameless_function_invocation != NULL);
|
return gdbarch->deprecated_frameless_function_invocation != NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
gdbarch_deprecated_frameless_function_invocation (struct gdbarch *gdbarch, struct frame_info *fi)
|
||||||
|
{
|
||||||
|
gdb_assert (gdbarch != NULL);
|
||||||
|
gdb_assert (gdbarch->deprecated_frameless_function_invocation != NULL);
|
||||||
if (gdbarch_debug >= 2)
|
if (gdbarch_debug >= 2)
|
||||||
fprintf_unfiltered (gdb_stdlog, "gdbarch_frameless_function_invocation called\n");
|
fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frameless_function_invocation called\n");
|
||||||
return gdbarch->frameless_function_invocation (fi);
|
return gdbarch->deprecated_frameless_function_invocation (fi);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
set_gdbarch_frameless_function_invocation (struct gdbarch *gdbarch,
|
set_gdbarch_deprecated_frameless_function_invocation (struct gdbarch *gdbarch,
|
||||||
gdbarch_frameless_function_invocation_ftype frameless_function_invocation)
|
gdbarch_deprecated_frameless_function_invocation_ftype deprecated_frameless_function_invocation)
|
||||||
{
|
{
|
||||||
gdbarch->frameless_function_invocation = frameless_function_invocation;
|
gdbarch->deprecated_frameless_function_invocation = deprecated_frameless_function_invocation;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1641,14 +1641,33 @@ extern void set_gdbarch_frame_args_skip (struct gdbarch *gdbarch, CORE_ADDR fram
|
||||||
#define FRAME_ARGS_SKIP (gdbarch_frame_args_skip (current_gdbarch))
|
#define FRAME_ARGS_SKIP (gdbarch_frame_args_skip (current_gdbarch))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef int (gdbarch_frameless_function_invocation_ftype) (struct frame_info *fi);
|
/* DEPRECATED_FRAMELESS_FUNCTION_INVOCATION is not needed. The new
|
||||||
extern int gdbarch_frameless_function_invocation (struct gdbarch *gdbarch, struct frame_info *fi);
|
frame code works regardless of the type of frame - frameless,
|
||||||
extern void set_gdbarch_frameless_function_invocation (struct gdbarch *gdbarch, gdbarch_frameless_function_invocation_ftype *frameless_function_invocation);
|
stackless, or normal. */
|
||||||
#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (FRAMELESS_FUNCTION_INVOCATION)
|
|
||||||
#error "Non multi-arch definition of FRAMELESS_FUNCTION_INVOCATION"
|
#if defined (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION)
|
||||||
|
/* Legacy for systems yet to multi-arch DEPRECATED_FRAMELESS_FUNCTION_INVOCATION */
|
||||||
|
#if !defined (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P)
|
||||||
|
#define DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P() (1)
|
||||||
#endif
|
#endif
|
||||||
#if !defined (FRAMELESS_FUNCTION_INVOCATION)
|
#endif
|
||||||
#define FRAMELESS_FUNCTION_INVOCATION(fi) (gdbarch_frameless_function_invocation (current_gdbarch, fi))
|
|
||||||
|
extern int gdbarch_deprecated_frameless_function_invocation_p (struct gdbarch *gdbarch);
|
||||||
|
#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P)
|
||||||
|
#error "Non multi-arch definition of DEPRECATED_FRAMELESS_FUNCTION_INVOCATION"
|
||||||
|
#endif
|
||||||
|
#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P)
|
||||||
|
#define DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P() (gdbarch_deprecated_frameless_function_invocation_p (current_gdbarch))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef int (gdbarch_deprecated_frameless_function_invocation_ftype) (struct frame_info *fi);
|
||||||
|
extern int gdbarch_deprecated_frameless_function_invocation (struct gdbarch *gdbarch, struct frame_info *fi);
|
||||||
|
extern void set_gdbarch_deprecated_frameless_function_invocation (struct gdbarch *gdbarch, gdbarch_deprecated_frameless_function_invocation_ftype *deprecated_frameless_function_invocation);
|
||||||
|
#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION)
|
||||||
|
#error "Non multi-arch definition of DEPRECATED_FRAMELESS_FUNCTION_INVOCATION"
|
||||||
|
#endif
|
||||||
|
#if !defined (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION)
|
||||||
|
#define DEPRECATED_FRAMELESS_FUNCTION_INVOCATION(fi) (gdbarch_deprecated_frameless_function_invocation (current_gdbarch, fi))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (DEPRECATED_FRAME_CHAIN)
|
#if defined (DEPRECATED_FRAME_CHAIN)
|
||||||
|
|
|
@ -645,7 +645,10 @@ v:2:FUNCTION_START_OFFSET:CORE_ADDR:function_start_offset::::0:::0
|
||||||
m::REMOTE_TRANSLATE_XFER_ADDRESS:void:remote_translate_xfer_address:struct regcache *regcache, CORE_ADDR gdb_addr, int gdb_len, CORE_ADDR *rem_addr, int *rem_len:regcache, gdb_addr, gdb_len, rem_addr, rem_len:::generic_remote_translate_xfer_address::0
|
m::REMOTE_TRANSLATE_XFER_ADDRESS:void:remote_translate_xfer_address:struct regcache *regcache, CORE_ADDR gdb_addr, int gdb_len, CORE_ADDR *rem_addr, int *rem_len:regcache, gdb_addr, gdb_len, rem_addr, rem_len:::generic_remote_translate_xfer_address::0
|
||||||
#
|
#
|
||||||
v::FRAME_ARGS_SKIP:CORE_ADDR:frame_args_skip::::0:::0
|
v::FRAME_ARGS_SKIP:CORE_ADDR:frame_args_skip::::0:::0
|
||||||
f:2:FRAMELESS_FUNCTION_INVOCATION:int:frameless_function_invocation:struct frame_info *fi:fi:::generic_frameless_function_invocation_not::0
|
# DEPRECATED_FRAMELESS_FUNCTION_INVOCATION is not needed. The new
|
||||||
|
# frame code works regardless of the type of frame - frameless,
|
||||||
|
# stackless, or normal.
|
||||||
|
F::DEPRECATED_FRAMELESS_FUNCTION_INVOCATION:int:deprecated_frameless_function_invocation:struct frame_info *fi:fi
|
||||||
F:2:DEPRECATED_FRAME_CHAIN:CORE_ADDR:deprecated_frame_chain:struct frame_info *frame:frame
|
F:2:DEPRECATED_FRAME_CHAIN:CORE_ADDR:deprecated_frame_chain:struct frame_info *frame:frame
|
||||||
F:2:DEPRECATED_FRAME_CHAIN_VALID:int:deprecated_frame_chain_valid:CORE_ADDR chain, struct frame_info *thisframe:chain, thisframe
|
F:2:DEPRECATED_FRAME_CHAIN_VALID:int:deprecated_frame_chain_valid:CORE_ADDR chain, struct frame_info *thisframe:chain, thisframe
|
||||||
# DEPRECATED_FRAME_SAVED_PC has been replaced by UNWIND_PC. Please
|
# DEPRECATED_FRAME_SAVED_PC has been replaced by UNWIND_PC. Please
|
||||||
|
|
|
@ -1323,9 +1323,7 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
*/
|
*/
|
||||||
/* Stack grows up. */
|
/* Stack grows up. */
|
||||||
set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
|
set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
|
||||||
/* This value is almost never non-zero... */
|
set_gdbarch_deprecated_frameless_function_invocation (gdbarch, legacy_frameless_look_for_prologue);
|
||||||
set_gdbarch_frameless_function_invocation (gdbarch,
|
|
||||||
frameless_look_for_prologue);
|
|
||||||
|
|
||||||
set_gdbarch_deprecated_extract_struct_value_address (gdbarch, h8300_extract_struct_value_address);
|
set_gdbarch_deprecated_extract_struct_value_address (gdbarch, h8300_extract_struct_value_address);
|
||||||
set_gdbarch_use_struct_convention (gdbarch, always_use_struct_convention);
|
set_gdbarch_use_struct_convention (gdbarch, always_use_struct_convention);
|
||||||
|
|
|
@ -5217,8 +5217,7 @@ hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
set_gdbarch_deprecated_init_extra_frame_info (gdbarch, hppa_init_extra_frame_info);
|
set_gdbarch_deprecated_init_extra_frame_info (gdbarch, hppa_init_extra_frame_info);
|
||||||
set_gdbarch_deprecated_frame_chain (gdbarch, hppa_frame_chain);
|
set_gdbarch_deprecated_frame_chain (gdbarch, hppa_frame_chain);
|
||||||
set_gdbarch_deprecated_frame_chain_valid (gdbarch, hppa_frame_chain_valid);
|
set_gdbarch_deprecated_frame_chain_valid (gdbarch, hppa_frame_chain_valid);
|
||||||
set_gdbarch_frameless_function_invocation
|
set_gdbarch_deprecated_frameless_function_invocation (gdbarch, hppa_frameless_function_invocation);
|
||||||
(gdbarch, hppa_frameless_function_invocation);
|
|
||||||
set_gdbarch_deprecated_frame_saved_pc (gdbarch, hppa_frame_saved_pc);
|
set_gdbarch_deprecated_frame_saved_pc (gdbarch, hppa_frame_saved_pc);
|
||||||
set_gdbarch_deprecated_pop_frame (gdbarch, hppa_pop_frame);
|
set_gdbarch_deprecated_pop_frame (gdbarch, hppa_pop_frame);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -950,8 +950,7 @@ m32r_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
set_gdbarch_memory_remove_breakpoint (gdbarch,
|
set_gdbarch_memory_remove_breakpoint (gdbarch,
|
||||||
m32r_memory_remove_breakpoint);
|
m32r_memory_remove_breakpoint);
|
||||||
|
|
||||||
set_gdbarch_frameless_function_invocation (gdbarch,
|
set_gdbarch_deprecated_frameless_function_invocation (gdbarch, legacy_frameless_look_for_prologue);
|
||||||
frameless_look_for_prologue);
|
|
||||||
|
|
||||||
set_gdbarch_frame_align (gdbarch, m32r_frame_align);
|
set_gdbarch_frame_align (gdbarch, m32r_frame_align);
|
||||||
|
|
||||||
|
|
|
@ -232,7 +232,7 @@ m68k_frameless_function_invocation (struct frame_info *fi)
|
||||||
if (get_frame_type (fi) == SIGTRAMP_FRAME)
|
if (get_frame_type (fi) == SIGTRAMP_FRAME)
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else
|
||||||
return frameless_look_for_prologue (fi);
|
return legacy_frameless_look_for_prologue (fi);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -251,7 +251,7 @@ delta68_frame_args_address (struct frame_info *frame_info)
|
||||||
or other functions who do not put anything on the stack. */
|
or other functions who do not put anything on the stack. */
|
||||||
if (get_frame_type (frame_info) == SIGTRAMP_FRAME)
|
if (get_frame_type (frame_info) == SIGTRAMP_FRAME)
|
||||||
return get_frame_base (frame_info) + 12;
|
return get_frame_base (frame_info) + 12;
|
||||||
else if (frameless_look_for_prologue (frame_info))
|
else if (legacy_frameless_look_for_prologue (frame_info))
|
||||||
{
|
{
|
||||||
/* Check for an interrupted system call */
|
/* Check for an interrupted system call */
|
||||||
if (get_next_frame (frame_info) && (get_frame_type (get_next_frame (frame_info)) == SIGTRAMP_FRAME))
|
if (get_next_frame (frame_info) && (get_frame_type (get_next_frame (frame_info)) == SIGTRAMP_FRAME))
|
||||||
|
@ -1073,8 +1073,7 @@ m68k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
set_gdbarch_deprecated_extract_struct_value_address (gdbarch, m68k_extract_struct_value_address);
|
set_gdbarch_deprecated_extract_struct_value_address (gdbarch, m68k_extract_struct_value_address);
|
||||||
set_gdbarch_use_struct_convention (gdbarch, m68k_use_struct_convention);
|
set_gdbarch_use_struct_convention (gdbarch, m68k_use_struct_convention);
|
||||||
|
|
||||||
set_gdbarch_frameless_function_invocation (gdbarch,
|
set_gdbarch_deprecated_frameless_function_invocation (gdbarch, m68k_frameless_function_invocation);
|
||||||
m68k_frameless_function_invocation);
|
|
||||||
set_gdbarch_frame_args_skip (gdbarch, 8);
|
set_gdbarch_frame_args_skip (gdbarch, 8);
|
||||||
|
|
||||||
set_gdbarch_register_type (gdbarch, m68k_register_type);
|
set_gdbarch_register_type (gdbarch, m68k_register_type);
|
||||||
|
|
|
@ -556,8 +556,6 @@ ns32k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
set_gdbarch_deprecated_saved_pc_after_call (gdbarch, ns32k_saved_pc_after_call);
|
set_gdbarch_deprecated_saved_pc_after_call (gdbarch, ns32k_saved_pc_after_call);
|
||||||
|
|
||||||
set_gdbarch_frame_num_args (gdbarch, umax_frame_num_args);
|
set_gdbarch_frame_num_args (gdbarch, umax_frame_num_args);
|
||||||
set_gdbarch_frameless_function_invocation (gdbarch,
|
|
||||||
generic_frameless_function_invocation_not);
|
|
||||||
|
|
||||||
set_gdbarch_deprecated_frame_chain (gdbarch, ns32k_frame_chain);
|
set_gdbarch_deprecated_frame_chain (gdbarch, ns32k_frame_chain);
|
||||||
set_gdbarch_deprecated_frame_saved_pc (gdbarch, ns32k_frame_saved_pc);
|
set_gdbarch_deprecated_frame_saved_pc (gdbarch, ns32k_frame_saved_pc);
|
||||||
|
|
|
@ -1053,8 +1053,7 @@ ppc_linux_init_abi (struct gdbarch_info info,
|
||||||
|
|
||||||
/* Note: kevinb/2002-04-12: See note in rs6000_gdbarch_init regarding
|
/* Note: kevinb/2002-04-12: See note in rs6000_gdbarch_init regarding
|
||||||
*_push_arguments(). The same remarks hold for the methods below. */
|
*_push_arguments(). The same remarks hold for the methods below. */
|
||||||
set_gdbarch_frameless_function_invocation (gdbarch,
|
set_gdbarch_deprecated_frameless_function_invocation (gdbarch, ppc_linux_frameless_function_invocation);
|
||||||
ppc_linux_frameless_function_invocation);
|
|
||||||
set_gdbarch_deprecated_frame_chain (gdbarch, ppc_linux_frame_chain);
|
set_gdbarch_deprecated_frame_chain (gdbarch, ppc_linux_frame_chain);
|
||||||
set_gdbarch_deprecated_frame_saved_pc (gdbarch, ppc_linux_frame_saved_pc);
|
set_gdbarch_deprecated_frame_saved_pc (gdbarch, ppc_linux_frame_saved_pc);
|
||||||
|
|
||||||
|
|
|
@ -1776,7 +1776,8 @@ rs6000_frame_chain (struct frame_info *thisframe)
|
||||||
wordsize);
|
wordsize);
|
||||||
else if (get_next_frame (thisframe) != NULL
|
else if (get_next_frame (thisframe) != NULL
|
||||||
&& (get_frame_type (get_next_frame (thisframe)) == SIGTRAMP_FRAME)
|
&& (get_frame_type (get_next_frame (thisframe)) == SIGTRAMP_FRAME)
|
||||||
&& FRAMELESS_FUNCTION_INVOCATION (thisframe))
|
&& (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P ()
|
||||||
|
&& DEPRECATED_FRAMELESS_FUNCTION_INVOCATION (thisframe)))
|
||||||
/* A frameless function interrupted by a signal did not change the
|
/* A frameless function interrupted by a signal did not change the
|
||||||
frame pointer. */
|
frame pointer. */
|
||||||
fp = get_frame_base (thisframe);
|
fp = get_frame_base (thisframe);
|
||||||
|
@ -2903,8 +2904,7 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
set_gdbarch_use_struct_convention (gdbarch,
|
set_gdbarch_use_struct_convention (gdbarch,
|
||||||
rs6000_use_struct_convention);
|
rs6000_use_struct_convention);
|
||||||
|
|
||||||
set_gdbarch_frameless_function_invocation (gdbarch,
|
set_gdbarch_deprecated_frameless_function_invocation (gdbarch, rs6000_frameless_function_invocation);
|
||||||
rs6000_frameless_function_invocation);
|
|
||||||
set_gdbarch_deprecated_frame_chain (gdbarch, rs6000_frame_chain);
|
set_gdbarch_deprecated_frame_chain (gdbarch, rs6000_frame_chain);
|
||||||
set_gdbarch_deprecated_frame_saved_pc (gdbarch, rs6000_frame_saved_pc);
|
set_gdbarch_deprecated_frame_saved_pc (gdbarch, rs6000_frame_saved_pc);
|
||||||
|
|
||||||
|
|
|
@ -2589,8 +2589,7 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
/* This function that tells us whether the function invocation represented
|
/* This function that tells us whether the function invocation represented
|
||||||
by FI does not have a frame on the stack associated with it. If it
|
by FI does not have a frame on the stack associated with it. If it
|
||||||
does not, FRAMELESS is set to 1, else 0. */
|
does not, FRAMELESS is set to 1, else 0. */
|
||||||
set_gdbarch_frameless_function_invocation (gdbarch,
|
set_gdbarch_deprecated_frameless_function_invocation (gdbarch, s390_frameless_function_invocation);
|
||||||
s390_frameless_function_invocation);
|
|
||||||
/* Return saved PC from a frame */
|
/* Return saved PC from a frame */
|
||||||
set_gdbarch_deprecated_frame_saved_pc (gdbarch, s390_frame_saved_pc);
|
set_gdbarch_deprecated_frame_saved_pc (gdbarch, s390_frame_saved_pc);
|
||||||
/* DEPRECATED_FRAME_CHAIN takes a frame's nominal address and
|
/* DEPRECATED_FRAME_CHAIN takes a frame's nominal address and
|
||||||
|
|
|
@ -2223,8 +2223,7 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
|
|
||||||
set_gdbarch_push_dummy_call (gdbarch, sh_push_dummy_call_nofpu);
|
set_gdbarch_push_dummy_call (gdbarch, sh_push_dummy_call_nofpu);
|
||||||
|
|
||||||
set_gdbarch_frameless_function_invocation (gdbarch,
|
set_gdbarch_deprecated_frameless_function_invocation (gdbarch, legacy_frameless_look_for_prologue);
|
||||||
frameless_look_for_prologue);
|
|
||||||
set_gdbarch_believe_pcc_promotion (gdbarch, 1);
|
set_gdbarch_believe_pcc_promotion (gdbarch, 1);
|
||||||
|
|
||||||
set_gdbarch_frame_align (gdbarch, sh_frame_align);
|
set_gdbarch_frame_align (gdbarch, sh_frame_align);
|
||||||
|
|
|
@ -2847,7 +2847,7 @@ sh64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
set_gdbarch_skip_prologue (gdbarch, sh_skip_prologue);
|
set_gdbarch_skip_prologue (gdbarch, sh_skip_prologue);
|
||||||
set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
|
set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
|
||||||
|
|
||||||
set_gdbarch_frameless_function_invocation (gdbarch, frameless_look_for_prologue);
|
set_gdbarch_deprecated_frameless_function_invocation (gdbarch, legacy_frameless_look_for_prologue);
|
||||||
set_gdbarch_believe_pcc_promotion (gdbarch, 1);
|
set_gdbarch_believe_pcc_promotion (gdbarch, 1);
|
||||||
|
|
||||||
set_gdbarch_deprecated_frame_saved_pc (gdbarch, sh_frame_saved_pc);
|
set_gdbarch_deprecated_frame_saved_pc (gdbarch, sh_frame_saved_pc);
|
||||||
|
|
|
@ -942,7 +942,8 @@ frame_info (char *addr_exp, int from_tty)
|
||||||
|
|
||||||
{
|
{
|
||||||
int frameless;
|
int frameless;
|
||||||
frameless = FRAMELESS_FUNCTION_INVOCATION (fi);
|
frameless = (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P ()
|
||||||
|
&& DEPRECATED_FRAMELESS_FUNCTION_INVOCATION (fi));
|
||||||
if (frameless)
|
if (frameless)
|
||||||
printf_filtered (" (FRAMELESS),");
|
printf_filtered (" (FRAMELESS),");
|
||||||
}
|
}
|
||||||
|
|
|
@ -363,8 +363,6 @@ vax_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
set_gdbarch_deprecated_saved_pc_after_call (gdbarch, vax_saved_pc_after_call);
|
set_gdbarch_deprecated_saved_pc_after_call (gdbarch, vax_saved_pc_after_call);
|
||||||
|
|
||||||
set_gdbarch_frame_num_args (gdbarch, vax_frame_num_args);
|
set_gdbarch_frame_num_args (gdbarch, vax_frame_num_args);
|
||||||
set_gdbarch_frameless_function_invocation (gdbarch,
|
|
||||||
generic_frameless_function_invocation_not);
|
|
||||||
|
|
||||||
set_gdbarch_deprecated_frame_chain (gdbarch, vax_frame_chain);
|
set_gdbarch_deprecated_frame_chain (gdbarch, vax_frame_chain);
|
||||||
set_gdbarch_deprecated_frame_saved_pc (gdbarch, vax_frame_saved_pc);
|
set_gdbarch_deprecated_frame_saved_pc (gdbarch, vax_frame_saved_pc);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue