gdb: pass frames as const frame_info_ptr &

We currently pass frames to function by value, as `frame_info_ptr`.
This is somewhat expensive:

 - the size of `frame_info_ptr` is 64 bytes, which is a bit big to pass
   by value
 - the constructors and destructor link/unlink the object in the global
   `frame_info_ptr::frame_list` list.  This is an `intrusive_list`, so
   it's not so bad: it's just assigning a few points, there's no memory
   allocation as if it was `std::list`, but still it's useless to do
   that over and over.

As suggested by Tom Tromey, change many function signatures to accept
`const frame_info_ptr &` instead of `frame_info_ptr`.

Some functions reassign their `frame_info_ptr` parameter, like:

  void
  the_func (frame_info_ptr frame)
  {
    for (; frame != nullptr; frame = get_prev_frame (frame))
      {
        ...
      }
  }

I wondered what to do about them, do I leave them as-is or change them
(and need to introduce a separate local variable that can be
re-assigned).  I opted for the later for consistency.  It might not be
clear why some functions take `const frame_info_ptr &` while others take
`frame_info_ptr`.  Also, if a function took a `frame_info_ptr` because
it did re-assign its parameter, I doubt that we would think to change it
to `const frame_info_ptr &` should the implementation change such that
it doesn't need to take `frame_info_ptr` anymore.  It seems better to
have a simple rule and apply it everywhere.

Change-Id: I59d10addef687d157f82ccf4d54f5dde9a963fd0
Approved-By: Andrew Burgess <aburgess@redhat.com>
This commit is contained in:
Simon Marchi
2024-02-19 13:07:47 -05:00
parent 1b2c120daf
commit 8480a37e14
224 changed files with 1351 additions and 1339 deletions

View File

@@ -88,9 +88,9 @@ static const struct regcache_map_entry aarch64_fbsd_tls_regmap[] =
static void static void
aarch64_fbsd_sigframe_init (const struct tramp_frame *self, aarch64_fbsd_sigframe_init (const struct tramp_frame *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct trad_frame_cache *this_cache, struct trad_frame_cache *this_cache,
CORE_ADDR func) CORE_ADDR func)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);

View File

@@ -381,8 +381,8 @@ aarch64_linux_restore_vregs (struct gdbarch *gdbarch,
SIGNAL_FRAME. */ SIGNAL_FRAME. */
static void static void
aarch64_linux_read_signal_frame_info (frame_info_ptr this_frame, aarch64_linux_read_signal_frame_info (const frame_info_ptr &this_frame,
struct aarch64_linux_sigframe &signal_frame) aarch64_linux_sigframe &signal_frame)
{ {
signal_frame.sp = get_frame_register_unsigned (this_frame, AARCH64_SP_REGNUM); signal_frame.sp = get_frame_register_unsigned (this_frame, AARCH64_SP_REGNUM);
signal_frame.sigcontext_address signal_frame.sigcontext_address
@@ -570,7 +570,7 @@ aarch64_linux_read_signal_frame_info (frame_info_ptr this_frame,
static void static void
aarch64_linux_sigframe_init (const struct tramp_frame *self, aarch64_linux_sigframe_init (const struct tramp_frame *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct trad_frame_cache *this_cache, struct trad_frame_cache *this_cache,
CORE_ADDR func) CORE_ADDR func)
{ {
@@ -704,7 +704,7 @@ aarch64_linux_sigframe_init (const struct tramp_frame *self,
/* Implements the "prev_arch" method of struct tramp_frame. */ /* Implements the "prev_arch" method of struct tramp_frame. */
static struct gdbarch * static struct gdbarch *
aarch64_linux_sigframe_prev_arch (frame_info_ptr this_frame, aarch64_linux_sigframe_prev_arch (const frame_info_ptr &this_frame,
void **frame_cache) void **frame_cache)
{ {
struct trad_frame_cache *cache struct trad_frame_cache *cache

View File

@@ -268,7 +268,7 @@ class instruction_reader : public abstract_instruction_reader
static CORE_ADDR static CORE_ADDR
aarch64_frame_unmask_lr (aarch64_gdbarch_tdep *tdep, aarch64_frame_unmask_lr (aarch64_gdbarch_tdep *tdep,
frame_info_ptr this_frame, CORE_ADDR addr) const frame_info_ptr &this_frame, CORE_ADDR addr)
{ {
if (tdep->has_pauth () if (tdep->has_pauth ()
&& frame_unwind_register_unsigned (this_frame, && frame_unwind_register_unsigned (this_frame,
@@ -298,7 +298,7 @@ aarch64_frame_unmask_lr (aarch64_gdbarch_tdep *tdep,
/* Implement the "get_pc_address_flags" gdbarch method. */ /* Implement the "get_pc_address_flags" gdbarch method. */
static std::string static std::string
aarch64_get_pc_address_flags (frame_info_ptr frame, CORE_ADDR pc) aarch64_get_pc_address_flags (const frame_info_ptr &frame, CORE_ADDR pc)
{ {
if (pc != 0 && get_frame_pc_masked (frame)) if (pc != 0 && get_frame_pc_masked (frame))
return "PAC"; return "PAC";
@@ -995,7 +995,7 @@ aarch64_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
cache CACHE. */ cache CACHE. */
static void static void
aarch64_scan_prologue (frame_info_ptr this_frame, aarch64_scan_prologue (const frame_info_ptr &this_frame,
struct aarch64_prologue_cache *cache) struct aarch64_prologue_cache *cache)
{ {
CORE_ADDR block_addr = get_frame_address_in_block (this_frame); CORE_ADDR block_addr = get_frame_address_in_block (this_frame);
@@ -1049,7 +1049,7 @@ aarch64_scan_prologue (frame_info_ptr this_frame,
not available. */ not available. */
static void static void
aarch64_make_prologue_cache_1 (frame_info_ptr this_frame, aarch64_make_prologue_cache_1 (const frame_info_ptr &this_frame,
struct aarch64_prologue_cache *cache) struct aarch64_prologue_cache *cache)
{ {
CORE_ADDR unwound_fp; CORE_ADDR unwound_fp;
@@ -1087,7 +1087,7 @@ aarch64_make_prologue_cache_1 (frame_info_ptr this_frame,
*THIS_CACHE. */ *THIS_CACHE. */
static struct aarch64_prologue_cache * static struct aarch64_prologue_cache *
aarch64_make_prologue_cache (frame_info_ptr this_frame, void **this_cache) aarch64_make_prologue_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct aarch64_prologue_cache *cache; struct aarch64_prologue_cache *cache;
@@ -1114,7 +1114,7 @@ aarch64_make_prologue_cache (frame_info_ptr this_frame, void **this_cache)
/* Implement the "stop_reason" frame_unwind method. */ /* Implement the "stop_reason" frame_unwind method. */
static enum unwind_stop_reason static enum unwind_stop_reason
aarch64_prologue_frame_unwind_stop_reason (frame_info_ptr this_frame, aarch64_prologue_frame_unwind_stop_reason (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct aarch64_prologue_cache *cache struct aarch64_prologue_cache *cache
@@ -1140,7 +1140,7 @@ aarch64_prologue_frame_unwind_stop_reason (frame_info_ptr this_frame,
PC and the caller's SP when we were called. */ PC and the caller's SP when we were called. */
static void static void
aarch64_prologue_this_id (frame_info_ptr this_frame, aarch64_prologue_this_id (const frame_info_ptr &this_frame,
void **this_cache, struct frame_id *this_id) void **this_cache, struct frame_id *this_id)
{ {
struct aarch64_prologue_cache *cache struct aarch64_prologue_cache *cache
@@ -1155,7 +1155,7 @@ aarch64_prologue_this_id (frame_info_ptr this_frame,
/* Implement the "prev_register" frame_unwind method. */ /* Implement the "prev_register" frame_unwind method. */
static struct value * static struct value *
aarch64_prologue_prev_register (frame_info_ptr this_frame, aarch64_prologue_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int prev_regnum) void **this_cache, int prev_regnum)
{ {
struct aarch64_prologue_cache *cache struct aarch64_prologue_cache *cache
@@ -1221,7 +1221,7 @@ static frame_unwind aarch64_prologue_unwind =
*THIS_CACHE. */ *THIS_CACHE. */
static struct aarch64_prologue_cache * static struct aarch64_prologue_cache *
aarch64_make_stub_cache (frame_info_ptr this_frame, void **this_cache) aarch64_make_stub_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct aarch64_prologue_cache *cache; struct aarch64_prologue_cache *cache;
@@ -1251,7 +1251,7 @@ aarch64_make_stub_cache (frame_info_ptr this_frame, void **this_cache)
/* Implement the "stop_reason" frame_unwind method. */ /* Implement the "stop_reason" frame_unwind method. */
static enum unwind_stop_reason static enum unwind_stop_reason
aarch64_stub_frame_unwind_stop_reason (frame_info_ptr this_frame, aarch64_stub_frame_unwind_stop_reason (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct aarch64_prologue_cache *cache struct aarch64_prologue_cache *cache
@@ -1266,7 +1266,7 @@ aarch64_stub_frame_unwind_stop_reason (frame_info_ptr this_frame,
/* Our frame ID for a stub frame is the current SP and LR. */ /* Our frame ID for a stub frame is the current SP and LR. */
static void static void
aarch64_stub_this_id (frame_info_ptr this_frame, aarch64_stub_this_id (const frame_info_ptr &this_frame,
void **this_cache, struct frame_id *this_id) void **this_cache, struct frame_id *this_id)
{ {
struct aarch64_prologue_cache *cache struct aarch64_prologue_cache *cache
@@ -1282,7 +1282,7 @@ aarch64_stub_this_id (frame_info_ptr this_frame,
static int static int
aarch64_stub_unwind_sniffer (const struct frame_unwind *self, aarch64_stub_unwind_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
CORE_ADDR addr_in_block; CORE_ADDR addr_in_block;
@@ -1313,7 +1313,7 @@ static frame_unwind aarch64_stub_unwind =
/* Return the frame base address of *THIS_FRAME. */ /* Return the frame base address of *THIS_FRAME. */
static CORE_ADDR static CORE_ADDR
aarch64_normal_frame_base (frame_info_ptr this_frame, void **this_cache) aarch64_normal_frame_base (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct aarch64_prologue_cache *cache struct aarch64_prologue_cache *cache
= aarch64_make_prologue_cache (this_frame, this_cache); = aarch64_make_prologue_cache (this_frame, this_cache);
@@ -1334,7 +1334,7 @@ static frame_base aarch64_normal_base =
*THIS_FRAME. */ *THIS_FRAME. */
static struct value * static struct value *
aarch64_dwarf2_prev_register (frame_info_ptr this_frame, aarch64_dwarf2_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
gdbarch *arch = get_frame_arch (this_frame); gdbarch *arch = get_frame_arch (this_frame);
@@ -1361,7 +1361,7 @@ static const unsigned char op_lit1 = DW_OP_lit1;
static void static void
aarch64_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, aarch64_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
struct dwarf2_frame_state_reg *reg, struct dwarf2_frame_state_reg *reg,
frame_info_ptr this_frame) const frame_info_ptr &this_frame)
{ {
aarch64_gdbarch_tdep *tdep = gdbarch_tdep<aarch64_gdbarch_tdep> (gdbarch); aarch64_gdbarch_tdep *tdep = gdbarch_tdep<aarch64_gdbarch_tdep> (gdbarch);
@@ -2780,7 +2780,7 @@ aarch64_return_value (struct gdbarch *gdbarch, struct value *func_value,
/* Implement the "get_longjmp_target" gdbarch method. */ /* Implement the "get_longjmp_target" gdbarch method. */
static int static int
aarch64_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) aarch64_get_longjmp_target (const frame_info_ptr &frame, CORE_ADDR *pc)
{ {
CORE_ADDR jb_addr; CORE_ADDR jb_addr;
gdb_byte buf[X_REGISTER_SIZE]; gdb_byte buf[X_REGISTER_SIZE];
@@ -3105,7 +3105,7 @@ aarch64_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
/* Helper for aarch64_pseudo_read_value. */ /* Helper for aarch64_pseudo_read_value. */
static value * static value *
aarch64_pseudo_read_value_1 (frame_info_ptr next_frame, aarch64_pseudo_read_value_1 (const frame_info_ptr &next_frame,
const int pseudo_reg_num, int raw_regnum_offset) const int pseudo_reg_num, int raw_regnum_offset)
{ {
unsigned v_regnum = AARCH64_V0_REGNUM + raw_regnum_offset; unsigned v_regnum = AARCH64_V0_REGNUM + raw_regnum_offset;
@@ -3197,7 +3197,7 @@ aarch64_za_offsets_from_regnum (struct gdbarch *gdbarch, int regnum)
/* Given REGNUM, a SME pseudo-register number, return its value in RESULT. */ /* Given REGNUM, a SME pseudo-register number, return its value in RESULT. */
static value * static value *
aarch64_sme_pseudo_register_read (gdbarch *gdbarch, frame_info_ptr next_frame, aarch64_sme_pseudo_register_read (gdbarch *gdbarch, const frame_info_ptr &next_frame,
const int pseudo_reg_num) const int pseudo_reg_num)
{ {
aarch64_gdbarch_tdep *tdep = gdbarch_tdep<aarch64_gdbarch_tdep> (gdbarch); aarch64_gdbarch_tdep *tdep = gdbarch_tdep<aarch64_gdbarch_tdep> (gdbarch);
@@ -3231,7 +3231,7 @@ aarch64_sme_pseudo_register_read (gdbarch *gdbarch, frame_info_ptr next_frame,
/* Implement the "pseudo_register_read_value" gdbarch method. */ /* Implement the "pseudo_register_read_value" gdbarch method. */
static value * static value *
aarch64_pseudo_read_value (gdbarch *gdbarch, frame_info_ptr next_frame, aarch64_pseudo_read_value (gdbarch *gdbarch, const frame_info_ptr &next_frame,
const int pseudo_reg_num) const int pseudo_reg_num)
{ {
aarch64_gdbarch_tdep *tdep = gdbarch_tdep<aarch64_gdbarch_tdep> (gdbarch); aarch64_gdbarch_tdep *tdep = gdbarch_tdep<aarch64_gdbarch_tdep> (gdbarch);
@@ -3296,7 +3296,7 @@ aarch64_pseudo_read_value (gdbarch *gdbarch, frame_info_ptr next_frame,
/* Helper for aarch64_pseudo_write. */ /* Helper for aarch64_pseudo_write. */
static void static void
aarch64_pseudo_write_1 (gdbarch *gdbarch, frame_info_ptr next_frame, aarch64_pseudo_write_1 (gdbarch *gdbarch, const frame_info_ptr &next_frame,
int regnum_offset, int regnum_offset,
gdb::array_view<const gdb_byte> buf) gdb::array_view<const gdb_byte> buf)
{ {
@@ -3322,7 +3322,7 @@ aarch64_pseudo_write_1 (gdbarch *gdbarch, frame_info_ptr next_frame,
pseudo-register. */ pseudo-register. */
static void static void
aarch64_sme_pseudo_register_write (gdbarch *gdbarch, frame_info_ptr next_frame, aarch64_sme_pseudo_register_write (gdbarch *gdbarch, const frame_info_ptr &next_frame,
const int regnum, const int regnum,
gdb::array_view<const gdb_byte> data) gdb::array_view<const gdb_byte> data)
{ {
@@ -3364,7 +3364,7 @@ aarch64_sme_pseudo_register_write (gdbarch *gdbarch, frame_info_ptr next_frame,
/* Implement the "pseudo_register_write" gdbarch method. */ /* Implement the "pseudo_register_write" gdbarch method. */
static void static void
aarch64_pseudo_write (gdbarch *gdbarch, frame_info_ptr next_frame, aarch64_pseudo_write (gdbarch *gdbarch, const frame_info_ptr &next_frame,
const int pseudo_reg_num, const int pseudo_reg_num,
gdb::array_view<const gdb_byte> buf) gdb::array_view<const gdb_byte> buf)
{ {
@@ -3437,7 +3437,7 @@ aarch64_pseudo_write (gdbarch *gdbarch, frame_info_ptr next_frame,
/* Callback function for user_reg_add. */ /* Callback function for user_reg_add. */
static struct value * static struct value *
value_of_aarch64_user_reg (frame_info_ptr frame, const void *baton) value_of_aarch64_user_reg (const frame_info_ptr &frame, const void *baton)
{ {
const int *reg_p = (const int *) baton; const int *reg_p = (const int *) baton;

View File

@@ -11720,7 +11720,7 @@ ada_exception_support_info_sniffer (void)
to most users. */ to most users. */
static int static int
is_known_support_routine (frame_info_ptr frame) is_known_support_routine (const frame_info_ptr &frame)
{ {
enum language func_lang; enum language func_lang;
int i; int i;
@@ -11779,9 +11779,9 @@ is_known_support_routine (frame_info_ptr frame)
part of the Ada run-time, starting from FI and moving upward. */ part of the Ada run-time, starting from FI and moving upward. */
void void
ada_find_printable_frame (frame_info_ptr fi) ada_find_printable_frame (const frame_info_ptr &initial_fi)
{ {
for (; fi != NULL; fi = get_prev_frame (fi)) for (frame_info_ptr fi = initial_fi; fi != nullptr; fi = get_prev_frame (fi))
{ {
if (!is_known_support_routine (fi)) if (!is_known_support_routine (fi))
{ {
@@ -12913,7 +12913,7 @@ ada_add_standard_exceptions (compiled_regex *preg,
static void static void
ada_add_exceptions_from_frame (compiled_regex *preg, ada_add_exceptions_from_frame (compiled_regex *preg,
frame_info_ptr frame, const frame_info_ptr &frame,
std::vector<ada_exc_info> *exceptions) std::vector<ada_exc_info> *exceptions)
{ {
const struct block *block = get_frame_block (frame, 0); const struct block *block = get_frame_block (frame, 0);
@@ -13339,7 +13339,7 @@ public:
struct value *read_var_value (struct symbol *var, struct value *read_var_value (struct symbol *var,
const struct block *var_block, const struct block *var_block,
frame_info_ptr frame) const override const frame_info_ptr &frame) const override
{ {
/* The only case where default_read_var_value is not sufficient /* The only case where default_read_var_value is not sufficient
is when VAR is a renaming... */ is when VAR is a renaming... */

View File

@@ -341,7 +341,7 @@ extern enum ada_renaming_category ada_parse_renaming (struct symbol *,
const char **, const char **,
int *, const char **); int *, const char **);
extern void ada_find_printable_frame (frame_info_ptr fi); extern void ada_find_printable_frame (const frame_info_ptr &fi);
extern const char *ada_main_name (); extern const char *ada_main_name ();

View File

@@ -126,7 +126,7 @@ alpha_linux_pc_in_sigtramp (struct gdbarch *gdbarch,
} }
static CORE_ADDR static CORE_ADDR
alpha_linux_sigcontext_addr (frame_info_ptr this_frame) alpha_linux_sigcontext_addr (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
CORE_ADDR pc; CORE_ADDR pc;

View File

@@ -185,7 +185,7 @@ struct alpha_mdebug_unwind_cache
and store the resulting register save locations in the structure. */ and store the resulting register save locations in the structure. */
static struct alpha_mdebug_unwind_cache * static struct alpha_mdebug_unwind_cache *
alpha_mdebug_frame_unwind_cache (frame_info_ptr this_frame, alpha_mdebug_frame_unwind_cache (const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
struct alpha_mdebug_unwind_cache *info; struct alpha_mdebug_unwind_cache *info;
@@ -262,7 +262,7 @@ alpha_mdebug_frame_unwind_cache (frame_info_ptr this_frame,
frame. This will be used to create a new GDB frame struct. */ frame. This will be used to create a new GDB frame struct. */
static void static void
alpha_mdebug_frame_this_id (frame_info_ptr this_frame, alpha_mdebug_frame_this_id (const frame_info_ptr &this_frame,
void **this_prologue_cache, void **this_prologue_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -275,7 +275,7 @@ alpha_mdebug_frame_this_id (frame_info_ptr this_frame,
/* Retrieve the value of REGNUM in FRAME. Don't give up! */ /* Retrieve the value of REGNUM in FRAME. Don't give up! */
static struct value * static struct value *
alpha_mdebug_frame_prev_register (frame_info_ptr this_frame, alpha_mdebug_frame_prev_register (const frame_info_ptr &this_frame,
void **this_prologue_cache, int regnum) void **this_prologue_cache, int regnum)
{ {
struct alpha_mdebug_unwind_cache *info struct alpha_mdebug_unwind_cache *info
@@ -306,7 +306,7 @@ alpha_mdebug_max_frame_size_exceeded (struct mdebug_extra_func_info *proc_desc)
static int static int
alpha_mdebug_frame_sniffer (const struct frame_unwind *self, alpha_mdebug_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
CORE_ADDR pc = get_frame_address_in_block (this_frame); CORE_ADDR pc = get_frame_address_in_block (this_frame);
@@ -343,7 +343,7 @@ static const struct frame_unwind alpha_mdebug_frame_unwind =
}; };
static CORE_ADDR static CORE_ADDR
alpha_mdebug_frame_base_address (frame_info_ptr this_frame, alpha_mdebug_frame_base_address (const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
struct alpha_mdebug_unwind_cache *info struct alpha_mdebug_unwind_cache *info
@@ -353,7 +353,7 @@ alpha_mdebug_frame_base_address (frame_info_ptr this_frame,
} }
static CORE_ADDR static CORE_ADDR
alpha_mdebug_frame_locals_address (frame_info_ptr this_frame, alpha_mdebug_frame_locals_address (const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
struct alpha_mdebug_unwind_cache *info struct alpha_mdebug_unwind_cache *info
@@ -363,7 +363,7 @@ alpha_mdebug_frame_locals_address (frame_info_ptr this_frame,
} }
static CORE_ADDR static CORE_ADDR
alpha_mdebug_frame_args_address (frame_info_ptr this_frame, alpha_mdebug_frame_args_address (const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
struct alpha_mdebug_unwind_cache *info struct alpha_mdebug_unwind_cache *info
@@ -380,7 +380,7 @@ static const struct frame_base alpha_mdebug_frame_base = {
}; };
static const struct frame_base * static const struct frame_base *
alpha_mdebug_frame_base_sniffer (frame_info_ptr this_frame) alpha_mdebug_frame_base_sniffer (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_address_in_block (this_frame); CORE_ADDR pc = get_frame_address_in_block (this_frame);
struct mdebug_extra_func_info *proc_desc; struct mdebug_extra_func_info *proc_desc;

View File

@@ -235,7 +235,7 @@ alphanbsd_pc_in_sigtramp (struct gdbarch *gdbarch,
} }
static CORE_ADDR static CORE_ADDR
alphanbsd_sigcontext_addr (frame_info_ptr frame) alphanbsd_sigcontext_addr (const frame_info_ptr &frame)
{ {
/* FIXME: This is not correct for all versions of NetBSD/alpha. /* FIXME: This is not correct for all versions of NetBSD/alpha.
We will probably need to disassemble the trampoline to figure We will probably need to disassemble the trampoline to figure

View File

@@ -69,7 +69,7 @@ alphaobsd_pc_in_sigtramp (struct gdbarch *gdbarch,
} }
static CORE_ADDR static CORE_ADDR
alphaobsd_sigcontext_addr (frame_info_ptr this_frame) alphaobsd_sigcontext_addr (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);

View File

@@ -233,7 +233,7 @@ alpha_convert_register_p (struct gdbarch *gdbarch, int regno,
} }
static int static int
alpha_register_to_value (frame_info_ptr frame, int regnum, alpha_register_to_value (const frame_info_ptr &frame, int regnum,
struct type *valtype, gdb_byte *out, struct type *valtype, gdb_byte *out,
int *optimizedp, int *unavailablep) int *optimizedp, int *unavailablep)
{ {
@@ -260,7 +260,7 @@ alpha_register_to_value (frame_info_ptr frame, int regnum,
} }
static void static void
alpha_value_to_register (frame_info_ptr frame, int regnum, alpha_value_to_register (const frame_info_ptr &frame, int regnum,
struct type *valtype, const gdb_byte *in) struct type *valtype, const gdb_byte *in)
{ {
int reg_size = register_size (get_frame_arch (frame), regnum); int reg_size = register_size (get_frame_arch (frame), regnum);
@@ -840,7 +840,7 @@ alpha_deal_with_atomic_sequence (struct gdbarch *gdbarch, CORE_ADDR pc)
into the "pc". This routine returns true on success. */ into the "pc". This routine returns true on success. */
static int static int
alpha_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) alpha_get_longjmp_target (const frame_info_ptr &frame, CORE_ADDR *pc)
{ {
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);
alpha_gdbarch_tdep *tdep = gdbarch_tdep<alpha_gdbarch_tdep> (gdbarch); alpha_gdbarch_tdep *tdep = gdbarch_tdep<alpha_gdbarch_tdep> (gdbarch);
@@ -871,7 +871,7 @@ struct alpha_sigtramp_unwind_cache
}; };
static struct alpha_sigtramp_unwind_cache * static struct alpha_sigtramp_unwind_cache *
alpha_sigtramp_frame_unwind_cache (frame_info_ptr this_frame, alpha_sigtramp_frame_unwind_cache (const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
struct alpha_sigtramp_unwind_cache *info; struct alpha_sigtramp_unwind_cache *info;
@@ -912,7 +912,7 @@ alpha_sigtramp_register_address (struct gdbarch *gdbarch,
frame. This will be used to create a new GDB frame struct. */ frame. This will be used to create a new GDB frame struct. */
static void static void
alpha_sigtramp_frame_this_id (frame_info_ptr this_frame, alpha_sigtramp_frame_this_id (const frame_info_ptr &this_frame,
void **this_prologue_cache, void **this_prologue_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -954,7 +954,7 @@ alpha_sigtramp_frame_this_id (frame_info_ptr this_frame,
/* Retrieve the value of REGNUM in FRAME. Don't give up! */ /* Retrieve the value of REGNUM in FRAME. Don't give up! */
static struct value * static struct value *
alpha_sigtramp_frame_prev_register (frame_info_ptr this_frame, alpha_sigtramp_frame_prev_register (const frame_info_ptr &this_frame,
void **this_prologue_cache, int regnum) void **this_prologue_cache, int regnum)
{ {
struct alpha_sigtramp_unwind_cache *info struct alpha_sigtramp_unwind_cache *info
@@ -979,7 +979,7 @@ alpha_sigtramp_frame_prev_register (frame_info_ptr this_frame,
static int static int
alpha_sigtramp_frame_sniffer (const struct frame_unwind *self, alpha_sigtramp_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -1221,7 +1221,7 @@ alpha_heuristic_analyze_probing_loop (struct gdbarch *gdbarch, CORE_ADDR *pc,
} }
static struct alpha_heuristic_unwind_cache * static struct alpha_heuristic_unwind_cache *
alpha_heuristic_frame_unwind_cache (frame_info_ptr this_frame, alpha_heuristic_frame_unwind_cache (const frame_info_ptr &this_frame,
void **this_prologue_cache, void **this_prologue_cache,
CORE_ADDR start_pc) CORE_ADDR start_pc)
{ {
@@ -1398,7 +1398,7 @@ alpha_heuristic_frame_unwind_cache (frame_info_ptr this_frame,
frame. This will be used to create a new GDB frame struct. */ frame. This will be used to create a new GDB frame struct. */
static void static void
alpha_heuristic_frame_this_id (frame_info_ptr this_frame, alpha_heuristic_frame_this_id (const frame_info_ptr &this_frame,
void **this_prologue_cache, void **this_prologue_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -1411,7 +1411,7 @@ alpha_heuristic_frame_this_id (frame_info_ptr this_frame,
/* Retrieve the value of REGNUM in FRAME. Don't give up! */ /* Retrieve the value of REGNUM in FRAME. Don't give up! */
static struct value * static struct value *
alpha_heuristic_frame_prev_register (frame_info_ptr this_frame, alpha_heuristic_frame_prev_register (const frame_info_ptr &this_frame,
void **this_prologue_cache, int regnum) void **this_prologue_cache, int regnum)
{ {
struct alpha_heuristic_unwind_cache *info struct alpha_heuristic_unwind_cache *info
@@ -1438,7 +1438,7 @@ static const struct frame_unwind alpha_heuristic_frame_unwind =
}; };
static CORE_ADDR static CORE_ADDR
alpha_heuristic_frame_base_address (frame_info_ptr this_frame, alpha_heuristic_frame_base_address (const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
struct alpha_heuristic_unwind_cache *info struct alpha_heuristic_unwind_cache *info

View File

@@ -81,7 +81,7 @@ struct alpha_gdbarch_tdep : gdbarch_tdep_base
/* Translate a signal handler stack base address into the address of /* Translate a signal handler stack base address into the address of
the sigcontext structure for that signal handler. */ the sigcontext structure for that signal handler. */
CORE_ADDR (*sigcontext_addr) (frame_info_ptr) = nullptr; CORE_ADDR (*sigcontext_addr) (const frame_info_ptr &) = nullptr;
/* Does the PC fall in a signal trampoline. */ /* Does the PC fall in a signal trampoline. */
/* NOTE: cagney/2004-04-30: Do not copy/clone this code. Instead /* NOTE: cagney/2004-04-30: Do not copy/clone this code. Instead

View File

@@ -75,7 +75,7 @@ const int amd64_darwin_thread_state_num_regs =
address of the associated sigcontext structure. */ address of the associated sigcontext structure. */
static CORE_ADDR static CORE_ADDR
amd64_darwin_sigcontext_addr (frame_info_ptr this_frame) amd64_darwin_sigcontext_addr (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);

View File

@@ -169,7 +169,7 @@ const struct regset amd64_fbsd_segbases_regset =
static void static void
amd64_fbsd_sigframe_init (const struct tramp_frame *self, amd64_fbsd_sigframe_init (const struct tramp_frame *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct trad_frame_cache *this_cache, struct trad_frame_cache *this_cache,
CORE_ADDR func) CORE_ADDR func)
{ {

View File

@@ -133,7 +133,7 @@ static const gdb_byte amd64_x32_linux_sigtramp_code[] =
the routine. Otherwise, return 0. */ the routine. Otherwise, return 0. */
static CORE_ADDR static CORE_ADDR
amd64_linux_sigtramp_start (frame_info_ptr this_frame) amd64_linux_sigtramp_start (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch; struct gdbarch *gdbarch;
const gdb_byte *sigtramp_code; const gdb_byte *sigtramp_code;
@@ -175,7 +175,7 @@ amd64_linux_sigtramp_start (frame_info_ptr this_frame)
routine. */ routine. */
static int static int
amd64_linux_sigtramp_p (frame_info_ptr this_frame) amd64_linux_sigtramp_p (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
const char *name; const char *name;
@@ -201,7 +201,7 @@ amd64_linux_sigtramp_p (frame_info_ptr this_frame)
address of the associated sigcontext structure. */ address of the associated sigcontext structure. */
static CORE_ADDR static CORE_ADDR
amd64_linux_sigcontext_addr (frame_info_ptr this_frame) amd64_linux_sigcontext_addr (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);

View File

@@ -35,7 +35,7 @@
routine. */ routine. */
static int static int
amd64nbsd_sigtramp_p (frame_info_ptr this_frame) amd64nbsd_sigtramp_p (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
const char *name; const char *name;
@@ -48,7 +48,7 @@ amd64nbsd_sigtramp_p (frame_info_ptr this_frame)
return the address of the associated mcontext structure. */ return the address of the associated mcontext structure. */
static CORE_ADDR static CORE_ADDR
amd64nbsd_mcontext_addr (frame_info_ptr this_frame) amd64nbsd_mcontext_addr (const frame_info_ptr &this_frame)
{ {
CORE_ADDR addr; CORE_ADDR addr;

View File

@@ -45,7 +45,7 @@ static const int amd64obsd_page_size = 4096;
routine. */ routine. */
static int static int
amd64obsd_sigtramp_p (frame_info_ptr this_frame) amd64obsd_sigtramp_p (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
CORE_ADDR start_pc = (pc & ~(amd64obsd_page_size - 1)); CORE_ADDR start_pc = (pc & ~(amd64obsd_page_size - 1));
@@ -98,7 +98,7 @@ amd64obsd_sigtramp_p (frame_info_ptr this_frame)
address of the associated sigcontext structure. */ address of the associated sigcontext structure. */
static CORE_ADDR static CORE_ADDR
amd64obsd_sigcontext_addr (frame_info_ptr this_frame) amd64obsd_sigcontext_addr (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
ULONGEST offset = (pc & (amd64obsd_page_size - 1)); ULONGEST offset = (pc & (amd64obsd_page_size - 1));
@@ -315,7 +315,7 @@ amd64obsd_collect_uthread (const struct regcache *regcache,
#define amd64obsd_tf_reg_offset amd64obsd_sc_reg_offset #define amd64obsd_tf_reg_offset amd64obsd_sc_reg_offset
static struct trad_frame_cache * static struct trad_frame_cache *
amd64obsd_trapframe_cache (frame_info_ptr this_frame, void **this_cache) amd64obsd_trapframe_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -362,7 +362,7 @@ amd64obsd_trapframe_cache (frame_info_ptr this_frame, void **this_cache)
} }
static void static void
amd64obsd_trapframe_this_id (frame_info_ptr this_frame, amd64obsd_trapframe_this_id (const frame_info_ptr &this_frame,
void **this_cache, struct frame_id *this_id) void **this_cache, struct frame_id *this_id)
{ {
struct trad_frame_cache *cache = struct trad_frame_cache *cache =
@@ -372,7 +372,7 @@ amd64obsd_trapframe_this_id (frame_info_ptr this_frame,
} }
static struct value * static struct value *
amd64obsd_trapframe_prev_register (frame_info_ptr this_frame, amd64obsd_trapframe_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
struct trad_frame_cache *cache = struct trad_frame_cache *cache =
@@ -383,7 +383,7 @@ amd64obsd_trapframe_prev_register (frame_info_ptr this_frame,
static int static int
amd64obsd_trapframe_sniffer (const struct frame_unwind *self, amd64obsd_trapframe_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
ULONGEST cs; ULONGEST cs;

View File

@@ -67,7 +67,7 @@ static int amd64_sol2_gregset_reg_offset[] = {
'mcontext_t' that contains the saved set of machine registers. */ 'mcontext_t' that contains the saved set of machine registers. */
static CORE_ADDR static CORE_ADDR
amd64_sol2_mcontext_addr (frame_info_ptr this_frame) amd64_sol2_mcontext_addr (const frame_info_ptr &this_frame)
{ {
CORE_ADDR sp, ucontext_addr; CORE_ADDR sp, ucontext_addr;

View File

@@ -348,7 +348,7 @@ amd64_pseudo_register_name (struct gdbarch *gdbarch, int regnum)
} }
static value * static value *
amd64_pseudo_register_read_value (gdbarch *gdbarch, frame_info_ptr next_frame, amd64_pseudo_register_read_value (gdbarch *gdbarch, const frame_info_ptr &next_frame,
int regnum) int regnum)
{ {
i386_gdbarch_tdep *tdep = gdbarch_tdep<i386_gdbarch_tdep> (gdbarch); i386_gdbarch_tdep *tdep = gdbarch_tdep<i386_gdbarch_tdep> (gdbarch);
@@ -379,7 +379,7 @@ amd64_pseudo_register_read_value (gdbarch *gdbarch, frame_info_ptr next_frame,
} }
static void static void
amd64_pseudo_register_write (gdbarch *gdbarch, frame_info_ptr next_frame, amd64_pseudo_register_write (gdbarch *gdbarch, const frame_info_ptr &next_frame,
int regnum, gdb::array_view<const gdb_byte> buf) int regnum, gdb::array_view<const gdb_byte> buf)
{ {
i386_gdbarch_tdep *tdep = gdbarch_tdep<i386_gdbarch_tdep> (gdbarch); i386_gdbarch_tdep *tdep = gdbarch_tdep<i386_gdbarch_tdep> (gdbarch);
@@ -2510,7 +2510,7 @@ amd64_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
/* Normal frames. */ /* Normal frames. */
static void static void
amd64_frame_cache_1 (frame_info_ptr this_frame, amd64_frame_cache_1 (const frame_info_ptr &this_frame,
struct amd64_frame_cache *cache) struct amd64_frame_cache *cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -2579,7 +2579,7 @@ amd64_frame_cache_1 (frame_info_ptr this_frame,
} }
static struct amd64_frame_cache * static struct amd64_frame_cache *
amd64_frame_cache (frame_info_ptr this_frame, void **this_cache) amd64_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct amd64_frame_cache *cache; struct amd64_frame_cache *cache;
@@ -2603,7 +2603,7 @@ amd64_frame_cache (frame_info_ptr this_frame, void **this_cache)
} }
static enum unwind_stop_reason static enum unwind_stop_reason
amd64_frame_unwind_stop_reason (frame_info_ptr this_frame, amd64_frame_unwind_stop_reason (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct amd64_frame_cache *cache = struct amd64_frame_cache *cache =
@@ -2620,7 +2620,7 @@ amd64_frame_unwind_stop_reason (frame_info_ptr this_frame,
} }
static void static void
amd64_frame_this_id (frame_info_ptr this_frame, void **this_cache, amd64_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
struct amd64_frame_cache *cache = struct amd64_frame_cache *cache =
@@ -2638,7 +2638,7 @@ amd64_frame_this_id (frame_info_ptr this_frame, void **this_cache,
} }
static struct value * static struct value *
amd64_frame_prev_register (frame_info_ptr this_frame, void **this_cache, amd64_frame_prev_register (const frame_info_ptr &this_frame, void **this_cache,
int regnum) int regnum)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -2692,7 +2692,7 @@ amd64_gen_return_address (struct gdbarch *gdbarch,
on both platforms. */ on both platforms. */
static struct amd64_frame_cache * static struct amd64_frame_cache *
amd64_sigtramp_frame_cache (frame_info_ptr this_frame, void **this_cache) amd64_sigtramp_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
i386_gdbarch_tdep *tdep = gdbarch_tdep<i386_gdbarch_tdep> (gdbarch); i386_gdbarch_tdep *tdep = gdbarch_tdep<i386_gdbarch_tdep> (gdbarch);
@@ -2732,7 +2732,7 @@ amd64_sigtramp_frame_cache (frame_info_ptr this_frame, void **this_cache)
} }
static enum unwind_stop_reason static enum unwind_stop_reason
amd64_sigtramp_frame_unwind_stop_reason (frame_info_ptr this_frame, amd64_sigtramp_frame_unwind_stop_reason (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct amd64_frame_cache *cache = struct amd64_frame_cache *cache =
@@ -2745,7 +2745,7 @@ amd64_sigtramp_frame_unwind_stop_reason (frame_info_ptr this_frame,
} }
static void static void
amd64_sigtramp_frame_this_id (frame_info_ptr this_frame, amd64_sigtramp_frame_this_id (const frame_info_ptr &this_frame,
void **this_cache, struct frame_id *this_id) void **this_cache, struct frame_id *this_id)
{ {
struct amd64_frame_cache *cache = struct amd64_frame_cache *cache =
@@ -2763,7 +2763,7 @@ amd64_sigtramp_frame_this_id (frame_info_ptr this_frame,
} }
static struct value * static struct value *
amd64_sigtramp_frame_prev_register (frame_info_ptr this_frame, amd64_sigtramp_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
/* Make sure we've initialized the cache. */ /* Make sure we've initialized the cache. */
@@ -2774,7 +2774,7 @@ amd64_sigtramp_frame_prev_register (frame_info_ptr this_frame,
static int static int
amd64_sigtramp_frame_sniffer (const struct frame_unwind *self, amd64_sigtramp_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
gdbarch *arch = get_frame_arch (this_frame); gdbarch *arch = get_frame_arch (this_frame);
@@ -2816,7 +2816,7 @@ static const struct frame_unwind amd64_sigtramp_frame_unwind =
static CORE_ADDR static CORE_ADDR
amd64_frame_base_address (frame_info_ptr this_frame, void **this_cache) amd64_frame_base_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct amd64_frame_cache *cache = struct amd64_frame_cache *cache =
amd64_frame_cache (this_frame, this_cache); amd64_frame_cache (this_frame, this_cache);
@@ -2878,7 +2878,7 @@ amd64_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
static int static int
amd64_epilogue_frame_sniffer_1 (const struct frame_unwind *self, amd64_epilogue_frame_sniffer_1 (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache, bool override_p) void **this_prologue_cache, bool override_p)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -2911,7 +2911,7 @@ amd64_epilogue_frame_sniffer_1 (const struct frame_unwind *self,
static int static int
amd64_epilogue_override_frame_sniffer (const struct frame_unwind *self, amd64_epilogue_override_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
return amd64_epilogue_frame_sniffer_1 (self, this_frame, this_prologue_cache, return amd64_epilogue_frame_sniffer_1 (self, this_frame, this_prologue_cache,
@@ -2920,7 +2920,7 @@ amd64_epilogue_override_frame_sniffer (const struct frame_unwind *self,
static int static int
amd64_epilogue_frame_sniffer (const struct frame_unwind *self, amd64_epilogue_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
return amd64_epilogue_frame_sniffer_1 (self, this_frame, this_prologue_cache, return amd64_epilogue_frame_sniffer_1 (self, this_frame, this_prologue_cache,
@@ -2928,7 +2928,7 @@ amd64_epilogue_frame_sniffer (const struct frame_unwind *self,
} }
static struct amd64_frame_cache * static struct amd64_frame_cache *
amd64_epilogue_frame_cache (frame_info_ptr this_frame, void **this_cache) amd64_epilogue_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -2969,7 +2969,7 @@ amd64_epilogue_frame_cache (frame_info_ptr this_frame, void **this_cache)
} }
static enum unwind_stop_reason static enum unwind_stop_reason
amd64_epilogue_frame_unwind_stop_reason (frame_info_ptr this_frame, amd64_epilogue_frame_unwind_stop_reason (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct amd64_frame_cache *cache struct amd64_frame_cache *cache
@@ -2982,7 +2982,7 @@ amd64_epilogue_frame_unwind_stop_reason (frame_info_ptr this_frame,
} }
static void static void
amd64_epilogue_frame_this_id (frame_info_ptr this_frame, amd64_epilogue_frame_this_id (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -3018,7 +3018,7 @@ static const struct frame_unwind amd64_epilogue_frame_unwind =
}; };
static struct frame_id static struct frame_id
amd64_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) amd64_dummy_id (struct gdbarch *gdbarch, const frame_info_ptr &this_frame)
{ {
CORE_ADDR fp; CORE_ADDR fp;
@@ -3081,7 +3081,7 @@ const struct regset amd64_fpregset =
success. */ success. */
static int static int
amd64_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) amd64_get_longjmp_target (const frame_info_ptr &frame, CORE_ADDR *pc)
{ {
gdb_byte buf[8]; gdb_byte buf[8];
CORE_ADDR jb_addr; CORE_ADDR jb_addr;

View File

@@ -517,7 +517,7 @@ pc_in_range (CORE_ADDR pc, const struct amd64_windows_frame_cache *cache)
Return 1 if an epilogue sequence was recognized, 0 otherwise. */ Return 1 if an epilogue sequence was recognized, 0 otherwise. */
static int static int
amd64_windows_frame_decode_epilogue (frame_info_ptr this_frame, amd64_windows_frame_decode_epilogue (const frame_info_ptr &this_frame,
struct amd64_windows_frame_cache *cache) struct amd64_windows_frame_cache *cache)
{ {
/* According to MSDN an epilogue "must consist of either an add RSP,constant /* According to MSDN an epilogue "must consist of either an add RSP,constant
@@ -697,7 +697,7 @@ amd64_windows_frame_decode_epilogue (frame_info_ptr this_frame,
/* Decode and execute unwind insns at UNWIND_INFO. */ /* Decode and execute unwind insns at UNWIND_INFO. */
static void static void
amd64_windows_frame_decode_insns (frame_info_ptr this_frame, amd64_windows_frame_decode_insns (const frame_info_ptr &this_frame,
struct amd64_windows_frame_cache *cache, struct amd64_windows_frame_cache *cache,
CORE_ADDR unwind_info) CORE_ADDR unwind_info)
{ {
@@ -1077,7 +1077,7 @@ amd64_windows_find_unwind_info (struct gdbarch *gdbarch, CORE_ADDR pc,
for THIS_FRAME. */ for THIS_FRAME. */
static struct amd64_windows_frame_cache * static struct amd64_windows_frame_cache *
amd64_windows_frame_cache (frame_info_ptr this_frame, void **this_cache) amd64_windows_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -1123,7 +1123,7 @@ amd64_windows_frame_cache (frame_info_ptr this_frame, void **this_cache)
using the standard Windows x64 SEH info. */ using the standard Windows x64 SEH info. */
static struct value * static struct value *
amd64_windows_frame_prev_register (frame_info_ptr this_frame, amd64_windows_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -1169,7 +1169,7 @@ amd64_windows_frame_prev_register (frame_info_ptr this_frame,
the standard Windows x64 SEH info. */ the standard Windows x64 SEH info. */
static void static void
amd64_windows_frame_this_id (frame_info_ptr this_frame, void **this_cache, amd64_windows_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
struct amd64_windows_frame_cache *cache = struct amd64_windows_frame_cache *cache =
@@ -1235,7 +1235,7 @@ amd64_windows_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
/* Check Win64 DLL jmp trampolines and find jump destination. */ /* Check Win64 DLL jmp trampolines and find jump destination. */
static CORE_ADDR static CORE_ADDR
amd64_windows_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) amd64_windows_skip_trampoline_code (const frame_info_ptr &frame, CORE_ADDR pc)
{ {
CORE_ADDR destination = 0; CORE_ADDR destination = 0;
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);

View File

@@ -846,7 +846,7 @@ struct amdgpu_frame_cache
}; };
static amdgpu_frame_cache * static amdgpu_frame_cache *
amdgpu_frame_cache (frame_info_ptr this_frame, void **this_cache) amdgpu_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
if (*this_cache != nullptr) if (*this_cache != nullptr)
return (struct amdgpu_frame_cache *) *this_cache; return (struct amdgpu_frame_cache *) *this_cache;
@@ -862,7 +862,7 @@ amdgpu_frame_cache (frame_info_ptr this_frame, void **this_cache)
} }
static void static void
amdgpu_frame_this_id (frame_info_ptr this_frame, void **this_cache, amdgpu_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
frame_id *this_id) frame_id *this_id)
{ {
struct amdgpu_frame_cache *cache struct amdgpu_frame_cache *cache
@@ -880,13 +880,13 @@ amdgpu_frame_this_id (frame_info_ptr this_frame, void **this_cache,
} }
static frame_id static frame_id
amdgpu_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) amdgpu_dummy_id (struct gdbarch *gdbarch, const frame_info_ptr &this_frame)
{ {
return frame_id_build (0, get_frame_pc (this_frame)); return frame_id_build (0, get_frame_pc (this_frame));
} }
static struct value * static struct value *
amdgpu_frame_prev_register (frame_info_ptr this_frame, void **this_cache, amdgpu_frame_prev_register (const frame_info_ptr &this_frame, void **this_cache,
int regnum) int regnum)
{ {
return frame_unwind_got_register (this_frame, regnum, regnum); return frame_unwind_got_register (this_frame, regnum, regnum);

View File

@@ -159,7 +159,7 @@ static const int arc_linux_core_reg_offsets[] = {
Returns TRUE if this is a sigtramp frame. */ Returns TRUE if this is a sigtramp frame. */
static bool static bool
arc_linux_is_sigtramp (frame_info_ptr this_frame) arc_linux_is_sigtramp (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
@@ -257,7 +257,7 @@ arc_linux_is_sigtramp (frame_info_ptr this_frame)
etc) in GDB hardcode values. */ etc) in GDB hardcode values. */
static CORE_ADDR static CORE_ADDR
arc_linux_sigcontext_addr (frame_info_ptr this_frame) arc_linux_sigcontext_addr (const frame_info_ptr &this_frame)
{ {
const int ucontext_offset = 0x80; const int ucontext_offset = 0x80;
const int sigcontext_offset = 0x14; const int sigcontext_offset = 0x14;

View File

@@ -998,7 +998,7 @@ arc_store_return_value (struct gdbarch *gdbarch, struct type *type,
/* Implement the "get_longjmp_target" gdbarch method. */ /* Implement the "get_longjmp_target" gdbarch method. */
static int static int
arc_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) arc_get_longjmp_target (const frame_info_ptr &frame, CORE_ADDR *pc)
{ {
arc_debug_printf ("called"); arc_debug_printf ("called");
@@ -1062,7 +1062,7 @@ arc_return_value (struct gdbarch *gdbarch, struct value *function,
frame pointer. */ frame pointer. */
static CORE_ADDR static CORE_ADDR
arc_frame_base_address (frame_info_ptr this_frame, void **prologue_cache) arc_frame_base_address (const frame_info_ptr &this_frame, void **prologue_cache)
{ {
return (CORE_ADDR) get_frame_register_unsigned (this_frame, ARC_FP_REGNUM); return (CORE_ADDR) get_frame_register_unsigned (this_frame, ARC_FP_REGNUM);
} }
@@ -1643,7 +1643,7 @@ arc_print_frame_cache (struct gdbarch *gdbarch, const char *message,
/* Frame unwinder for normal frames. */ /* Frame unwinder for normal frames. */
static struct arc_frame_cache * static struct arc_frame_cache *
arc_make_frame_cache (frame_info_ptr this_frame) arc_make_frame_cache (const frame_info_ptr &this_frame)
{ {
arc_debug_printf ("called"); arc_debug_printf ("called");
@@ -1710,7 +1710,7 @@ arc_make_frame_cache (frame_info_ptr this_frame)
/* Implement the "this_id" frame_unwind method. */ /* Implement the "this_id" frame_unwind method. */
static void static void
arc_frame_this_id (frame_info_ptr this_frame, void **this_cache, arc_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
arc_debug_printf ("called"); arc_debug_printf ("called");
@@ -1755,7 +1755,7 @@ arc_frame_this_id (frame_info_ptr this_frame, void **this_cache,
/* Implement the "prev_register" frame_unwind method. */ /* Implement the "prev_register" frame_unwind method. */
static struct value * static struct value *
arc_frame_prev_register (frame_info_ptr this_frame, arc_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
if (*this_cache == NULL) if (*this_cache == NULL)
@@ -1792,7 +1792,7 @@ arc_frame_prev_register (frame_info_ptr this_frame,
static void static void
arc_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, arc_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
struct dwarf2_frame_state_reg *reg, struct dwarf2_frame_state_reg *reg,
frame_info_ptr info) const frame_info_ptr &info)
{ {
if (regnum == gdbarch_pc_regnum (gdbarch)) if (regnum == gdbarch_pc_regnum (gdbarch))
/* The return address column. */ /* The return address column. */
@@ -1806,7 +1806,7 @@ arc_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
from within signal handlers. */ from within signal handlers. */
static struct arc_frame_cache * static struct arc_frame_cache *
arc_make_sigtramp_frame_cache (frame_info_ptr this_frame) arc_make_sigtramp_frame_cache (const frame_info_ptr &this_frame)
{ {
arc_debug_printf ("called"); arc_debug_printf ("called");
@@ -1845,7 +1845,7 @@ arc_make_sigtramp_frame_cache (frame_info_ptr this_frame)
frames. */ frames. */
static void static void
arc_sigtramp_frame_this_id (frame_info_ptr this_frame, arc_sigtramp_frame_this_id (const frame_info_ptr &this_frame,
void **this_cache, struct frame_id *this_id) void **this_cache, struct frame_id *this_id)
{ {
arc_debug_printf ("called"); arc_debug_printf ("called");
@@ -1864,7 +1864,7 @@ arc_sigtramp_frame_this_id (frame_info_ptr this_frame,
/* Get a register from a signal handler frame. */ /* Get a register from a signal handler frame. */
static struct value * static struct value *
arc_sigtramp_frame_prev_register (frame_info_ptr this_frame, arc_sigtramp_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
arc_debug_printf ("regnum = %d", regnum); arc_debug_printf ("regnum = %d", regnum);
@@ -1882,7 +1882,7 @@ arc_sigtramp_frame_prev_register (frame_info_ptr this_frame,
static int static int
arc_sigtramp_frame_sniffer (const struct frame_unwind *self, arc_sigtramp_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
arc_debug_printf ("called"); arc_debug_printf ("called");

View File

@@ -131,10 +131,10 @@ struct arc_gdbarch_tdep : gdbarch_tdep_base
bool has_hw_loops = false; bool has_hw_loops = false;
/* Detect sigtramp. */ /* Detect sigtramp. */
bool (*is_sigtramp) (frame_info_ptr) = nullptr; bool (*is_sigtramp) (const frame_info_ptr &) = nullptr;
/* Get address of sigcontext for sigtramp. */ /* Get address of sigcontext for sigtramp. */
CORE_ADDR (*sigcontext_addr) (frame_info_ptr) = nullptr; CORE_ADDR (*sigcontext_addr) (const frame_info_ptr &) = nullptr;
/* Offset of registers in `struct sigcontext'. */ /* Offset of registers in `struct sigcontext'. */
const int *sc_reg_offset = nullptr; const int *sc_reg_offset = nullptr;

View File

@@ -140,7 +140,7 @@ default_get_memtag (struct gdbarch *gdbarch, struct value *address,
} }
CORE_ADDR CORE_ADDR
generic_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) generic_skip_trampoline_code (const frame_info_ptr &frame, CORE_ADDR pc)
{ {
return 0; return 0;
} }
@@ -166,7 +166,7 @@ generic_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
int int
default_code_of_frame_writable (struct gdbarch *gdbarch, default_code_of_frame_writable (struct gdbarch *gdbarch,
frame_info_ptr frame) const frame_info_ptr &frame)
{ {
return 1; return 1;
} }
@@ -1079,7 +1079,7 @@ default_type_align (struct gdbarch *gdbarch, struct type *type)
/* See arch-utils.h. */ /* See arch-utils.h. */
std::string std::string
default_get_pc_address_flags (frame_info_ptr frame, CORE_ADDR pc) default_get_pc_address_flags (const frame_info_ptr &frame, CORE_ADDR pc)
{ {
return ""; return "";
} }
@@ -1105,7 +1105,8 @@ default_use_target_description_from_corefile_notes (struct gdbarch *gdbarch,
} }
CORE_ADDR CORE_ADDR
default_get_return_buf_addr (struct type *val_type, frame_info_ptr cur_frame) default_get_return_buf_addr (struct type *val_type,
const frame_info_ptr &cur_frame)
{ {
return 0; return 0;
} }

View File

@@ -158,7 +158,7 @@ struct value *default_get_memtag (struct gdbarch *gdbarch,
struct value *address, struct value *address,
memtag_type tag_type); memtag_type tag_type);
extern CORE_ADDR generic_skip_trampoline_code (frame_info_ptr frame, extern CORE_ADDR generic_skip_trampoline_code (const frame_info_ptr &frame,
CORE_ADDR pc); CORE_ADDR pc);
extern CORE_ADDR generic_skip_solib_resolver (struct gdbarch *gdbarch, extern CORE_ADDR generic_skip_solib_resolver (struct gdbarch *gdbarch,
@@ -171,7 +171,7 @@ extern int generic_stack_frame_destroyed_p (struct gdbarch *gdbarch,
CORE_ADDR pc); CORE_ADDR pc);
extern int default_code_of_frame_writable (struct gdbarch *gdbarch, extern int default_code_of_frame_writable (struct gdbarch *gdbarch,
frame_info_ptr frame); const frame_info_ptr &frame);
/* By default, registers are not convertible. */ /* By default, registers are not convertible. */
extern int generic_convert_register_p (struct gdbarch *gdbarch, int regnum, extern int generic_convert_register_p (struct gdbarch *gdbarch, int regnum,
@@ -295,7 +295,7 @@ extern ULONGEST default_type_align (struct gdbarch *gdbarch,
struct type *type); struct type *type);
/* Default implementation of gdbarch get_pc_address_flags method. */ /* Default implementation of gdbarch get_pc_address_flags method. */
extern std::string default_get_pc_address_flags (frame_info_ptr frame, extern std::string default_get_pc_address_flags (const frame_info_ptr &frame,
CORE_ADDR pc); CORE_ADDR pc);
/* Default implementation of gdbarch read_core_file_mappings method. */ /* Default implementation of gdbarch read_core_file_mappings method. */
@@ -313,7 +313,7 @@ extern bool default_use_target_description_from_corefile_notes
/* Default implementation of gdbarch default_get_return_buf_addr method. */ /* Default implementation of gdbarch default_get_return_buf_addr method. */
extern CORE_ADDR default_get_return_buf_addr (struct type *val_typegdbarch, extern CORE_ADDR default_get_return_buf_addr (struct type *val_typegdbarch,
frame_info_ptr cur_frame); const frame_info_ptr &cur_frame);
/* Default implementation of gdbarch default_dwarf2_omit_typedef_p method. */ /* Default implementation of gdbarch default_dwarf2_omit_typedef_p method. */
extern bool default_dwarf2_omit_typedef_p (struct type *target_type, extern bool default_dwarf2_omit_typedef_p (struct type *target_type,

View File

@@ -105,7 +105,7 @@ static const struct regcache_map_entry arm_fbsd_tls_regmap[] =
static void static void
arm_fbsd_sigframe_init (const struct tramp_frame *self, arm_fbsd_sigframe_init (const struct tramp_frame *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct trad_frame_cache *this_cache, struct trad_frame_cache *this_cache,
CORE_ADDR func) CORE_ADDR func)
{ {

View File

@@ -277,7 +277,7 @@ static struct arm_get_next_pcs_ops arm_linux_get_next_pcs_ops = {
}; };
static void static void
arm_linux_sigtramp_cache (frame_info_ptr this_frame, arm_linux_sigtramp_cache (const frame_info_ptr &this_frame,
struct trad_frame_cache *this_cache, struct trad_frame_cache *this_cache,
CORE_ADDR func, int regs_offset) CORE_ADDR func, int regs_offset)
{ {
@@ -300,7 +300,7 @@ arm_linux_sigtramp_cache (frame_info_ptr this_frame,
/* See arm-linux.h for stack layout details. */ /* See arm-linux.h for stack layout details. */
static void static void
arm_linux_sigreturn_init (const struct tramp_frame *self, arm_linux_sigreturn_init (const struct tramp_frame *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct trad_frame_cache *this_cache, struct trad_frame_cache *this_cache,
CORE_ADDR func) CORE_ADDR func)
{ {
@@ -320,7 +320,7 @@ arm_linux_sigreturn_init (const struct tramp_frame *self,
static void static void
arm_linux_rt_sigreturn_init (const struct tramp_frame *self, arm_linux_rt_sigreturn_init (const struct tramp_frame *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct trad_frame_cache *this_cache, struct trad_frame_cache *this_cache,
CORE_ADDR func) CORE_ADDR func)
{ {
@@ -343,7 +343,7 @@ arm_linux_rt_sigreturn_init (const struct tramp_frame *self,
static void static void
arm_linux_restart_syscall_init (const struct tramp_frame *self, arm_linux_restart_syscall_init (const struct tramp_frame *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct trad_frame_cache *this_cache, struct trad_frame_cache *this_cache,
CORE_ADDR func) CORE_ADDR func)
{ {
@@ -756,7 +756,7 @@ arm_linux_core_read_description (struct gdbarch *gdbarch,
will return to ARM or Thumb code. Return 0 if it is not a will return to ARM or Thumb code. Return 0 if it is not a
rt_sigreturn/sigreturn syscall. */ rt_sigreturn/sigreturn syscall. */
static int static int
arm_linux_sigreturn_return_addr (frame_info_ptr frame, arm_linux_sigreturn_return_addr (const frame_info_ptr &frame,
unsigned long svc_number, unsigned long svc_number,
CORE_ADDR *pc, int *is_thumb) CORE_ADDR *pc, int *is_thumb)
{ {
@@ -1720,7 +1720,7 @@ arm_linux_syscall_record (struct regcache *regcache, unsigned long svc_number)
/* Implement the skip_trampoline_code gdbarch method. */ /* Implement the skip_trampoline_code gdbarch method. */
static CORE_ADDR static CORE_ADDR
arm_linux_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) arm_linux_skip_trampoline_code (const frame_info_ptr &frame, CORE_ADDR pc)
{ {
CORE_ADDR target_pc = arm_skip_stub (frame, pc); CORE_ADDR target_pc = arm_skip_stub (frame, pc);

View File

@@ -30,7 +30,7 @@
static void static void
armobsd_sigframe_init (const struct tramp_frame *self, armobsd_sigframe_init (const struct tramp_frame *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct trad_frame_cache *cache, struct trad_frame_cache *cache,
CORE_ADDR func) CORE_ADDR func)
{ {

View File

@@ -339,7 +339,7 @@ arm_cache_init (struct arm_prologue_cache *cache, struct gdbarch *gdbarch)
/* Similar to the previous function, but extracts GDBARCH from FRAME. */ /* Similar to the previous function, but extracts GDBARCH from FRAME. */
static void static void
arm_cache_init (struct arm_prologue_cache *cache, frame_info_ptr frame) arm_cache_init (struct arm_prologue_cache *cache, const frame_info_ptr &frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);
arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch); arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch);
@@ -628,7 +628,7 @@ arm_is_thumb (struct regcache *regcache)
frame. */ frame. */
int int
arm_frame_is_thumb (frame_info_ptr frame) arm_frame_is_thumb (const frame_info_ptr &frame)
{ {
/* Check the architecture of FRAME. */ /* Check the architecture of FRAME. */
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);
@@ -2213,7 +2213,7 @@ arm_analyze_prologue (struct gdbarch *gdbarch,
} }
static void static void
arm_scan_prologue (frame_info_ptr this_frame, arm_scan_prologue (const frame_info_ptr &this_frame,
struct arm_prologue_cache *cache) struct arm_prologue_cache *cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -2310,7 +2310,7 @@ arm_scan_prologue (frame_info_ptr this_frame,
} }
static struct arm_prologue_cache * static struct arm_prologue_cache *
arm_make_prologue_cache (frame_info_ptr this_frame) arm_make_prologue_cache (const frame_info_ptr &this_frame)
{ {
int reg; int reg;
struct arm_prologue_cache *cache; struct arm_prologue_cache *cache;
@@ -2344,7 +2344,7 @@ arm_make_prologue_cache (frame_info_ptr this_frame)
/* Implementation of the stop_reason hook for arm_prologue frames. */ /* Implementation of the stop_reason hook for arm_prologue frames. */
static enum unwind_stop_reason static enum unwind_stop_reason
arm_prologue_unwind_stop_reason (frame_info_ptr this_frame, arm_prologue_unwind_stop_reason (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct arm_prologue_cache *cache; struct arm_prologue_cache *cache;
@@ -2372,7 +2372,7 @@ arm_prologue_unwind_stop_reason (frame_info_ptr this_frame,
and the caller's SP when we were called. */ and the caller's SP when we were called. */
static void static void
arm_prologue_this_id (frame_info_ptr this_frame, arm_prologue_this_id (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -2400,7 +2400,7 @@ arm_prologue_this_id (frame_info_ptr this_frame,
} }
static struct value * static struct value *
arm_prologue_prev_register (frame_info_ptr this_frame, arm_prologue_prev_register (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
int prev_regnum) int prev_regnum)
{ {
@@ -2794,7 +2794,7 @@ arm_find_exidx_entry (CORE_ADDR memaddr, CORE_ADDR *start)
for the ARM Architecture" document. */ for the ARM Architecture" document. */
static struct arm_prologue_cache * static struct arm_prologue_cache *
arm_exidx_fill_cache (frame_info_ptr this_frame, gdb_byte *entry) arm_exidx_fill_cache (const frame_info_ptr &this_frame, gdb_byte *entry)
{ {
CORE_ADDR vsp = 0; CORE_ADDR vsp = 0;
int vsp_valid = 0; int vsp_valid = 0;
@@ -3092,7 +3092,7 @@ arm_exidx_fill_cache (frame_info_ptr this_frame, gdb_byte *entry)
static int static int
arm_exidx_unwind_sniffer (const struct frame_unwind *self, arm_exidx_unwind_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -3199,7 +3199,7 @@ struct frame_unwind arm_exidx_unwind = {
}; };
static struct arm_prologue_cache * static struct arm_prologue_cache *
arm_make_epilogue_frame_cache (frame_info_ptr this_frame) arm_make_epilogue_frame_cache (const frame_info_ptr &this_frame)
{ {
struct arm_prologue_cache *cache; struct arm_prologue_cache *cache;
int reg; int reg;
@@ -3231,7 +3231,7 @@ arm_make_epilogue_frame_cache (frame_info_ptr this_frame)
'struct frame_uwnind' for epilogue unwinder. */ 'struct frame_uwnind' for epilogue unwinder. */
static void static void
arm_epilogue_frame_this_id (frame_info_ptr this_frame, arm_epilogue_frame_this_id (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -3259,7 +3259,7 @@ arm_epilogue_frame_this_id (frame_info_ptr this_frame,
'struct frame_uwnind' for epilogue unwinder. */ 'struct frame_uwnind' for epilogue unwinder. */
static struct value * static struct value *
arm_epilogue_frame_prev_register (frame_info_ptr this_frame, arm_epilogue_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
if (*this_cache == NULL) if (*this_cache == NULL)
@@ -3278,7 +3278,7 @@ static int thumb_stack_frame_destroyed_p (struct gdbarch *gdbarch,
static int static int
arm_epilogue_frame_sniffer (const struct frame_unwind *self, arm_epilogue_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
if (frame_relative_level (this_frame) == 0) if (frame_relative_level (this_frame) == 0)
@@ -3335,7 +3335,7 @@ static const struct frame_unwind arm_epilogue_frame_unwind =
The trampoline 'bx r2' doesn't belong to main. */ The trampoline 'bx r2' doesn't belong to main. */
static CORE_ADDR static CORE_ADDR
arm_skip_bx_reg (frame_info_ptr frame, CORE_ADDR pc) arm_skip_bx_reg (const frame_info_ptr &frame, CORE_ADDR pc)
{ {
/* The heuristics of recognizing such trampoline is that FRAME is /* The heuristics of recognizing such trampoline is that FRAME is
executing in Thumb mode and the instruction on PC is 'bx Rm'. */ executing in Thumb mode and the instruction on PC is 'bx Rm'. */
@@ -3367,7 +3367,7 @@ arm_skip_bx_reg (frame_info_ptr frame, CORE_ADDR pc)
} }
static struct arm_prologue_cache * static struct arm_prologue_cache *
arm_make_stub_cache (frame_info_ptr this_frame) arm_make_stub_cache (const frame_info_ptr &this_frame)
{ {
struct arm_prologue_cache *cache; struct arm_prologue_cache *cache;
@@ -3386,7 +3386,7 @@ arm_make_stub_cache (frame_info_ptr this_frame)
/* Our frame ID for a stub frame is the current SP and LR. */ /* Our frame ID for a stub frame is the current SP and LR. */
static void static void
arm_stub_this_id (frame_info_ptr this_frame, arm_stub_this_id (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -3404,7 +3404,7 @@ arm_stub_this_id (frame_info_ptr this_frame,
static int static int
arm_stub_unwind_sniffer (const struct frame_unwind *self, arm_stub_unwind_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
CORE_ADDR addr_in_block; CORE_ADDR addr_in_block;
@@ -3442,7 +3442,7 @@ struct frame_unwind arm_stub_unwind = {
returned. */ returned. */
static struct arm_prologue_cache * static struct arm_prologue_cache *
arm_m_exception_cache (frame_info_ptr this_frame) arm_m_exception_cache (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch); arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch);
@@ -3828,7 +3828,7 @@ arm_m_exception_cache (frame_info_ptr this_frame)
/* Implementation of the stop_reason hook for arm_m_exception frames. */ /* Implementation of the stop_reason hook for arm_m_exception frames. */
static enum unwind_stop_reason static enum unwind_stop_reason
arm_m_exception_frame_unwind_stop_reason (frame_info_ptr this_frame, arm_m_exception_frame_unwind_stop_reason (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct arm_prologue_cache *cache; struct arm_prologue_cache *cache;
@@ -3850,7 +3850,7 @@ arm_m_exception_frame_unwind_stop_reason (frame_info_ptr this_frame,
'struct frame_uwnind'. */ 'struct frame_uwnind'. */
static void static void
arm_m_exception_this_id (frame_info_ptr this_frame, arm_m_exception_this_id (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -3871,7 +3871,7 @@ arm_m_exception_this_id (frame_info_ptr this_frame,
'struct frame_uwnind'. */ 'struct frame_uwnind'. */
static struct value * static struct value *
arm_m_exception_prev_register (frame_info_ptr this_frame, arm_m_exception_prev_register (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
int prev_regnum) int prev_regnum)
{ {
@@ -3936,7 +3936,7 @@ arm_m_exception_prev_register (frame_info_ptr this_frame,
static int static int
arm_m_exception_unwind_sniffer (const struct frame_unwind *self, arm_m_exception_unwind_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -3964,7 +3964,7 @@ struct frame_unwind arm_m_exception_unwind =
}; };
static CORE_ADDR static CORE_ADDR
arm_normal_frame_base (frame_info_ptr this_frame, void **this_cache) arm_normal_frame_base (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct arm_prologue_cache *cache; struct arm_prologue_cache *cache;
@@ -3997,7 +3997,7 @@ struct arm_dwarf2_prev_register_cache
}; };
static struct value * static struct value *
arm_dwarf2_prev_register (frame_info_ptr this_frame, void **this_cache, arm_dwarf2_prev_register (const frame_info_ptr &this_frame, void **this_cache,
int regnum) int regnum)
{ {
struct gdbarch * gdbarch = get_frame_arch (this_frame); struct gdbarch * gdbarch = get_frame_arch (this_frame);
@@ -4897,7 +4897,7 @@ print_fpu_flags (struct ui_file *file, int flags)
(if present) or emulator. */ (if present) or emulator. */
static void static void
arm_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, arm_print_float_info (struct gdbarch *gdbarch, struct ui_file *file,
frame_info_ptr frame, const char *args) const frame_info_ptr &frame, const char *args)
{ {
unsigned long status = get_frame_register_unsigned (frame, ARM_FPS_REGNUM); unsigned long status = get_frame_register_unsigned (frame, ARM_FPS_REGNUM);
int type; int type;
@@ -5244,7 +5244,7 @@ static const unsigned char op_lit0 = DW_OP_lit0;
static void static void
arm_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, arm_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
struct dwarf2_frame_state_reg *reg, struct dwarf2_frame_state_reg *reg,
frame_info_ptr this_frame) const frame_info_ptr &this_frame)
{ {
arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch); arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch);
@@ -9343,7 +9343,7 @@ arm_return_value (struct gdbarch *gdbarch, struct value *function,
static int static int
arm_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) arm_get_longjmp_target (const frame_info_ptr &frame, CORE_ADDR *pc)
{ {
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);
arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch); arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch);
@@ -9415,7 +9415,7 @@ arm_is_sgstubs_section (struct obj_section *sec)
return the target PC. Otherwise return 0. */ return the target PC. Otherwise return 0. */
CORE_ADDR CORE_ADDR
arm_skip_stub (frame_info_ptr frame, CORE_ADDR pc) arm_skip_stub (const frame_info_ptr &frame, CORE_ADDR pc)
{ {
const char *name; const char *name;
int namelen; int namelen;
@@ -9821,7 +9821,7 @@ arm_neon_quad_read (struct gdbarch *gdbarch, readable_regcache *regcache,
register, in [0, 15]. */ register, in [0, 15]. */
static value * static value *
arm_neon_quad_read_value (gdbarch *gdbarch, frame_info_ptr next_frame, arm_neon_quad_read_value (gdbarch *gdbarch, const frame_info_ptr &next_frame,
int pseudo_reg_num, int quad_reg_index) int pseudo_reg_num, int quad_reg_index)
{ {
std::string raw_reg_name = string_printf ("d%d", quad_reg_index << 1); std::string raw_reg_name = string_printf ("d%d", quad_reg_index << 1);
@@ -9836,7 +9836,7 @@ arm_neon_quad_read_value (gdbarch *gdbarch, frame_info_ptr next_frame,
/* Read the contents of the MVE pseudo register REGNUM and return it as a /* Read the contents of the MVE pseudo register REGNUM and return it as a
value. */ value. */
static value * static value *
arm_mve_pseudo_read_value (gdbarch *gdbarch, frame_info_ptr next_frame, arm_mve_pseudo_read_value (gdbarch *gdbarch, const frame_info_ptr &next_frame,
int pseudo_reg_num) int pseudo_reg_num)
{ {
arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch); arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch);
@@ -9847,7 +9847,7 @@ arm_mve_pseudo_read_value (gdbarch *gdbarch, frame_info_ptr next_frame,
} }
static value * static value *
arm_pseudo_read_value (gdbarch *gdbarch, frame_info_ptr next_frame, arm_pseudo_read_value (gdbarch *gdbarch, const frame_info_ptr &next_frame,
const int pseudo_reg_num) const int pseudo_reg_num)
{ {
arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch); arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch);
@@ -9909,7 +9909,7 @@ arm_neon_quad_write (struct gdbarch *gdbarch, struct regcache *regcache,
} }
static void static void
arm_neon_quad_write (gdbarch *gdbarch, frame_info_ptr next_frame, arm_neon_quad_write (gdbarch *gdbarch, const frame_info_ptr &next_frame,
int quad_reg_index, gdb::array_view<const gdb_byte> buf) int quad_reg_index, gdb::array_view<const gdb_byte> buf)
{ {
std::string raw_reg_name = string_printf ("d%d", quad_reg_index << 1); std::string raw_reg_name = string_printf ("d%d", quad_reg_index << 1);
@@ -9923,7 +9923,7 @@ arm_neon_quad_write (gdbarch *gdbarch, frame_info_ptr next_frame,
/* Store the contents of BUF to the MVE pseudo register REGNUM. */ /* Store the contents of BUF to the MVE pseudo register REGNUM. */
static void static void
arm_mve_pseudo_write (gdbarch *gdbarch, frame_info_ptr next_frame, arm_mve_pseudo_write (gdbarch *gdbarch, const frame_info_ptr &next_frame,
int pseudo_reg_num, gdb::array_view<const gdb_byte> buf) int pseudo_reg_num, gdb::array_view<const gdb_byte> buf)
{ {
arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch); arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch);
@@ -9933,7 +9933,7 @@ arm_mve_pseudo_write (gdbarch *gdbarch, frame_info_ptr next_frame,
} }
static void static void
arm_pseudo_write (gdbarch *gdbarch, frame_info_ptr next_frame, arm_pseudo_write (gdbarch *gdbarch, const frame_info_ptr &next_frame,
const int pseudo_reg_num, const int pseudo_reg_num,
gdb::array_view<const gdb_byte> buf) gdb::array_view<const gdb_byte> buf)
{ {
@@ -9973,7 +9973,7 @@ arm_pseudo_write (gdbarch *gdbarch, frame_info_ptr next_frame,
} }
static struct value * static struct value *
value_of_arm_user_reg (frame_info_ptr frame, const void *baton) value_of_arm_user_reg (const frame_info_ptr &frame, const void *baton)
{ {
const int *reg_p = (const int *) baton; const int *reg_p = (const int *) baton;
return value_of_register (*reg_p, get_next_frame_sentinel_okay (frame)); return value_of_register (*reg_p, get_next_frame_sentinel_okay (frame));
@@ -10067,7 +10067,7 @@ arm_register_g_packet_guesses (struct gdbarch *gdbarch)
/* Implement the code_of_frame_writable gdbarch method. */ /* Implement the code_of_frame_writable gdbarch method. */
static int static int
arm_code_of_frame_writable (struct gdbarch *gdbarch, frame_info_ptr frame) arm_code_of_frame_writable (struct gdbarch *gdbarch, const frame_info_ptr &frame)
{ {
arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch); arm_gdbarch_tdep *tdep = gdbarch_tdep<arm_gdbarch_tdep> (gdbarch);
@@ -10095,7 +10095,7 @@ arm_gnu_triplet_regexp (struct gdbarch *gdbarch)
/* Implement the "get_pc_address_flags" gdbarch method. */ /* Implement the "get_pc_address_flags" gdbarch method. */
static std::string static std::string
arm_get_pc_address_flags (frame_info_ptr frame, CORE_ADDR pc) arm_get_pc_address_flags (const frame_info_ptr &frame, CORE_ADDR pc)
{ {
if (get_frame_pc_masked (frame)) if (get_frame_pc_masked (frame))
return "PAC"; return "PAC";

View File

@@ -279,7 +279,7 @@ extern void
arm_displaced_step_copy_insn_closure *dsc, int regno, arm_displaced_step_copy_insn_closure *dsc, int regno,
ULONGEST val, enum pc_write_style write_pc); ULONGEST val, enum pc_write_style write_pc);
CORE_ADDR arm_skip_stub (frame_info_ptr, CORE_ADDR); CORE_ADDR arm_skip_stub (const frame_info_ptr &, CORE_ADDR);
ULONGEST arm_get_next_pcs_read_memory_unsigned_integer (CORE_ADDR memaddr, ULONGEST arm_get_next_pcs_read_memory_unsigned_integer (CORE_ADDR memaddr,
int len, int len,
@@ -292,7 +292,7 @@ int arm_get_next_pcs_is_thumb (struct arm_get_next_pcs *self);
std::vector<CORE_ADDR> arm_software_single_step (struct regcache *); std::vector<CORE_ADDR> arm_software_single_step (struct regcache *);
int arm_is_thumb (struct regcache *regcache); int arm_is_thumb (struct regcache *regcache);
int arm_frame_is_thumb (frame_info_ptr frame); int arm_frame_is_thumb (const frame_info_ptr &frame);
extern void arm_displaced_step_fixup (struct gdbarch *, extern void arm_displaced_step_fixup (struct gdbarch *,
displaced_step_copy_insn_closure *, displaced_step_copy_insn_closure *,

View File

@@ -36,7 +36,7 @@ static const gdb_byte arm_wince_thumb_le_breakpoint[] = { 0xfe, 0xdf };
#define ARM_WINCE_JB_PC 10 #define ARM_WINCE_JB_PC 10
static CORE_ADDR static CORE_ADDR
arm_pe_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) arm_pe_skip_trampoline_code (const frame_info_ptr &frame, CORE_ADDR pc)
{ {
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);

View File

@@ -979,7 +979,7 @@ avr_return_value (struct gdbarch *gdbarch, struct value *function,
for it IS the sp for the next frame. */ for it IS the sp for the next frame. */
static struct avr_unwind_cache * static struct avr_unwind_cache *
avr_frame_unwind_cache (frame_info_ptr this_frame, avr_frame_unwind_cache (const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
CORE_ADDR start_pc, current_pc; CORE_ADDR start_pc, current_pc;
@@ -1059,7 +1059,7 @@ avr_frame_unwind_cache (frame_info_ptr this_frame,
} }
static CORE_ADDR static CORE_ADDR
avr_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) avr_unwind_pc (struct gdbarch *gdbarch, const frame_info_ptr &next_frame)
{ {
ULONGEST pc; ULONGEST pc;
@@ -1069,7 +1069,7 @@ avr_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame)
} }
static CORE_ADDR static CORE_ADDR
avr_unwind_sp (struct gdbarch *gdbarch, frame_info_ptr next_frame) avr_unwind_sp (struct gdbarch *gdbarch, const frame_info_ptr &next_frame)
{ {
ULONGEST sp; ULONGEST sp;
@@ -1082,7 +1082,7 @@ avr_unwind_sp (struct gdbarch *gdbarch, frame_info_ptr next_frame)
frame. This will be used to create a new GDB frame struct. */ frame. This will be used to create a new GDB frame struct. */
static void static void
avr_frame_this_id (frame_info_ptr this_frame, avr_frame_this_id (const frame_info_ptr &this_frame,
void **this_prologue_cache, void **this_prologue_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -1107,7 +1107,7 @@ avr_frame_this_id (frame_info_ptr this_frame,
} }
static struct value * static struct value *
avr_frame_prev_register (frame_info_ptr this_frame, avr_frame_prev_register (const frame_info_ptr &this_frame,
void **this_prologue_cache, int regnum) void **this_prologue_cache, int regnum)
{ {
struct avr_unwind_cache *info struct avr_unwind_cache *info
@@ -1166,7 +1166,7 @@ static const struct frame_unwind avr_frame_unwind = {
}; };
static CORE_ADDR static CORE_ADDR
avr_frame_base_address (frame_info_ptr this_frame, void **this_cache) avr_frame_base_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct avr_unwind_cache *info struct avr_unwind_cache *info
= avr_frame_unwind_cache (this_frame, this_cache); = avr_frame_unwind_cache (this_frame, this_cache);
@@ -1186,7 +1186,7 @@ static const struct frame_base avr_frame_base = {
save_dummy_frame_tos(), and the PC match the dummy frame's breakpoint. */ save_dummy_frame_tos(), and the PC match the dummy frame's breakpoint. */
static struct frame_id static struct frame_id
avr_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) avr_dummy_id (struct gdbarch *gdbarch, const frame_info_ptr &this_frame)
{ {
ULONGEST base; ULONGEST base;

View File

@@ -95,7 +95,7 @@ static const int bfin_linux_sigcontext_reg_offset[BFIN_NUM_REGS] =
static void static void
bfin_linux_sigframe_init (const struct tramp_frame *self, bfin_linux_sigframe_init (const struct tramp_frame *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct trad_frame_cache *this_cache, struct trad_frame_cache *this_cache,
CORE_ADDR func) CORE_ADDR func)
{ {

View File

@@ -288,7 +288,7 @@ bfin_alloc_frame_cache (void)
} }
static struct bfin_frame_cache * static struct bfin_frame_cache *
bfin_frame_cache (frame_info_ptr this_frame, void **this_cache) bfin_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct bfin_frame_cache *cache; struct bfin_frame_cache *cache;
int i; int i;
@@ -340,7 +340,7 @@ bfin_frame_cache (frame_info_ptr this_frame, void **this_cache)
} }
static void static void
bfin_frame_this_id (frame_info_ptr this_frame, bfin_frame_this_id (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -355,7 +355,7 @@ bfin_frame_this_id (frame_info_ptr this_frame,
} }
static struct value * static struct value *
bfin_frame_prev_register (frame_info_ptr this_frame, bfin_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
int regnum) int regnum)
{ {
@@ -724,7 +724,7 @@ bfin_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache,
} }
static CORE_ADDR static CORE_ADDR
bfin_frame_base_address (frame_info_ptr this_frame, void **this_cache) bfin_frame_base_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct bfin_frame_cache *cache = bfin_frame_cache (this_frame, this_cache); struct bfin_frame_cache *cache = bfin_frame_cache (this_frame, this_cache);
@@ -732,7 +732,7 @@ bfin_frame_base_address (frame_info_ptr this_frame, void **this_cache)
} }
static CORE_ADDR static CORE_ADDR
bfin_frame_local_address (frame_info_ptr this_frame, void **this_cache) bfin_frame_local_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct bfin_frame_cache *cache = bfin_frame_cache (this_frame, this_cache); struct bfin_frame_cache *cache = bfin_frame_cache (this_frame, this_cache);
@@ -740,7 +740,7 @@ bfin_frame_local_address (frame_info_ptr this_frame, void **this_cache)
} }
static CORE_ADDR static CORE_ADDR
bfin_frame_args_address (frame_info_ptr this_frame, void **this_cache) bfin_frame_args_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct bfin_frame_cache *cache = bfin_frame_cache (this_frame, this_cache); struct bfin_frame_cache *cache = bfin_frame_cache (this_frame, this_cache);

View File

@@ -52,7 +52,7 @@
slot instruction. */ slot instruction. */
const struct block * const struct block *
get_frame_block (frame_info_ptr frame, CORE_ADDR *addr_in_block) get_frame_block (const frame_info_ptr &frame, CORE_ADDR *addr_in_block)
{ {
CORE_ADDR pc; CORE_ADDR pc;
const struct block *bl; const struct block *bl;
@@ -115,7 +115,7 @@ get_pc_function_start (CORE_ADDR pc)
/* Return the symbol for the function executing in frame FRAME. */ /* Return the symbol for the function executing in frame FRAME. */
struct symbol * struct symbol *
get_frame_function (frame_info_ptr frame) get_frame_function (const frame_info_ptr &frame)
{ {
const struct block *bl = get_frame_block (frame, 0); const struct block *bl = get_frame_block (frame, 0);

View File

@@ -154,7 +154,7 @@ bpf_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
/* Given THIS_FRAME, return its ID. */ /* Given THIS_FRAME, return its ID. */
static void static void
bpf_frame_this_id (frame_info_ptr this_frame, bpf_frame_this_id (const frame_info_ptr &this_frame,
void **this_prologue_cache, void **this_prologue_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -165,7 +165,7 @@ bpf_frame_this_id (frame_info_ptr this_frame,
/* Return the reason why we can't unwind past THIS_FRAME. */ /* Return the reason why we can't unwind past THIS_FRAME. */
static enum unwind_stop_reason static enum unwind_stop_reason
bpf_frame_unwind_stop_reason (frame_info_ptr this_frame, bpf_frame_unwind_stop_reason (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
return UNWIND_OUTERMOST; return UNWIND_OUTERMOST;
@@ -174,7 +174,7 @@ bpf_frame_unwind_stop_reason (frame_info_ptr this_frame,
/* Ask THIS_FRAME to unwind its register. */ /* Ask THIS_FRAME to unwind its register. */
static struct value * static struct value *
bpf_frame_prev_register (frame_info_ptr this_frame, bpf_frame_prev_register (const frame_info_ptr &this_frame,
void **this_prologue_cache, int regnum) void **this_prologue_cache, int regnum)
{ {
return frame_unwind_got_register (this_frame, regnum, regnum); return frame_unwind_got_register (this_frame, regnum, regnum);
@@ -235,7 +235,7 @@ bpf_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size)
/* Assuming THIS_FRAME is a dummy frame, return its frame ID. */ /* Assuming THIS_FRAME is a dummy frame, return its frame ID. */
static struct frame_id static struct frame_id
bpf_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) bpf_dummy_id (struct gdbarch *gdbarch, const frame_info_ptr &this_frame)
{ {
CORE_ADDR sp = get_frame_register_unsigned (this_frame, CORE_ADDR sp = get_frame_register_unsigned (this_frame,
gdbarch_sp_regnum (gdbarch)); gdbarch_sp_regnum (gdbarch));

View File

@@ -153,7 +153,7 @@ cplus_make_method_ptr (struct type *type, gdb_byte *contents,
} }
CORE_ADDR CORE_ADDR
cplus_skip_trampoline (frame_info_ptr frame, cplus_skip_trampoline (const frame_info_ptr &frame,
CORE_ADDR stop_pc) CORE_ADDR stop_pc)
{ {
if (current_cp_abi.skip_trampoline == NULL) if (current_cp_abi.skip_trampoline == NULL)

View File

@@ -204,7 +204,7 @@ extern std::string cplus_typename_from_type_info (struct value *value);
address of the routine we are thunking to and continue to there address of the routine we are thunking to and continue to there
instead. */ instead. */
CORE_ADDR cplus_skip_trampoline (frame_info_ptr frame, CORE_ADDR cplus_skip_trampoline (const frame_info_ptr &frame,
CORE_ADDR stop_pc); CORE_ADDR stop_pc);
/* Return a struct that provides pass-by-reference information /* Return a struct that provides pass-by-reference information
@@ -247,7 +247,7 @@ struct cp_abi_ops
struct type *(*get_typeid_type) (struct gdbarch *gdbarch); struct type *(*get_typeid_type) (struct gdbarch *gdbarch);
struct type *(*get_type_from_type_info) (struct value *value); struct type *(*get_type_from_type_info) (struct value *value);
std::string (*get_typename_from_type_info) (struct value *value); std::string (*get_typename_from_type_info) (struct value *value);
CORE_ADDR (*skip_trampoline) (frame_info_ptr, CORE_ADDR); CORE_ADDR (*skip_trampoline) (const frame_info_ptr &, CORE_ADDR);
struct language_pass_by_ref_info (*pass_by_reference) (struct type *type); struct language_pass_by_ref_info (*pass_by_reference) (struct type *type);
}; };

View File

@@ -193,7 +193,7 @@ static const unsigned short rt_sigtramp_code[] =
the routine. Otherwise, return 0. */ the routine. Otherwise, return 0. */
static CORE_ADDR static CORE_ADDR
cris_sigtramp_start (frame_info_ptr this_frame) cris_sigtramp_start (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
gdb_byte buf[SIGTRAMP_LEN]; gdb_byte buf[SIGTRAMP_LEN];
@@ -221,7 +221,7 @@ cris_sigtramp_start (frame_info_ptr this_frame)
the routine. Otherwise, return 0. */ the routine. Otherwise, return 0. */
static CORE_ADDR static CORE_ADDR
cris_rt_sigtramp_start (frame_info_ptr this_frame) cris_rt_sigtramp_start (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
gdb_byte buf[SIGTRAMP_LEN]; gdb_byte buf[SIGTRAMP_LEN];
@@ -249,7 +249,7 @@ cris_rt_sigtramp_start (frame_info_ptr this_frame)
return the address of the associated sigcontext structure. */ return the address of the associated sigcontext structure. */
static CORE_ADDR static CORE_ADDR
cris_sigcontext_addr (frame_info_ptr this_frame) cris_sigcontext_addr (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -309,7 +309,7 @@ struct cris_unwind_cache
}; };
static struct cris_unwind_cache * static struct cris_unwind_cache *
cris_sigtramp_frame_unwind_cache (frame_info_ptr this_frame, cris_sigtramp_frame_unwind_cache (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -402,7 +402,7 @@ cris_sigtramp_frame_unwind_cache (frame_info_ptr this_frame,
} }
static void static void
cris_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_cache, cris_sigtramp_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
struct cris_unwind_cache *cache = struct cris_unwind_cache *cache =
@@ -412,10 +412,10 @@ cris_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_cache,
/* Forward declaration. */ /* Forward declaration. */
static struct value *cris_frame_prev_register (frame_info_ptr this_frame, static struct value *cris_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum); void **this_cache, int regnum);
static struct value * static struct value *
cris_sigtramp_frame_prev_register (frame_info_ptr this_frame, cris_sigtramp_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
/* Make sure we've initialized the cache. */ /* Make sure we've initialized the cache. */
@@ -425,7 +425,7 @@ cris_sigtramp_frame_prev_register (frame_info_ptr this_frame,
static int static int
cris_sigtramp_frame_sniffer (const struct frame_unwind *self, cris_sigtramp_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
if (cris_sigtramp_start (this_frame) if (cris_sigtramp_start (this_frame)
@@ -448,7 +448,7 @@ static const struct frame_unwind cris_sigtramp_frame_unwind =
static int static int
crisv32_single_step_through_delay (struct gdbarch *gdbarch, crisv32_single_step_through_delay (struct gdbarch *gdbarch,
frame_info_ptr this_frame) const frame_info_ptr &this_frame)
{ {
cris_gdbarch_tdep *tdep = gdbarch_tdep<cris_gdbarch_tdep> (gdbarch); cris_gdbarch_tdep *tdep = gdbarch_tdep<cris_gdbarch_tdep> (gdbarch);
ULONGEST erp; ULONGEST erp;
@@ -645,11 +645,11 @@ static void set_cris_dwarf2_cfi (const char *ignore_args, int from_tty,
struct cmd_list_element *c); struct cmd_list_element *c);
static CORE_ADDR cris_scan_prologue (CORE_ADDR pc, static CORE_ADDR cris_scan_prologue (CORE_ADDR pc,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct cris_unwind_cache *info); struct cris_unwind_cache *info);
static CORE_ADDR crisv32_scan_prologue (CORE_ADDR pc, static CORE_ADDR crisv32_scan_prologue (CORE_ADDR pc,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct cris_unwind_cache *info); struct cris_unwind_cache *info);
/* When arguments must be pushed onto the stack, they go on in reverse /* When arguments must be pushed onto the stack, they go on in reverse
@@ -692,7 +692,7 @@ pop_stack_item (struct cris_stack_item *si)
for it IS the sp for the next frame. */ for it IS the sp for the next frame. */
static struct cris_unwind_cache * static struct cris_unwind_cache *
cris_frame_unwind_cache (frame_info_ptr this_frame, cris_frame_unwind_cache (const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -729,7 +729,7 @@ cris_frame_unwind_cache (frame_info_ptr this_frame,
frame. This will be used to create a new GDB frame struct. */ frame. This will be used to create a new GDB frame struct. */
static void static void
cris_frame_this_id (frame_info_ptr this_frame, cris_frame_this_id (const frame_info_ptr &this_frame,
void **this_prologue_cache, void **this_prologue_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -755,7 +755,7 @@ cris_frame_this_id (frame_info_ptr this_frame,
} }
static struct value * static struct value *
cris_frame_prev_register (frame_info_ptr this_frame, cris_frame_prev_register (const frame_info_ptr &this_frame,
void **this_prologue_cache, int regnum) void **this_prologue_cache, int regnum)
{ {
struct cris_unwind_cache *info struct cris_unwind_cache *info
@@ -912,7 +912,7 @@ static const struct frame_unwind cris_frame_unwind =
}; };
static CORE_ADDR static CORE_ADDR
cris_frame_base_address (frame_info_ptr this_frame, void **this_cache) cris_frame_base_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct cris_unwind_cache *info struct cris_unwind_cache *info
= cris_frame_unwind_cache (this_frame, this_cache); = cris_frame_unwind_cache (this_frame, this_cache);
@@ -1004,7 +1004,7 @@ static const struct frame_base cris_frame_base =
determine that it is a prologue (1). */ determine that it is a prologue (1). */
static CORE_ADDR static CORE_ADDR
cris_scan_prologue (CORE_ADDR pc, frame_info_ptr this_frame, cris_scan_prologue (CORE_ADDR pc, const frame_info_ptr &this_frame,
struct cris_unwind_cache *info) struct cris_unwind_cache *info)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -1287,7 +1287,7 @@ cris_scan_prologue (CORE_ADDR pc, frame_info_ptr this_frame,
} }
static CORE_ADDR static CORE_ADDR
crisv32_scan_prologue (CORE_ADDR pc, frame_info_ptr this_frame, crisv32_scan_prologue (CORE_ADDR pc, const frame_info_ptr &this_frame,
struct cris_unwind_cache *info) struct cris_unwind_cache *info)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -1756,7 +1756,7 @@ cris_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, int reg)
static void static void
cris_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, cris_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
struct dwarf2_frame_state_reg *reg, struct dwarf2_frame_state_reg *reg,
frame_info_ptr this_frame) const frame_info_ptr &this_frame)
{ {
/* The return address column. */ /* The return address column. */
if (regnum == gdbarch_pc_regnum (gdbarch)) if (regnum == gdbarch_pc_regnum (gdbarch))

View File

@@ -310,7 +310,7 @@ csky_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
static void static void
csky_linux_rt_sigreturn_init (const struct tramp_frame *self, csky_linux_rt_sigreturn_init (const struct tramp_frame *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct trad_frame_cache *this_cache, struct trad_frame_cache *this_cache,
CORE_ADDR func) CORE_ADDR func)
{ {
@@ -355,7 +355,7 @@ csky_linux_rt_sigreturn_tramp_frame = {
static void static void
csky_linux_rt_sigreturn_init_pt_regs (const struct tramp_frame *self, csky_linux_rt_sigreturn_init_pt_regs (const struct tramp_frame *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct trad_frame_cache *this_cache, struct trad_frame_cache *this_cache,
CORE_ADDR func) CORE_ADDR func)
{ {

View File

@@ -958,7 +958,7 @@ csky_analyze_prologue (struct gdbarch *gdbarch,
CORE_ADDR start_pc, CORE_ADDR start_pc,
CORE_ADDR limit_pc, CORE_ADDR limit_pc,
CORE_ADDR end_pc, CORE_ADDR end_pc,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct csky_unwind_cache *this_cache, struct csky_unwind_cache *this_cache,
lr_type_t lr_type) lr_type_t lr_type)
{ {
@@ -2063,7 +2063,7 @@ csky_analyze_lr_type (struct gdbarch *gdbarch,
/* Heuristic unwinder. */ /* Heuristic unwinder. */
static struct csky_unwind_cache * static struct csky_unwind_cache *
csky_frame_unwind_cache (frame_info_ptr this_frame) csky_frame_unwind_cache (const frame_info_ptr &this_frame)
{ {
CORE_ADDR prologue_start, prologue_end, func_end, prev_pc, block_addr; CORE_ADDR prologue_start, prologue_end, func_end, prev_pc, block_addr;
struct csky_unwind_cache *cache; struct csky_unwind_cache *cache;
@@ -2122,7 +2122,7 @@ csky_frame_unwind_cache (frame_info_ptr this_frame)
/* Implement the this_id function for the normal unwinder. */ /* Implement the this_id function for the normal unwinder. */
static void static void
csky_frame_this_id (frame_info_ptr this_frame, csky_frame_this_id (const frame_info_ptr &this_frame,
void **this_prologue_cache, struct frame_id *this_id) void **this_prologue_cache, struct frame_id *this_id)
{ {
struct csky_unwind_cache *cache; struct csky_unwind_cache *cache;
@@ -2143,7 +2143,7 @@ csky_frame_this_id (frame_info_ptr this_frame,
/* Implement the prev_register function for the normal unwinder. */ /* Implement the prev_register function for the normal unwinder. */
static struct value * static struct value *
csky_frame_prev_register (frame_info_ptr this_frame, csky_frame_prev_register (const frame_info_ptr &this_frame,
void **this_prologue_cache, int regnum) void **this_prologue_cache, int regnum)
{ {
struct csky_unwind_cache *cache; struct csky_unwind_cache *cache;
@@ -2172,7 +2172,7 @@ static const struct frame_unwind csky_unwind_cache = {
}; };
static CORE_ADDR static CORE_ADDR
csky_check_long_branch (frame_info_ptr frame, CORE_ADDR pc) csky_check_long_branch (const frame_info_ptr &frame, CORE_ADDR pc)
{ {
gdb_byte buf[8]; gdb_byte buf[8];
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);
@@ -2209,7 +2209,7 @@ csky_check_long_branch (frame_info_ptr frame, CORE_ADDR pc)
static int static int
csky_stub_unwind_sniffer (const struct frame_unwind *self, csky_stub_unwind_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
CORE_ADDR addr_in_block, pc; CORE_ADDR addr_in_block, pc;
@@ -2240,7 +2240,7 @@ csky_stub_unwind_sniffer (const struct frame_unwind *self,
} }
static struct csky_unwind_cache * static struct csky_unwind_cache *
csky_make_stub_cache (frame_info_ptr this_frame) csky_make_stub_cache (const frame_info_ptr &this_frame)
{ {
struct csky_unwind_cache *cache; struct csky_unwind_cache *cache;
@@ -2252,7 +2252,7 @@ csky_make_stub_cache (frame_info_ptr this_frame)
} }
static void static void
csky_stub_this_id (frame_info_ptr this_frame, csky_stub_this_id (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -2267,7 +2267,7 @@ csky_stub_this_id (frame_info_ptr this_frame,
} }
static struct value * static struct value *
csky_stub_prev_register (frame_info_ptr this_frame, csky_stub_prev_register (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
int prev_regnum) int prev_regnum)
{ {
@@ -2307,7 +2307,7 @@ static frame_unwind csky_stub_unwind = {
for the normal unwinder. */ for the normal unwinder. */
static CORE_ADDR static CORE_ADDR
csky_frame_base_address (frame_info_ptr this_frame, void **this_cache) csky_frame_base_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct csky_unwind_cache *cache; struct csky_unwind_cache *cache;
@@ -2330,7 +2330,7 @@ static const struct frame_base csky_frame_base = {
static void static void
csky_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, csky_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
struct dwarf2_frame_state_reg *reg, struct dwarf2_frame_state_reg *reg,
frame_info_ptr this_frame) const frame_info_ptr &this_frame)
{ {
if (regnum == gdbarch_pc_regnum (gdbarch)) if (regnum == gdbarch_pc_regnum (gdbarch))
reg->how = DWARF2_FRAME_REG_RA; reg->how = DWARF2_FRAME_REG_RA;

View File

@@ -129,7 +129,7 @@ public:
/* See probe.h. */ /* See probe.h. */
struct value *evaluate_argument (unsigned n, struct value *evaluate_argument (unsigned n,
frame_info_ptr frame) override; const frame_info_ptr &frame) override;
/* See probe.h. */ /* See probe.h. */
void compile_to_ax (struct agent_expr *aexpr, void compile_to_ax (struct agent_expr *aexpr,
@@ -708,7 +708,7 @@ dtrace_probe::can_evaluate_arguments () const
struct value * struct value *
dtrace_probe::evaluate_argument (unsigned n, dtrace_probe::evaluate_argument (unsigned n,
frame_info_ptr frame) const frame_info_ptr &frame)
{ {
struct gdbarch *gdbarch = this->get_gdbarch (); struct gdbarch *gdbarch = this->get_gdbarch ();
struct dtrace_probe_arg *arg; struct dtrace_probe_arg *arg;

View File

@@ -288,7 +288,7 @@ struct dummy_frame_cache
static int static int
dummy_frame_sniffer (const struct frame_unwind *self, dummy_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
/* When unwinding a normal frame, the stack structure is determined /* When unwinding a normal frame, the stack structure is determined
@@ -334,7 +334,7 @@ dummy_frame_sniffer (const struct frame_unwind *self,
register value is taken from the local copy of the register buffer. */ register value is taken from the local copy of the register buffer. */
static struct value * static struct value *
dummy_frame_prev_register (frame_info_ptr this_frame, dummy_frame_prev_register (const frame_info_ptr &this_frame,
void **this_prologue_cache, void **this_prologue_cache,
int regnum) int regnum)
{ {
@@ -364,7 +364,7 @@ dummy_frame_prev_register (frame_info_ptr this_frame,
dummy cache is located and saved in THIS_PROLOGUE_CACHE. */ dummy cache is located and saved in THIS_PROLOGUE_CACHE. */
static void static void
dummy_frame_this_id (frame_info_ptr this_frame, dummy_frame_this_id (const frame_info_ptr &this_frame,
void **this_prologue_cache, void **this_prologue_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -390,7 +390,7 @@ const struct frame_unwind dummy_frame_unwind =
/* See dummy-frame.h. */ /* See dummy-frame.h. */
struct frame_id struct frame_id
default_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) default_dummy_id (struct gdbarch *gdbarch, const frame_info_ptr &this_frame)
{ {
CORE_ADDR sp, pc; CORE_ADDR sp, pc;

View File

@@ -78,6 +78,6 @@ extern int find_dummy_frame_dtor (dummy_frame_dtor_ftype *dtor,
for THIS_FRAME assuming that the frame is a dummy frame. */ for THIS_FRAME assuming that the frame is a dummy frame. */
extern struct frame_id default_dummy_id (struct gdbarch *gdbarch, extern struct frame_id default_dummy_id (struct gdbarch *gdbarch,
frame_info_ptr this_frame); const frame_info_ptr &this_frame);
#endif /* !defined (DUMMY_FRAME_H) */ #endif /* !defined (DUMMY_FRAME_H) */

View File

@@ -32,7 +32,7 @@ get_imported_name (const struct symbol *sym)
/* Implement the read_variable method from symbol_computed_ops. */ /* Implement the read_variable method from symbol_computed_ops. */
static struct value * static struct value *
ada_imported_read_variable (struct symbol *symbol, frame_info_ptr frame) ada_imported_read_variable (struct symbol *symbol, const frame_info_ptr &frame)
{ {
const char *name = get_imported_name (symbol); const char *name = get_imported_name (symbol);
bound_minimal_symbol minsym = lookup_minimal_symbol_linkage (name, false); bound_minimal_symbol minsym = lookup_minimal_symbol_linkage (name, false);

View File

@@ -94,7 +94,7 @@ struct call_site_target
void iterate_over_addresses (struct gdbarch *call_site_gdbarch, void iterate_over_addresses (struct gdbarch *call_site_gdbarch,
const struct call_site *call_site, const struct call_site *call_site,
frame_info_ptr caller_frame, const frame_info_ptr &caller_frame,
iterate_ftype callback) const; iterate_ftype callback) const;
private: private:
@@ -201,7 +201,7 @@ struct call_site
throw NO_ENTRY_VALUE_ERROR. */ throw NO_ENTRY_VALUE_ERROR. */
void iterate_over_addresses (struct gdbarch *call_site_gdbarch, void iterate_over_addresses (struct gdbarch *call_site_gdbarch,
frame_info_ptr caller_frame, const frame_info_ptr &caller_frame,
call_site_target::iterate_ftype callback) call_site_target::iterate_ftype callback)
const const
{ {

View File

@@ -49,7 +49,7 @@ static const registry<gdbarch>::key<dwarf_gdbarch_types> dwarf_arch_cookie;
/* Ensure that a FRAME is defined, throw an exception otherwise. */ /* Ensure that a FRAME is defined, throw an exception otherwise. */
static void static void
ensure_have_frame (frame_info_ptr frame, const char *op_name) ensure_have_frame (const frame_info_ptr &frame, const char *op_name)
{ {
if (frame == nullptr) if (frame == nullptr)
throw_error (GENERIC_ERROR, throw_error (GENERIC_ERROR,
@@ -78,7 +78,7 @@ bits_to_bytes (ULONGEST start, ULONGEST n_bits)
/* See expr.h. */ /* See expr.h. */
CORE_ADDR CORE_ADDR
read_addr_from_reg (frame_info_ptr frame, int reg) read_addr_from_reg (const frame_info_ptr &frame, int reg)
{ {
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);
int regnum = dwarf_reg_to_regnum_or_error (gdbarch, reg); int regnum = dwarf_reg_to_regnum_or_error (gdbarch, reg);
@@ -112,7 +112,7 @@ static piece_closure *
allocate_piece_closure (dwarf2_per_cu_data *per_cu, allocate_piece_closure (dwarf2_per_cu_data *per_cu,
dwarf2_per_objfile *per_objfile, dwarf2_per_objfile *per_objfile,
std::vector<dwarf_expr_piece> &&pieces, std::vector<dwarf_expr_piece> &&pieces,
frame_info_ptr frame) const frame_info_ptr &frame)
{ {
piece_closure *c = new piece_closure; piece_closure *c = new piece_closure;
@@ -1076,7 +1076,7 @@ dwarf_expr_context::fetch_result (struct type *type, struct type *subobj_type,
value * value *
dwarf_expr_context::evaluate (const gdb_byte *addr, size_t len, bool as_lval, dwarf_expr_context::evaluate (const gdb_byte *addr, size_t len, bool as_lval,
dwarf2_per_cu_data *per_cu, frame_info_ptr frame, dwarf2_per_cu_data *per_cu, const frame_info_ptr &frame,
const struct property_addr_info *addr_info, const struct property_addr_info *addr_info,
struct type *type, struct type *subobj_type, struct type *type, struct type *subobj_type,
LONGEST subobj_offset) LONGEST subobj_offset)

View File

@@ -137,7 +137,7 @@ struct dwarf_expr_context
The ADDR_INFO property can be specified to override the range of The ADDR_INFO property can be specified to override the range of
memory addresses with the passed in buffer. */ memory addresses with the passed in buffer. */
value *evaluate (const gdb_byte *addr, size_t len, bool as_lval, value *evaluate (const gdb_byte *addr, size_t len, bool as_lval,
dwarf2_per_cu_data *per_cu, frame_info_ptr frame, dwarf2_per_cu_data *per_cu, const frame_info_ptr &frame,
const struct property_addr_info *addr_info = nullptr, const struct property_addr_info *addr_info = nullptr,
struct type *type = nullptr, struct type *type = nullptr,
struct type *subobj_type = nullptr, struct type *subobj_type = nullptr,
@@ -256,7 +256,7 @@ private:
/* Return the value of register number REG (a DWARF register number), /* Return the value of register number REG (a DWARF register number),
read as an address in a given FRAME. */ read as an address in a given FRAME. */
CORE_ADDR read_addr_from_reg (frame_info_ptr frame, int reg); CORE_ADDR read_addr_from_reg (const frame_info_ptr &frame, int reg);
void dwarf_expr_require_composition (const gdb_byte *, const gdb_byte *, void dwarf_expr_require_composition (const gdb_byte *, const gdb_byte *,
const char *); const char *);

View File

@@ -90,7 +90,7 @@ cache_eq (const void *arg1, const void *arg2)
tailcall_cache. */ tailcall_cache. */
static struct tailcall_cache * static struct tailcall_cache *
cache_new_ref1 (frame_info_ptr next_bottom_frame) cache_new_ref1 (const frame_info_ptr &next_bottom_frame)
{ {
struct tailcall_cache *cache = XCNEW (struct tailcall_cache); struct tailcall_cache *cache = XCNEW (struct tailcall_cache);
void **slot; void **slot;
@@ -137,7 +137,7 @@ cache_unref (struct tailcall_cache *cache)
return 0. */ return 0. */
static int static int
frame_is_tailcall (frame_info_ptr fi) frame_is_tailcall (const frame_info_ptr &fi)
{ {
return frame_unwinder_is (fi, &dwarf2_tailcall_frame_unwind); return frame_unwinder_is (fi, &dwarf2_tailcall_frame_unwind);
} }
@@ -146,12 +146,13 @@ frame_is_tailcall (frame_info_ptr fi)
call chain. Otherwise return NULL. No new reference is created. */ call chain. Otherwise return NULL. No new reference is created. */
static struct tailcall_cache * static struct tailcall_cache *
cache_find (frame_info_ptr fi) cache_find (const frame_info_ptr &initial_fi)
{ {
struct tailcall_cache *cache; struct tailcall_cache *cache;
struct tailcall_cache search; struct tailcall_cache search;
void **slot; void **slot;
frame_info_ptr fi = initial_fi;
while (frame_is_tailcall (fi)) while (frame_is_tailcall (fi))
{ {
fi = get_next_frame (fi); fi = get_next_frame (fi);
@@ -173,7 +174,7 @@ cache_find (frame_info_ptr fi)
If THIS_FRAME is CACHE-> NEXT_BOTTOM_FRAME return -1. */ If THIS_FRAME is CACHE-> NEXT_BOTTOM_FRAME return -1. */
static int static int
existing_next_levels (frame_info_ptr this_frame, existing_next_levels (const frame_info_ptr &this_frame,
struct tailcall_cache *cache) struct tailcall_cache *cache)
{ {
int retval = (frame_relative_level (this_frame) int retval = (frame_relative_level (this_frame)
@@ -210,7 +211,7 @@ pretended_chain_levels (struct call_site_chain *chain)
Specific virtual tail call frames are tracked by INLINE_DEPTH. */ Specific virtual tail call frames are tracked by INLINE_DEPTH. */
static void static void
tailcall_frame_this_id (frame_info_ptr this_frame, void **this_cache, tailcall_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
struct tailcall_cache *cache = (struct tailcall_cache *) *this_cache; struct tailcall_cache *cache = (struct tailcall_cache *) *this_cache;
@@ -232,7 +233,7 @@ tailcall_frame_this_id (frame_info_ptr this_frame, void **this_cache,
CACHE. */ CACHE. */
static CORE_ADDR static CORE_ADDR
pretend_pc (frame_info_ptr this_frame, struct tailcall_cache *cache) pretend_pc (const frame_info_ptr &this_frame, struct tailcall_cache *cache)
{ {
int next_levels = existing_next_levels (this_frame, cache); int next_levels = existing_next_levels (this_frame, cache);
struct call_site_chain *chain = cache->chain; struct call_site_chain *chain = cache->chain;
@@ -264,7 +265,7 @@ pretend_pc (frame_info_ptr this_frame, struct tailcall_cache *cache)
frames unwind the NULL case differently. */ frames unwind the NULL case differently. */
struct value * struct value *
dwarf2_tailcall_prev_register_first (frame_info_ptr this_frame, dwarf2_tailcall_prev_register_first (const frame_info_ptr &this_frame,
void **tailcall_cachep, int regnum) void **tailcall_cachep, int regnum)
{ {
struct gdbarch *this_gdbarch = get_frame_arch (this_frame); struct gdbarch *this_gdbarch = get_frame_arch (this_frame);
@@ -294,7 +295,7 @@ dwarf2_tailcall_prev_register_first (frame_info_ptr this_frame,
dwarf2_tailcall_prev_register_first. */ dwarf2_tailcall_prev_register_first. */
static struct value * static struct value *
tailcall_frame_prev_register (frame_info_ptr this_frame, tailcall_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
struct tailcall_cache *cache = (struct tailcall_cache *) *this_cache; struct tailcall_cache *cache = (struct tailcall_cache *) *this_cache;
@@ -316,7 +317,7 @@ tailcall_frame_prev_register (frame_info_ptr this_frame,
static int static int
tailcall_frame_sniffer (const struct frame_unwind *self, tailcall_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, void **this_cache) const frame_info_ptr &this_frame, void **this_cache)
{ {
frame_info_ptr next_frame; frame_info_ptr next_frame;
int next_levels; int next_levels;
@@ -363,7 +364,7 @@ tailcall_frame_sniffer (const struct frame_unwind *self,
address pushed on the stack. */ address pushed on the stack. */
void void
dwarf2_tailcall_sniffer_first (frame_info_ptr this_frame, dwarf2_tailcall_sniffer_first (const frame_info_ptr &this_frame,
void **tailcall_cachep, void **tailcall_cachep,
const LONGEST *entry_cfa_sp_offsetp) const LONGEST *entry_cfa_sp_offsetp)
{ {
@@ -458,7 +459,7 @@ tailcall_frame_dealloc_cache (frame_info *self, void *this_cache)
call frames have gdbarch of the bottom (callee) frame. */ call frames have gdbarch of the bottom (callee) frame. */
static struct gdbarch * static struct gdbarch *
tailcall_frame_prev_arch (frame_info_ptr this_frame, tailcall_frame_prev_arch (const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
struct tailcall_cache *cache = (struct tailcall_cache *) *this_prologue_cache; struct tailcall_cache *cache = (struct tailcall_cache *) *this_prologue_cache;

View File

@@ -26,12 +26,12 @@ struct frame_unwind;
/* The tail call frame unwinder. */ /* The tail call frame unwinder. */
extern void extern void
dwarf2_tailcall_sniffer_first (frame_info_ptr this_frame, dwarf2_tailcall_sniffer_first (const frame_info_ptr &this_frame,
void **tailcall_cachep, void **tailcall_cachep,
const LONGEST *entry_cfa_sp_offsetp); const LONGEST *entry_cfa_sp_offsetp);
extern struct value * extern struct value *
dwarf2_tailcall_prev_register_first (frame_info_ptr this_frame, dwarf2_tailcall_prev_register_first (const frame_info_ptr &this_frame,
void **tailcall_cachep, int regnum); void **tailcall_cachep, int regnum);
extern const struct frame_unwind dwarf2_tailcall_frame_unwind; extern const struct frame_unwind dwarf2_tailcall_frame_unwind;

View File

@@ -233,7 +233,7 @@ register %s (#%d) at %s"),
static CORE_ADDR static CORE_ADDR
execute_stack_op (const gdb_byte *exp, ULONGEST len, int addr_size, execute_stack_op (const gdb_byte *exp, ULONGEST len, int addr_size,
frame_info_ptr this_frame, CORE_ADDR initial, const frame_info_ptr &this_frame, CORE_ADDR initial,
int initial_in_stack_memory, dwarf2_per_objfile *per_objfile) int initial_in_stack_memory, dwarf2_per_objfile *per_objfile)
{ {
dwarf_expr_context ctx (per_objfile, addr_size); dwarf_expr_context ctx (per_objfile, addr_size);
@@ -589,17 +589,17 @@ execute_cfa_program_test (struct gdbarch *gdbarch)
static void dwarf2_frame_default_init_reg (struct gdbarch *gdbarch, static void dwarf2_frame_default_init_reg (struct gdbarch *gdbarch,
int regnum, int regnum,
struct dwarf2_frame_state_reg *reg, struct dwarf2_frame_state_reg *reg,
frame_info_ptr this_frame); const frame_info_ptr &this_frame);
struct dwarf2_frame_ops struct dwarf2_frame_ops
{ {
/* Pre-initialize the register state REG for register REGNUM. */ /* Pre-initialize the register state REG for register REGNUM. */
void (*init_reg) (struct gdbarch *, int, struct dwarf2_frame_state_reg *, void (*init_reg) (struct gdbarch *, int, struct dwarf2_frame_state_reg *,
frame_info_ptr) const frame_info_ptr &)
= dwarf2_frame_default_init_reg; = dwarf2_frame_default_init_reg;
/* Check whether the THIS_FRAME is a signal trampoline. */ /* Check whether the THIS_FRAME is a signal trampoline. */
int (*signal_frame_p) (struct gdbarch *, frame_info_ptr) = nullptr; int (*signal_frame_p) (struct gdbarch *, const frame_info_ptr &) = nullptr;
/* Convert .eh_frame register number to DWARF register number, or /* Convert .eh_frame register number to DWARF register number, or
adjust .debug_frame register number. */ adjust .debug_frame register number. */
@@ -625,7 +625,7 @@ get_frame_ops (struct gdbarch *gdbarch)
static void static void
dwarf2_frame_default_init_reg (struct gdbarch *gdbarch, int regnum, dwarf2_frame_default_init_reg (struct gdbarch *gdbarch, int regnum,
struct dwarf2_frame_state_reg *reg, struct dwarf2_frame_state_reg *reg,
frame_info_ptr this_frame) const frame_info_ptr &this_frame)
{ {
/* If we have a register that acts as a program counter, mark it as /* If we have a register that acts as a program counter, mark it as
a destination for the return address. If we have a register that a destination for the return address. If we have a register that
@@ -666,7 +666,7 @@ void
dwarf2_frame_set_init_reg (struct gdbarch *gdbarch, dwarf2_frame_set_init_reg (struct gdbarch *gdbarch,
void (*init_reg) (struct gdbarch *, int, void (*init_reg) (struct gdbarch *, int,
struct dwarf2_frame_state_reg *, struct dwarf2_frame_state_reg *,
frame_info_ptr)) const frame_info_ptr &))
{ {
struct dwarf2_frame_ops *ops = get_frame_ops (gdbarch); struct dwarf2_frame_ops *ops = get_frame_ops (gdbarch);
@@ -678,7 +678,7 @@ dwarf2_frame_set_init_reg (struct gdbarch *gdbarch,
static void static void
dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
struct dwarf2_frame_state_reg *reg, struct dwarf2_frame_state_reg *reg,
frame_info_ptr this_frame) const frame_info_ptr &this_frame)
{ {
struct dwarf2_frame_ops *ops = get_frame_ops (gdbarch); struct dwarf2_frame_ops *ops = get_frame_ops (gdbarch);
@@ -691,7 +691,7 @@ dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
void void
dwarf2_frame_set_signal_frame_p (struct gdbarch *gdbarch, dwarf2_frame_set_signal_frame_p (struct gdbarch *gdbarch,
int (*signal_frame_p) (struct gdbarch *, int (*signal_frame_p) (struct gdbarch *,
frame_info_ptr)) const frame_info_ptr &))
{ {
struct dwarf2_frame_ops *ops = get_frame_ops (gdbarch); struct dwarf2_frame_ops *ops = get_frame_ops (gdbarch);
@@ -703,7 +703,7 @@ dwarf2_frame_set_signal_frame_p (struct gdbarch *gdbarch,
static int static int
dwarf2_frame_signal_frame_p (struct gdbarch *gdbarch, dwarf2_frame_signal_frame_p (struct gdbarch *gdbarch,
frame_info_ptr this_frame) const frame_info_ptr &this_frame)
{ {
struct dwarf2_frame_ops *ops = get_frame_ops (gdbarch); struct dwarf2_frame_ops *ops = get_frame_ops (gdbarch);
@@ -890,7 +890,7 @@ struct dwarf2_frame_cache
}; };
static struct dwarf2_frame_cache * static struct dwarf2_frame_cache *
dwarf2_frame_cache (frame_info_ptr this_frame, void **this_cache) dwarf2_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
const int num_regs = gdbarch_num_cooked_regs (gdbarch); const int num_regs = gdbarch_num_cooked_regs (gdbarch);
@@ -1120,7 +1120,7 @@ incomplete CFI data; unspecified registers (e.g., %s) at %s"),
} }
static enum unwind_stop_reason static enum unwind_stop_reason
dwarf2_frame_unwind_stop_reason (frame_info_ptr this_frame, dwarf2_frame_unwind_stop_reason (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct dwarf2_frame_cache *cache struct dwarf2_frame_cache *cache
@@ -1136,7 +1136,7 @@ dwarf2_frame_unwind_stop_reason (frame_info_ptr this_frame,
} }
static void static void
dwarf2_frame_this_id (frame_info_ptr this_frame, void **this_cache, dwarf2_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
struct dwarf2_frame_cache *cache = struct dwarf2_frame_cache *cache =
@@ -1151,7 +1151,7 @@ dwarf2_frame_this_id (frame_info_ptr this_frame, void **this_cache,
} }
static struct value * static struct value *
dwarf2_frame_prev_register (frame_info_ptr this_frame, void **this_cache, dwarf2_frame_prev_register (const frame_info_ptr &this_frame, void **this_cache,
int regnum) int regnum)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -1253,7 +1253,7 @@ dwarf2_frame_prev_register (frame_info_ptr this_frame, void **this_cache,
/* See frame.h. */ /* See frame.h. */
void * void *
dwarf2_frame_get_fn_data (frame_info_ptr this_frame, void **this_cache, dwarf2_frame_get_fn_data (const frame_info_ptr &this_frame, void **this_cache,
fn_prev_register cookie) fn_prev_register cookie)
{ {
struct dwarf2_frame_fn_data *fn_data = nullptr; struct dwarf2_frame_fn_data *fn_data = nullptr;
@@ -1271,7 +1271,7 @@ dwarf2_frame_get_fn_data (frame_info_ptr this_frame, void **this_cache,
/* See frame.h. */ /* See frame.h. */
void * void *
dwarf2_frame_allocate_fn_data (frame_info_ptr this_frame, void **this_cache, dwarf2_frame_allocate_fn_data (const frame_info_ptr &this_frame, void **this_cache,
fn_prev_register cookie, unsigned long size) fn_prev_register cookie, unsigned long size)
{ {
struct dwarf2_frame_fn_data *fn_data = nullptr; struct dwarf2_frame_fn_data *fn_data = nullptr;
@@ -1307,7 +1307,7 @@ dwarf2_frame_dealloc_cache (frame_info *self, void *this_cache)
static int static int
dwarf2_frame_sniffer (const struct frame_unwind *self, dwarf2_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, void **this_cache) const frame_info_ptr &this_frame, void **this_cache)
{ {
if (!dwarf2_frame_unwinders_enabled_p) if (!dwarf2_frame_unwinders_enabled_p)
return 0; return 0;
@@ -1383,7 +1383,7 @@ dwarf2_append_unwinders (struct gdbarch *gdbarch)
response to the "info frame" command. */ response to the "info frame" command. */
static CORE_ADDR static CORE_ADDR
dwarf2_frame_base_address (frame_info_ptr this_frame, void **this_cache) dwarf2_frame_base_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct dwarf2_frame_cache *cache = struct dwarf2_frame_cache *cache =
dwarf2_frame_cache (this_frame, this_cache); dwarf2_frame_cache (this_frame, this_cache);
@@ -1400,7 +1400,7 @@ static const struct frame_base dwarf2_frame_base =
}; };
const struct frame_base * const struct frame_base *
dwarf2_frame_base_sniffer (frame_info_ptr this_frame) dwarf2_frame_base_sniffer (const frame_info_ptr &this_frame)
{ {
CORE_ADDR block_addr = get_frame_address_in_block (this_frame); CORE_ADDR block_addr = get_frame_address_in_block (this_frame);
@@ -1415,8 +1415,10 @@ dwarf2_frame_base_sniffer (frame_info_ptr this_frame)
DW_OP_call_frame_cfa. */ DW_OP_call_frame_cfa. */
CORE_ADDR CORE_ADDR
dwarf2_frame_cfa (frame_info_ptr this_frame) dwarf2_frame_cfa (const frame_info_ptr &initial_this_frame)
{ {
frame_info_ptr this_frame = initial_this_frame;
if (frame_unwinder_is (this_frame, &record_btrace_tailcall_frame_unwind) if (frame_unwinder_is (this_frame, &record_btrace_tailcall_frame_unwind)
|| frame_unwinder_is (this_frame, &record_btrace_frame_unwind)) || frame_unwinder_is (this_frame, &record_btrace_frame_unwind))
throw_error (NOT_AVAILABLE_ERROR, throw_error (NOT_AVAILABLE_ERROR,

View File

@@ -66,7 +66,7 @@ enum dwarf2_frame_reg_rule
/* Register state. */ /* Register state. */
typedef struct value *(*fn_prev_register) (frame_info_ptr this_frame, typedef struct value *(*fn_prev_register) (const frame_info_ptr &this_frame,
void **this_cache, int regnum); void **this_cache, int regnum);
struct dwarf2_frame_state_reg struct dwarf2_frame_state_reg
@@ -207,18 +207,17 @@ extern bool dwarf2_frame_unwinders_enabled_p;
/* Set the architecture-specific register state initialization /* Set the architecture-specific register state initialization
function for GDBARCH to INIT_REG. */ function for GDBARCH to INIT_REG. */
extern void dwarf2_frame_set_init_reg (struct gdbarch *gdbarch, extern void dwarf2_frame_set_init_reg (
void (*init_reg) (struct gdbarch *, int, gdbarch *gdbarch, void (*init_reg) (struct gdbarch *, int,
struct dwarf2_frame_state_reg *, dwarf2_frame_state_reg *,
frame_info_ptr)); const frame_info_ptr &));
/* Set the architecture-specific signal trampoline recognition /* Set the architecture-specific signal trampoline recognition
function for GDBARCH to SIGNAL_FRAME_P. */ function for GDBARCH to SIGNAL_FRAME_P. */
extern void extern void dwarf2_frame_set_signal_frame_p
dwarf2_frame_set_signal_frame_p (struct gdbarch *gdbarch, (gdbarch *gdbarch, int (*signal_frame_p) (struct gdbarch *,
int (*signal_frame_p) (struct gdbarch *, const frame_info_ptr &));
frame_info_ptr));
/* Set the architecture-specific adjustment of .eh_frame and .debug_frame /* Set the architecture-specific adjustment of .eh_frame and .debug_frame
register numbers. */ register numbers. */
@@ -236,11 +235,11 @@ void dwarf2_append_unwinders (struct gdbarch *gdbarch);
NULL if it can't be handled by the DWARF CFI frame unwinder. */ NULL if it can't be handled by the DWARF CFI frame unwinder. */
extern const struct frame_base * extern const struct frame_base *
dwarf2_frame_base_sniffer (frame_info_ptr this_frame); dwarf2_frame_base_sniffer (const frame_info_ptr &this_frame);
/* Compute the DWARF CFA for a frame. */ /* Compute the DWARF CFA for a frame. */
CORE_ADDR dwarf2_frame_cfa (frame_info_ptr this_frame); CORE_ADDR dwarf2_frame_cfa (const frame_info_ptr &this_frame);
/* Find the CFA information for PC. /* Find the CFA information for PC.
@@ -276,7 +275,7 @@ extern int dwarf2_fetch_cfa_info (struct gdbarch *gdbarch, CORE_ADDR pc,
COOKIE is the key for the prev_function implementation. COOKIE is the key for the prev_function implementation.
SIZE is the size of the custom data object to allocate. */ SIZE is the size of the custom data object to allocate. */
extern void *dwarf2_frame_allocate_fn_data (frame_info_ptr this_frame, extern void *dwarf2_frame_allocate_fn_data (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
fn_prev_register cookie, fn_prev_register cookie,
unsigned long size); unsigned long size);
@@ -291,7 +290,7 @@ extern void *dwarf2_frame_allocate_fn_data (frame_info_ptr this_frame,
THIS_CACHE is the dwarf2 cache object to store the pointer on. THIS_CACHE is the dwarf2 cache object to store the pointer on.
COOKIE is the key for the prev_function implementation. */ COOKIE is the key for the prev_function implementation. */
extern void *dwarf2_frame_get_fn_data (frame_info_ptr this_frame, extern void *dwarf2_frame_get_fn_data (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
fn_prev_register cookie); fn_prev_register cookie);

View File

@@ -48,7 +48,7 @@
#include "gdbsupport/byte-vector.h" #include "gdbsupport/byte-vector.h"
static struct value *dwarf2_evaluate_loc_desc_full static struct value *dwarf2_evaluate_loc_desc_full
(struct type *type, frame_info_ptr frame, const gdb_byte *data, (struct type *type, const frame_info_ptr &frame, const gdb_byte *data,
size_t size, dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile, size_t size, dwarf2_per_cu_data *per_cu, dwarf2_per_objfile *per_objfile,
struct type *subobj_type, LONGEST subobj_byte_offset, bool as_lval = true); struct type *subobj_type, LONGEST subobj_byte_offset, bool as_lval = true);
@@ -503,7 +503,7 @@ locexpr_find_frame_base_location (struct symbol *framefunc, CORE_ADDR pc,
LOC_BLOCK functions using a DWARF expression as its DW_AT_frame_base. */ LOC_BLOCK functions using a DWARF expression as its DW_AT_frame_base. */
static CORE_ADDR static CORE_ADDR
locexpr_get_frame_base (struct symbol *framefunc, frame_info_ptr frame) locexpr_get_frame_base (struct symbol *framefunc, const frame_info_ptr &frame)
{ {
struct gdbarch *gdbarch; struct gdbarch *gdbarch;
struct type *type; struct type *type;
@@ -561,7 +561,7 @@ loclist_find_frame_base_location (struct symbol *framefunc, CORE_ADDR pc,
LOC_BLOCK functions using a DWARF location list as its DW_AT_frame_base. */ LOC_BLOCK functions using a DWARF location list as its DW_AT_frame_base. */
static CORE_ADDR static CORE_ADDR
loclist_get_frame_base (struct symbol *framefunc, frame_info_ptr frame) loclist_get_frame_base (struct symbol *framefunc, const frame_info_ptr &frame)
{ {
struct gdbarch *gdbarch; struct gdbarch *gdbarch;
struct type *type; struct type *type;
@@ -649,11 +649,10 @@ show_entry_values_debug (struct ui_file *file, int from_tty,
/* See gdbtypes.h. */ /* See gdbtypes.h. */
void void
call_site_target::iterate_over_addresses call_site_target::iterate_over_addresses (gdbarch *call_site_gdbarch,
(struct gdbarch *call_site_gdbarch, const call_site *call_site,
const struct call_site *call_site, const frame_info_ptr &caller_frame,
frame_info_ptr caller_frame, iterate_ftype callback) const
iterate_ftype callback) const
{ {
switch (m_loc_kind) switch (m_loc_kind)
{ {
@@ -1138,9 +1137,9 @@ call_site_parameter_matches (struct call_site_parameter *parameter,
/* See loc.h. */ /* See loc.h. */
struct call_site_parameter * struct call_site_parameter *
dwarf_expr_reg_to_entry_parameter (frame_info_ptr frame, dwarf_expr_reg_to_entry_parameter (const frame_info_ptr &initial_frame,
enum call_site_parameter_kind kind, call_site_parameter_kind kind,
union call_site_parameter_u kind_u, call_site_parameter_u kind_u,
dwarf2_per_cu_data **per_cu_return, dwarf2_per_cu_data **per_cu_return,
dwarf2_per_objfile **per_objfile_return) dwarf2_per_objfile **per_objfile_return)
{ {
@@ -1152,6 +1151,7 @@ dwarf_expr_reg_to_entry_parameter (frame_info_ptr frame,
/* Initialize it just to avoid a GCC false warning. */ /* Initialize it just to avoid a GCC false warning. */
struct call_site_parameter *parameter = NULL; struct call_site_parameter *parameter = NULL;
CORE_ADDR target_addr; CORE_ADDR target_addr;
frame_info_ptr frame = initial_frame;
while (get_frame_type (frame) == INLINE_FRAME) while (get_frame_type (frame) == INLINE_FRAME)
{ {
@@ -1263,7 +1263,7 @@ dwarf_expr_reg_to_entry_parameter (frame_info_ptr frame,
static struct value * static struct value *
dwarf_entry_parameter_to_value (struct call_site_parameter *parameter, dwarf_entry_parameter_to_value (struct call_site_parameter *parameter,
CORE_ADDR deref_size, struct type *type, CORE_ADDR deref_size, struct type *type,
frame_info_ptr caller_frame, const frame_info_ptr &caller_frame,
dwarf2_per_cu_data *per_cu, dwarf2_per_cu_data *per_cu,
dwarf2_per_objfile *per_objfile) dwarf2_per_objfile *per_objfile)
{ {
@@ -1339,7 +1339,7 @@ static const struct lval_funcs entry_data_value_funcs =
/* See dwarf2/loc.h. */ /* See dwarf2/loc.h. */
struct value * struct value *
value_of_dwarf_reg_entry (struct type *type, frame_info_ptr frame, value_of_dwarf_reg_entry (struct type *type, const frame_info_ptr &frame,
enum call_site_parameter_kind kind, enum call_site_parameter_kind kind,
union call_site_parameter_u kind_u) union call_site_parameter_u kind_u)
{ {
@@ -1395,7 +1395,7 @@ value_of_dwarf_reg_entry (struct type *type, frame_info_ptr frame,
cannot resolve the parameter for any reason. */ cannot resolve the parameter for any reason. */
static struct value * static struct value *
value_of_dwarf_block_entry (struct type *type, frame_info_ptr frame, value_of_dwarf_block_entry (struct type *type, const frame_info_ptr &frame,
const gdb_byte *block, size_t block_len) const gdb_byte *block, size_t block_len)
{ {
union call_site_parameter_u kind_u; union call_site_parameter_u kind_u;
@@ -1456,7 +1456,7 @@ struct value *
indirect_synthetic_pointer (sect_offset die, LONGEST byte_offset, indirect_synthetic_pointer (sect_offset die, LONGEST byte_offset,
dwarf2_per_cu_data *per_cu, dwarf2_per_cu_data *per_cu,
dwarf2_per_objfile *per_objfile, dwarf2_per_objfile *per_objfile,
frame_info_ptr frame, struct type *type, const frame_info_ptr &frame, struct type *type,
bool resolve_abstract_p) bool resolve_abstract_p)
{ {
/* Fetch the location expression of the DIE we're pointing to. */ /* Fetch the location expression of the DIE we're pointing to. */
@@ -1496,7 +1496,7 @@ indirect_synthetic_pointer (sect_offset die, LONGEST byte_offset,
SUBOBJ_BYTE_OFFSET within the variable of type TYPE. */ SUBOBJ_BYTE_OFFSET within the variable of type TYPE. */
static struct value * static struct value *
dwarf2_evaluate_loc_desc_full (struct type *type, frame_info_ptr frame, dwarf2_evaluate_loc_desc_full (struct type *type, const frame_info_ptr &frame,
const gdb_byte *data, size_t size, const gdb_byte *data, size_t size,
dwarf2_per_cu_data *per_cu, dwarf2_per_cu_data *per_cu,
dwarf2_per_objfile *per_objfile, dwarf2_per_objfile *per_objfile,
@@ -1561,7 +1561,7 @@ dwarf2_evaluate_loc_desc_full (struct type *type, frame_info_ptr frame,
passes 0 as the byte_offset. */ passes 0 as the byte_offset. */
struct value * struct value *
dwarf2_evaluate_loc_desc (struct type *type, frame_info_ptr frame, dwarf2_evaluate_loc_desc (struct type *type, const frame_info_ptr &frame,
const gdb_byte *data, size_t size, const gdb_byte *data, size_t size,
dwarf2_per_cu_data *per_cu, dwarf2_per_cu_data *per_cu,
dwarf2_per_objfile *per_objfile, bool as_lval) dwarf2_per_objfile *per_objfile, bool as_lval)
@@ -1584,7 +1584,7 @@ dwarf2_evaluate_loc_desc (struct type *type, frame_info_ptr frame,
static int static int
dwarf2_locexpr_baton_eval (const struct dwarf2_locexpr_baton *dlbaton, dwarf2_locexpr_baton_eval (const struct dwarf2_locexpr_baton *dlbaton,
frame_info_ptr frame, const frame_info_ptr &frame,
const struct property_addr_info *addr_stack, const struct property_addr_info *addr_stack,
CORE_ADDR *valp, CORE_ADDR *valp,
gdb::array_view<CORE_ADDR> push_values, gdb::array_view<CORE_ADDR> push_values,
@@ -1644,9 +1644,9 @@ dwarf2_locexpr_baton_eval (const struct dwarf2_locexpr_baton *dlbaton,
/* See dwarf2/loc.h. */ /* See dwarf2/loc.h. */
bool bool
dwarf2_evaluate_property (const struct dynamic_prop *prop, dwarf2_evaluate_property (const dynamic_prop *prop,
frame_info_ptr frame, const frame_info_ptr &initial_frame,
const struct property_addr_info *addr_stack, const property_addr_info *addr_stack,
CORE_ADDR *value, CORE_ADDR *value,
gdb::array_view<CORE_ADDR> push_values) gdb::array_view<CORE_ADDR> push_values)
{ {
@@ -1657,6 +1657,7 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop,
Without this here this could happen if the code below selects a Without this here this could happen if the code below selects a
frame. */ frame. */
scoped_restore_current_language save_language; scoped_restore_current_language save_language;
frame_info_ptr frame = initial_frame;
if (frame == NULL && has_stack_frames ()) if (frame == NULL && has_stack_frames ())
frame = get_selected_frame (NULL); frame = get_selected_frame (NULL);
@@ -3051,7 +3052,7 @@ dwarf2_compile_expr_to_ax (struct agent_expr *expr, struct axs_value *loc,
/* Return the value of SYMBOL in FRAME using the DWARF-2 expression /* Return the value of SYMBOL in FRAME using the DWARF-2 expression
evaluator to calculate the location. */ evaluator to calculate the location. */
static struct value * static struct value *
locexpr_read_variable (struct symbol *symbol, frame_info_ptr frame) locexpr_read_variable (struct symbol *symbol, const frame_info_ptr &frame)
{ {
struct dwarf2_locexpr_baton *dlbaton struct dwarf2_locexpr_baton *dlbaton
= (struct dwarf2_locexpr_baton *) SYMBOL_LOCATION_BATON (symbol); = (struct dwarf2_locexpr_baton *) SYMBOL_LOCATION_BATON (symbol);
@@ -3069,7 +3070,7 @@ locexpr_read_variable (struct symbol *symbol, frame_info_ptr frame)
will be thrown. */ will be thrown. */
static struct value * static struct value *
locexpr_read_variable_at_entry (struct symbol *symbol, frame_info_ptr frame) locexpr_read_variable_at_entry (struct symbol *symbol, const frame_info_ptr &frame)
{ {
struct dwarf2_locexpr_baton *dlbaton struct dwarf2_locexpr_baton *dlbaton
= (struct dwarf2_locexpr_baton *) SYMBOL_LOCATION_BATON (symbol); = (struct dwarf2_locexpr_baton *) SYMBOL_LOCATION_BATON (symbol);
@@ -3884,7 +3885,7 @@ const struct symbol_computed_ops dwarf2_locexpr_funcs = {
/* Return the value of SYMBOL in FRAME using the DWARF-2 expression /* Return the value of SYMBOL in FRAME using the DWARF-2 expression
evaluator to calculate the location. */ evaluator to calculate the location. */
static struct value * static struct value *
loclist_read_variable (struct symbol *symbol, frame_info_ptr frame) loclist_read_variable (struct symbol *symbol, const frame_info_ptr &frame)
{ {
struct dwarf2_loclist_baton *dlbaton struct dwarf2_loclist_baton *dlbaton
= (struct dwarf2_loclist_baton *) SYMBOL_LOCATION_BATON (symbol); = (struct dwarf2_loclist_baton *) SYMBOL_LOCATION_BATON (symbol);
@@ -3909,7 +3910,7 @@ loclist_read_variable (struct symbol *symbol, frame_info_ptr frame)
if it cannot resolve the parameter for any reason. */ if it cannot resolve the parameter for any reason. */
static struct value * static struct value *
loclist_read_variable_at_entry (struct symbol *symbol, frame_info_ptr frame) loclist_read_variable_at_entry (struct symbol *symbol, const frame_info_ptr &frame)
{ {
struct dwarf2_loclist_baton *dlbaton struct dwarf2_loclist_baton *dlbaton
= (struct dwarf2_loclist_baton *) SYMBOL_LOCATION_BATON (symbol); = (struct dwarf2_loclist_baton *) SYMBOL_LOCATION_BATON (symbol);

View File

@@ -65,9 +65,9 @@ value *compute_var_value (const char *name);
Function always returns non-NULL, it throws NO_ENTRY_VALUE_ERROR Function always returns non-NULL, it throws NO_ENTRY_VALUE_ERROR
otherwise. */ otherwise. */
struct call_site_parameter *dwarf_expr_reg_to_entry_parameter call_site_parameter *dwarf_expr_reg_to_entry_parameter
(frame_info_ptr frame, enum call_site_parameter_kind kind, (const frame_info_ptr &frame, call_site_parameter_kind kind,
union call_site_parameter_u kind_u, dwarf2_per_cu_data **per_cu_return, call_site_parameter_u kind_u, dwarf2_per_cu_data **per_cu_return,
dwarf2_per_objfile **per_objfile_return); dwarf2_per_objfile **per_objfile_return);
@@ -76,13 +76,11 @@ struct call_site_parameter *dwarf_expr_reg_to_entry_parameter
of FRAME. AS_LVAL defines if the resulting struct value is expected to of FRAME. AS_LVAL defines if the resulting struct value is expected to
be a value or a location description. */ be a value or a location description. */
struct value *dwarf2_evaluate_loc_desc (struct type *type, value *dwarf2_evaluate_loc_desc (type *type, const frame_info_ptr &frame,
frame_info_ptr frame, const gdb_byte *data, size_t size,
const gdb_byte *data, dwarf2_per_cu_data *per_cu,
size_t size, dwarf2_per_objfile *per_objfile,
dwarf2_per_cu_data *per_cu, bool as_lval = true);
dwarf2_per_objfile *per_objfile,
bool as_lval = true);
/* A chain of addresses that might be needed to resolve a dynamic /* A chain of addresses that might be needed to resolve a dynamic
property. */ property. */
@@ -121,8 +119,8 @@ struct property_addr_info
bottom of the stack. */ bottom of the stack. */
bool dwarf2_evaluate_property (const struct dynamic_prop *prop, bool dwarf2_evaluate_property (const struct dynamic_prop *prop,
frame_info_ptr frame, const frame_info_ptr &frame,
const struct property_addr_info *addr_stack, const property_addr_info *addr_stack,
CORE_ADDR *value, CORE_ADDR *value,
gdb::array_view<CORE_ADDR> push_values = {}); gdb::array_view<CORE_ADDR> push_values = {});
@@ -296,7 +294,7 @@ extern void invalid_synthetic_pointer ();
extern struct value *indirect_synthetic_pointer extern struct value *indirect_synthetic_pointer
(sect_offset die, LONGEST byte_offset, dwarf2_per_cu_data *per_cu, (sect_offset die, LONGEST byte_offset, dwarf2_per_cu_data *per_cu,
dwarf2_per_objfile *per_objfile, frame_info_ptr frame, dwarf2_per_objfile *per_objfile, const frame_info_ptr &frame,
struct type *type, bool resolve_abstract_p = false); struct type *type, bool resolve_abstract_p = false);
/* Read parameter of TYPE at (callee) FRAME's function entry. KIND and KIND_U /* Read parameter of TYPE at (callee) FRAME's function entry. KIND and KIND_U
@@ -307,7 +305,7 @@ extern struct value *indirect_synthetic_pointer
it cannot resolve the parameter for any reason. */ it cannot resolve the parameter for any reason. */
extern struct value *value_of_dwarf_reg_entry (struct type *type, extern struct value *value_of_dwarf_reg_entry (struct type *type,
struct frame_info_ptr frame, const frame_info_ptr &frame,
enum call_site_parameter_kind kind, enum call_site_parameter_kind kind,
union call_site_parameter_u kind_u); union call_site_parameter_u kind_u);
#endif /* DWARF2LOC_H */ #endif /* DWARF2LOC_H */

View File

@@ -180,7 +180,7 @@ struct extension_language_ops
or SCR_BT_COMPLETED on success. */ or SCR_BT_COMPLETED on success. */
enum ext_lang_bt_status (*apply_frame_filter) enum ext_lang_bt_status (*apply_frame_filter)
(const struct extension_language_defn *, (const struct extension_language_defn *,
frame_info_ptr frame, frame_filter_flags flags, const frame_info_ptr &frame, frame_filter_flags flags,
enum ext_lang_frame_args args_type, enum ext_lang_frame_args args_type,
struct ui_out *out, int frame_low, int frame_high); struct ui_out *out, int frame_low, int frame_high);

View File

@@ -525,7 +525,7 @@ apply_ext_lang_val_pretty_printer (struct value *val,
rather than trying filters in other extension languages. */ rather than trying filters in other extension languages. */
enum ext_lang_bt_status enum ext_lang_bt_status
apply_ext_lang_frame_filter (frame_info_ptr frame, apply_ext_lang_frame_filter (const frame_info_ptr &frame,
frame_filter_flags flags, frame_filter_flags flags,
enum ext_lang_frame_args args_type, enum ext_lang_frame_args args_type,
struct ui_out *out, struct ui_out *out,

View File

@@ -295,7 +295,7 @@ extern int apply_ext_lang_val_pretty_printer
const struct language_defn *language); const struct language_defn *language);
extern enum ext_lang_bt_status apply_ext_lang_frame_filter extern enum ext_lang_bt_status apply_ext_lang_frame_filter
(frame_info_ptr frame, frame_filter_flags flags, (const frame_info_ptr &frame, frame_filter_flags flags,
enum ext_lang_frame_args args_type, enum ext_lang_frame_args args_type,
struct ui_out *out, int frame_low, int frame_high); struct ui_out *out, int frame_low, int frame_high);

View File

@@ -246,7 +246,7 @@ copy_integer_to_size (gdb_byte *dest, int dest_size, const gdb_byte *source,
/* See value.h. */ /* See value.h. */
value * value *
value_of_register (int regnum, frame_info_ptr next_frame) value_of_register (int regnum, const frame_info_ptr &next_frame)
{ {
gdbarch *gdbarch = frame_unwind_arch (next_frame); gdbarch *gdbarch = frame_unwind_arch (next_frame);
@@ -263,7 +263,7 @@ value_of_register (int regnum, frame_info_ptr next_frame)
/* See value.h. */ /* See value.h. */
value * value *
value_of_register_lazy (frame_info_ptr next_frame, int regnum) value_of_register_lazy (const frame_info_ptr &next_frame, int regnum)
{ {
gdbarch *gdbarch = frame_unwind_arch (next_frame); gdbarch *gdbarch = frame_unwind_arch (next_frame);
@@ -377,7 +377,7 @@ symbol_read_needs_frame (struct symbol *sym)
static frame_info_ptr static frame_info_ptr
get_hosting_frame (struct symbol *var, const struct block *var_block, get_hosting_frame (struct symbol *var, const struct block *var_block,
frame_info_ptr frame) const frame_info_ptr &initial_frame)
{ {
const struct block *frame_block = NULL; const struct block *frame_block = NULL;
@@ -389,7 +389,7 @@ get_hosting_frame (struct symbol *var, const struct block *var_block,
synthetic symbols. Without block information, we must assume they are synthetic symbols. Without block information, we must assume they are
local to FRAME. In this case, there is nothing to do. */ local to FRAME. In this case, there is nothing to do. */
else if (var_block == NULL) else if (var_block == NULL)
return frame; return initial_frame;
/* We currently assume that all symbols with a location list need a frame. /* We currently assume that all symbols with a location list need a frame.
This is true in practice because selecting the location description This is true in practice because selecting the location description
@@ -398,15 +398,16 @@ get_hosting_frame (struct symbol *var, const struct block *var_block,
We want to get <optimized out> instead of <frame required> when evaluating We want to get <optimized out> instead of <frame required> when evaluating
them so return a frame instead of raising an error. */ them so return a frame instead of raising an error. */
else if (var_block->is_global_block () || var_block->is_static_block ()) else if (var_block->is_global_block () || var_block->is_static_block ())
return frame; return initial_frame;
/* We have to handle the "my_func::my_local_var" notation. This requires us /* We have to handle the "my_func::my_local_var" notation. This requires us
to look for upper frames when we find no block for the current frame: here to look for upper frames when we find no block for the current frame: here
and below, handle when frame_block == NULL. */ and below, handle when frame_block == NULL. */
if (frame != NULL) if (initial_frame != nullptr)
frame_block = get_frame_block (frame, NULL); frame_block = get_frame_block (initial_frame, NULL);
/* Climb up the call stack until reaching the frame we are looking for. */ /* Climb up the call stack until reaching the frame we are looking for. */
frame_info_ptr frame = initial_frame;
while (frame != NULL && frame_block != var_block) while (frame != NULL && frame_block != var_block)
{ {
/* Stacks can be quite deep: give the user a chance to stop this. */ /* Stacks can be quite deep: give the user a chance to stop this. */
@@ -476,12 +477,13 @@ get_hosting_frame (struct symbol *var, const struct block *var_block,
struct value * struct value *
language_defn::read_var_value (struct symbol *var, language_defn::read_var_value (struct symbol *var,
const struct block *var_block, const struct block *var_block,
frame_info_ptr frame) const const frame_info_ptr &frame_param) const
{ {
struct value *v; struct value *v;
struct type *type = var->type (); struct type *type = var->type ();
CORE_ADDR addr; CORE_ADDR addr;
enum symbol_needs_kind sym_need; enum symbol_needs_kind sym_need;
frame_info_ptr frame = frame_param;
/* Call check_typedef on our type to make sure that, if TYPE is /* Call check_typedef on our type to make sure that, if TYPE is
a TYPE_CODE_TYPEDEF, its length is set to the length of the target type a TYPE_CODE_TYPEDEF, its length is set to the length of the target type
@@ -704,7 +706,7 @@ language_defn::read_var_value (struct symbol *var,
struct value * struct value *
read_var_value (struct symbol *var, const struct block *var_block, read_var_value (struct symbol *var, const struct block *var_block,
frame_info_ptr frame) const frame_info_ptr &frame)
{ {
const struct language_defn *lang = language_def (var->language ()); const struct language_defn *lang = language_def (var->language ());
@@ -789,7 +791,7 @@ read_frame_register_value (value *value)
/* Return a value of type TYPE, stored in register REGNUM, in frame FRAME. */ /* Return a value of type TYPE, stored in register REGNUM, in frame FRAME. */
struct value * struct value *
value_from_register (struct type *type, int regnum, frame_info_ptr frame) value_from_register (struct type *type, int regnum, const frame_info_ptr &frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);
struct type *type1 = check_typedef (type); struct type *type1 = check_typedef (type);
@@ -836,7 +838,7 @@ value_from_register (struct type *type, int regnum, frame_info_ptr frame)
Will abort if register value is not available. */ Will abort if register value is not available. */
CORE_ADDR CORE_ADDR
address_from_register (int regnum, frame_info_ptr frame) address_from_register (int regnum, const frame_info_ptr &frame)
{ {
type *type = builtin_type (get_frame_arch (frame))->builtin_data_ptr; type *type = builtin_type (get_frame_arch (frame))->builtin_data_ptr;
value_ref_ptr v = release_value (value_from_register (type, regnum, frame)); value_ref_ptr v = release_value (value_from_register (type, regnum, frame));

View File

@@ -29,19 +29,19 @@
really need to override this. */ really need to override this. */
static CORE_ADDR static CORE_ADDR
default_frame_base_address (frame_info_ptr this_frame, void **this_cache) default_frame_base_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
return get_frame_base (this_frame); /* sigh! */ return get_frame_base (this_frame); /* sigh! */
} }
static CORE_ADDR static CORE_ADDR
default_frame_locals_address (frame_info_ptr this_frame, void **this_cache) default_frame_locals_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
return default_frame_base_address (this_frame, this_cache); return default_frame_base_address (this_frame, this_cache);
} }
static CORE_ADDR static CORE_ADDR
default_frame_args_address (frame_info_ptr this_frame, void **this_cache) default_frame_args_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
return default_frame_base_address (this_frame, this_cache); return default_frame_base_address (this_frame, this_cache);
} }
@@ -99,7 +99,7 @@ frame_base_set_default (struct gdbarch *gdbarch,
} }
const struct frame_base * const struct frame_base *
frame_base_find_by_frame (frame_info_ptr this_frame) frame_base_find_by_frame (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
struct frame_base_table *table = get_frame_base_table (gdbarch); struct frame_base_table *table = get_frame_base_table (gdbarch);

View File

@@ -42,17 +42,17 @@ struct regcache;
/* A generic base address. */ /* A generic base address. */
typedef CORE_ADDR (frame_this_base_ftype) (frame_info_ptr this_frame, typedef CORE_ADDR (frame_this_base_ftype) (const frame_info_ptr &this_frame,
void **this_base_cache); void **this_base_cache);
/* The base address of the frame's local variables. */ /* The base address of the frame's local variables. */
typedef CORE_ADDR (frame_this_locals_ftype) (frame_info_ptr this_frame, typedef CORE_ADDR (frame_this_locals_ftype) (const frame_info_ptr &this_frame,
void **this_base_cache); void **this_base_cache);
/* The base address of the frame's arguments / parameters. */ /* The base address of the frame's arguments / parameters. */
typedef CORE_ADDR (frame_this_args_ftype) (frame_info_ptr this_frame, typedef CORE_ADDR (frame_this_args_ftype) (const frame_info_ptr &this_frame,
void **this_base_cache); void **this_base_cache);
struct frame_base struct frame_base
@@ -68,7 +68,7 @@ struct frame_base
/* Given THIS frame, return the frame base methods for THIS frame, /* Given THIS frame, return the frame base methods for THIS frame,
or NULL if it can't handle THIS frame. */ or NULL if it can't handle THIS frame. */
typedef const struct frame_base *(frame_base_sniffer_ftype) (frame_info_ptr this_frame); typedef const struct frame_base *(frame_base_sniffer_ftype) (const frame_info_ptr &this_frame);
/* Append a frame base sniffer to the list. The sniffers are polled /* Append a frame base sniffer to the list. The sniffers are polled
in the order that they are appended. */ in the order that they are appended. */
@@ -86,6 +86,6 @@ extern void frame_base_set_default (struct gdbarch *gdbarch,
/* Iterate through the list of frame base handlers until one returns /* Iterate through the list of frame base handlers until one returns
an implementation. */ an implementation. */
extern const struct frame_base *frame_base_find_by_frame (frame_info_ptr this_frame); extern const struct frame_base *frame_base_find_by_frame (const frame_info_ptr &this_frame);
#endif #endif

View File

@@ -123,7 +123,7 @@ frame_unwind_append_unwinder (struct gdbarch *gdbarch,
unchanged and returns 0. */ unchanged and returns 0. */
static int static int
frame_unwind_try_unwinder (frame_info_ptr this_frame, void **this_cache, frame_unwind_try_unwinder (const frame_info_ptr &this_frame, void **this_cache,
const struct frame_unwind *unwinder) const struct frame_unwind *unwinder)
{ {
int res = 0; int res = 0;
@@ -183,7 +183,7 @@ frame_unwind_try_unwinder (frame_info_ptr this_frame, void **this_cache,
by this function. Possibly initialize THIS_CACHE. */ by this function. Possibly initialize THIS_CACHE. */
void void
frame_unwind_find_by_frame (frame_info_ptr this_frame, void **this_cache) frame_unwind_find_by_frame (const frame_info_ptr &this_frame, void **this_cache)
{ {
FRAME_SCOPED_DEBUG_ENTER_EXIT; FRAME_SCOPED_DEBUG_ENTER_EXIT;
frame_debug_printf ("this_frame=%d", frame_relative_level (this_frame)); frame_debug_printf ("this_frame=%d", frame_relative_level (this_frame));
@@ -217,7 +217,7 @@ frame_unwind_find_by_frame (frame_info_ptr this_frame, void **this_cache)
int int
default_frame_sniffer (const struct frame_unwind *self, default_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
return 1; return 1;
@@ -226,7 +226,7 @@ default_frame_sniffer (const struct frame_unwind *self,
/* The default frame unwinder stop_reason callback. */ /* The default frame unwinder stop_reason callback. */
enum unwind_stop_reason enum unwind_stop_reason
default_frame_unwind_stop_reason (frame_info_ptr this_frame, default_frame_unwind_stop_reason (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct frame_id this_id = get_frame_id (this_frame); struct frame_id this_id = get_frame_id (this_frame);
@@ -240,7 +240,7 @@ default_frame_unwind_stop_reason (frame_info_ptr this_frame,
/* See frame-unwind.h. */ /* See frame-unwind.h. */
CORE_ADDR CORE_ADDR
default_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) default_unwind_pc (struct gdbarch *gdbarch, const frame_info_ptr &next_frame)
{ {
int pc_regnum = gdbarch_pc_regnum (gdbarch); int pc_regnum = gdbarch_pc_regnum (gdbarch);
CORE_ADDR pc = frame_unwind_register_unsigned (next_frame, pc_regnum); CORE_ADDR pc = frame_unwind_register_unsigned (next_frame, pc_regnum);
@@ -251,7 +251,7 @@ default_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame)
/* See frame-unwind.h. */ /* See frame-unwind.h. */
CORE_ADDR CORE_ADDR
default_unwind_sp (struct gdbarch *gdbarch, frame_info_ptr next_frame) default_unwind_sp (struct gdbarch *gdbarch, const frame_info_ptr &next_frame)
{ {
int sp_regnum = gdbarch_sp_regnum (gdbarch); int sp_regnum = gdbarch_sp_regnum (gdbarch);
return frame_unwind_register_unsigned (next_frame, sp_regnum); return frame_unwind_register_unsigned (next_frame, sp_regnum);
@@ -263,7 +263,7 @@ default_unwind_sp (struct gdbarch *gdbarch, frame_info_ptr next_frame)
/* Return a value which indicates that FRAME did not save REGNUM. */ /* Return a value which indicates that FRAME did not save REGNUM. */
struct value * struct value *
frame_unwind_got_optimized (frame_info_ptr frame, int regnum) frame_unwind_got_optimized (const frame_info_ptr &frame, int regnum)
{ {
struct gdbarch *gdbarch = frame_unwind_arch (frame); struct gdbarch *gdbarch = frame_unwind_arch (frame);
struct type *type = register_type (gdbarch, regnum); struct type *type = register_type (gdbarch, regnum);
@@ -275,7 +275,7 @@ frame_unwind_got_optimized (frame_info_ptr frame, int regnum)
register NEW_REGNUM. */ register NEW_REGNUM. */
struct value * struct value *
frame_unwind_got_register (frame_info_ptr frame, frame_unwind_got_register (const frame_info_ptr &frame,
int regnum, int new_regnum) int regnum, int new_regnum)
{ {
return value_of_register_lazy (get_next_frame_sentinel_okay (frame), return value_of_register_lazy (get_next_frame_sentinel_okay (frame),
@@ -286,7 +286,7 @@ frame_unwind_got_register (frame_info_ptr frame,
ADDR. */ ADDR. */
struct value * struct value *
frame_unwind_got_memory (frame_info_ptr frame, int regnum, CORE_ADDR addr) frame_unwind_got_memory (const frame_info_ptr &frame, int regnum, CORE_ADDR addr)
{ {
struct gdbarch *gdbarch = frame_unwind_arch (frame); struct gdbarch *gdbarch = frame_unwind_arch (frame);
struct value *v = value_at_lazy (register_type (gdbarch, regnum), addr); struct value *v = value_at_lazy (register_type (gdbarch, regnum), addr);
@@ -299,7 +299,7 @@ frame_unwind_got_memory (frame_info_ptr frame, int regnum, CORE_ADDR addr)
REGNUM has a known constant (computed) value of VAL. */ REGNUM has a known constant (computed) value of VAL. */
struct value * struct value *
frame_unwind_got_constant (frame_info_ptr frame, int regnum, frame_unwind_got_constant (const frame_info_ptr &frame, int regnum,
ULONGEST val) ULONGEST val)
{ {
struct gdbarch *gdbarch = frame_unwind_arch (frame); struct gdbarch *gdbarch = frame_unwind_arch (frame);
@@ -313,7 +313,7 @@ frame_unwind_got_constant (frame_info_ptr frame, int regnum,
} }
struct value * struct value *
frame_unwind_got_bytes (frame_info_ptr frame, int regnum, const gdb_byte *buf) frame_unwind_got_bytes (const frame_info_ptr &frame, int regnum, const gdb_byte *buf)
{ {
struct gdbarch *gdbarch = frame_unwind_arch (frame); struct gdbarch *gdbarch = frame_unwind_arch (frame);
struct value *reg_val; struct value *reg_val;
@@ -329,7 +329,7 @@ frame_unwind_got_bytes (frame_info_ptr frame, int regnum, const gdb_byte *buf)
CORE_ADDR to a target address if necessary. */ CORE_ADDR to a target address if necessary. */
struct value * struct value *
frame_unwind_got_address (frame_info_ptr frame, int regnum, frame_unwind_got_address (const frame_info_ptr &frame, int regnum,
CORE_ADDR addr) CORE_ADDR addr)
{ {
struct gdbarch *gdbarch = frame_unwind_arch (frame); struct gdbarch *gdbarch = frame_unwind_arch (frame);

View File

@@ -50,37 +50,37 @@ struct value;
to set *THIS_PROLOGUE_CACHE to NULL. */ to set *THIS_PROLOGUE_CACHE to NULL. */
typedef int (frame_sniffer_ftype) (const struct frame_unwind *self, typedef int (frame_sniffer_ftype) (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache); void **this_prologue_cache);
typedef enum unwind_stop_reason (frame_unwind_stop_reason_ftype) typedef unwind_stop_reason (frame_unwind_stop_reason_ftype)
(frame_info_ptr this_frame, void **this_prologue_cache); (const frame_info_ptr &this_frame, void **this_prologue_cache);
/* A default frame sniffer which always accepts the frame. Used by /* A default frame sniffer which always accepts the frame. Used by
fallback prologue unwinders. */ fallback prologue unwinders. */
int default_frame_sniffer (const struct frame_unwind *self, int default_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache); void **this_prologue_cache);
/* A default stop_reason callback which always claims the frame is /* A default stop_reason callback which always claims the frame is
unwindable. */ unwindable. */
enum unwind_stop_reason enum unwind_stop_reason
default_frame_unwind_stop_reason (frame_info_ptr this_frame, default_frame_unwind_stop_reason (const frame_info_ptr &this_frame,
void **this_cache); void **this_cache);
/* A default unwind_pc callback that simply unwinds the register identified /* A default unwind_pc callback that simply unwinds the register identified
by GDBARCH_PC_REGNUM. */ by GDBARCH_PC_REGNUM. */
extern CORE_ADDR default_unwind_pc (struct gdbarch *gdbarch, extern CORE_ADDR default_unwind_pc (struct gdbarch *gdbarch,
frame_info_ptr next_frame); const frame_info_ptr &next_frame);
/* A default unwind_sp callback that simply unwinds the register identified /* A default unwind_sp callback that simply unwinds the register identified
by GDBARCH_SP_REGNUM. */ by GDBARCH_SP_REGNUM. */
extern CORE_ADDR default_unwind_sp (struct gdbarch *gdbarch, extern CORE_ADDR default_unwind_sp (struct gdbarch *gdbarch,
frame_info_ptr next_frame); const frame_info_ptr &next_frame);
/* Assuming the frame chain: (outer) prev <-> this <-> next (inner); /* Assuming the frame chain: (outer) prev <-> this <-> next (inner);
use THIS frame, and through it the NEXT frame's register unwind use THIS frame, and through it the NEXT frame's register unwind
@@ -105,7 +105,7 @@ extern CORE_ADDR default_unwind_sp (struct gdbarch *gdbarch,
with the other unwind methods. Memory for that cache should be with the other unwind methods. Memory for that cache should be
allocated using FRAME_OBSTACK_ZALLOC(). */ allocated using FRAME_OBSTACK_ZALLOC(). */
typedef void (frame_this_id_ftype) (frame_info_ptr this_frame, typedef void (frame_this_id_ftype) (const frame_info_ptr &this_frame,
void **this_prologue_cache, void **this_prologue_cache,
struct frame_id *this_id); struct frame_id *this_id);
@@ -140,9 +140,9 @@ typedef void (frame_this_id_ftype) (frame_info_ptr this_frame,
with the other unwind methods. Memory for that cache should be with the other unwind methods. Memory for that cache should be
allocated using FRAME_OBSTACK_ZALLOC(). */ allocated using FRAME_OBSTACK_ZALLOC(). */
typedef struct value * (frame_prev_register_ftype) typedef value *(frame_prev_register_ftype) (const frame_info_ptr &this_frame,
(frame_info_ptr this_frame, void **this_prologue_cache, void **this_prologue_cache,
int regnum); int regnum);
/* Deallocate extra memory associated with the frame cache if any. */ /* Deallocate extra memory associated with the frame cache if any. */
@@ -153,8 +153,8 @@ typedef void (frame_dealloc_cache_ftype) (frame_info *self,
use THIS frame, and implicitly the NEXT frame's register unwind use THIS frame, and implicitly the NEXT frame's register unwind
method, return PREV frame's architecture. */ method, return PREV frame's architecture. */
typedef struct gdbarch *(frame_prev_arch_ftype) (frame_info_ptr this_frame, typedef gdbarch *(frame_prev_arch_ftype) (const frame_info_ptr &this_frame,
void **this_prologue_cache); void **this_prologue_cache);
struct frame_unwind struct frame_unwind
{ {
@@ -193,7 +193,7 @@ extern void frame_unwind_append_unwinder (struct gdbarch *gdbarch,
unwinder implementation. THIS_FRAME->UNWIND must be NULL, it will get set unwinder implementation. THIS_FRAME->UNWIND must be NULL, it will get set
by this function. Possibly initialize THIS_CACHE. */ by this function. Possibly initialize THIS_CACHE. */
extern void frame_unwind_find_by_frame (frame_info_ptr this_frame, extern void frame_unwind_find_by_frame (const frame_info_ptr &this_frame,
void **this_cache); void **this_cache);
/* Helper functions for value-based register unwinding. These return /* Helper functions for value-based register unwinding. These return
@@ -201,39 +201,38 @@ extern void frame_unwind_find_by_frame (frame_info_ptr this_frame,
/* Return a value which indicates that FRAME did not save REGNUM. */ /* Return a value which indicates that FRAME did not save REGNUM. */
struct value *frame_unwind_got_optimized (frame_info_ptr frame, value *frame_unwind_got_optimized (const frame_info_ptr &frame, int regnum);
int regnum);
/* Return a value which indicates that FRAME copied REGNUM into /* Return a value which indicates that FRAME copied REGNUM into
register NEW_REGNUM. */ register NEW_REGNUM. */
struct value *frame_unwind_got_register (frame_info_ptr frame, int regnum, value *frame_unwind_got_register (const frame_info_ptr &frame, int regnum,
int new_regnum); int new_regnum);
/* Return a value which indicates that FRAME saved REGNUM in memory at /* Return a value which indicates that FRAME saved REGNUM in memory at
ADDR. */ ADDR. */
struct value *frame_unwind_got_memory (frame_info_ptr frame, int regnum, value *frame_unwind_got_memory (const frame_info_ptr &frame, int regnum,
CORE_ADDR addr); CORE_ADDR addr);
/* Return a value which indicates that FRAME's saved version of /* Return a value which indicates that FRAME's saved version of
REGNUM has a known constant (computed) value of VAL. */ REGNUM has a known constant (computed) value of VAL. */
struct value *frame_unwind_got_constant (frame_info_ptr frame, int regnum, value *frame_unwind_got_constant (const frame_info_ptr &frame, int regnum,
ULONGEST val); ULONGEST val);
/* Return a value which indicates that FRAME's saved version of /* Return a value which indicates that FRAME's saved version of
REGNUM has a known constant (computed) value which is stored REGNUM has a known constant (computed) value which is stored
inside BUF. */ inside BUF. */
struct value *frame_unwind_got_bytes (frame_info_ptr frame, int regnum, value *frame_unwind_got_bytes (const frame_info_ptr &frame, int regnum,
const gdb_byte *buf); const gdb_byte *buf);
/* Return a value which indicates that FRAME's saved version of REGNUM /* Return a value which indicates that FRAME's saved version of REGNUM
has a known constant (computed) value of ADDR. Convert the has a known constant (computed) value of ADDR. Convert the
CORE_ADDR to a target address if necessary. */ CORE_ADDR to a target address if necessary. */
struct value *frame_unwind_got_address (frame_info_ptr frame, int regnum, value *frame_unwind_got_address (const frame_info_ptr &frame, int regnum,
CORE_ADDR addr); CORE_ADDR addr);
#endif #endif

View File

@@ -71,7 +71,7 @@ get_frame_cache_generation ()
/* The values behind the global "set backtrace ..." settings. */ /* The values behind the global "set backtrace ..." settings. */
set_backtrace_options user_set_backtrace_options; set_backtrace_options user_set_backtrace_options;
static frame_info_ptr get_prev_frame_raw (frame_info_ptr this_frame); static frame_info_ptr get_prev_frame_raw (const frame_info_ptr &this_frame);
static const char *frame_stop_reason_symbol_string (enum unwind_stop_reason reason); static const char *frame_stop_reason_symbol_string (enum unwind_stop_reason reason);
static frame_info_ptr create_new_frame (frame_id id); static frame_info_ptr create_new_frame (frame_id id);
@@ -197,7 +197,7 @@ struct frame_info
/* See frame.h. */ /* See frame.h. */
void void
set_frame_previous_pc_masked (frame_info_ptr frame) set_frame_previous_pc_masked (const frame_info_ptr &frame)
{ {
frame->prev_pc.masked = true; frame->prev_pc.masked = true;
} }
@@ -205,7 +205,7 @@ set_frame_previous_pc_masked (frame_info_ptr frame)
/* See frame.h. */ /* See frame.h. */
bool bool
get_frame_pc_masked (frame_info_ptr frame) get_frame_pc_masked (const frame_info_ptr &frame)
{ {
gdb_assert (frame->next != nullptr); gdb_assert (frame->next != nullptr);
gdb_assert (frame->next->prev_pc.status == CC_VALUE); gdb_assert (frame->next->prev_pc.status == CC_VALUE);
@@ -528,7 +528,7 @@ frame_info::to_string () const
Return NULL if FRAME is the start of an artificial-only chain. */ Return NULL if FRAME is the start of an artificial-only chain. */
static frame_info_ptr static frame_info_ptr
skip_artificial_frames (frame_info_ptr frame) skip_artificial_frames (const frame_info_ptr &initial_frame)
{ {
/* Note we use get_prev_frame_always, and not get_prev_frame. The /* Note we use get_prev_frame_always, and not get_prev_frame. The
latter will truncate the frame chain, leading to this function latter will truncate the frame chain, leading to this function
@@ -537,6 +537,7 @@ skip_artificial_frames (frame_info_ptr frame)
Note that for record targets we may get a frame chain that consists Note that for record targets we may get a frame chain that consists
of artificial frames only. */ of artificial frames only. */
frame_info_ptr frame = initial_frame;
while (get_frame_type (frame) == INLINE_FRAME while (get_frame_type (frame) == INLINE_FRAME
|| get_frame_type (frame) == TAILCALL_FRAME) || get_frame_type (frame) == TAILCALL_FRAME)
{ {
@@ -549,8 +550,9 @@ skip_artificial_frames (frame_info_ptr frame)
} }
frame_info_ptr frame_info_ptr
skip_unwritable_frames (frame_info_ptr frame) skip_unwritable_frames (const frame_info_ptr &initial_frame)
{ {
frame_info_ptr frame = initial_frame;
while (gdbarch_code_of_frame_writable (get_frame_arch (frame), frame) == 0) while (gdbarch_code_of_frame_writable (get_frame_arch (frame), frame) == 0)
{ {
frame = get_prev_frame (frame); frame = get_prev_frame (frame);
@@ -564,8 +566,9 @@ skip_unwritable_frames (frame_info_ptr frame)
/* See frame.h. */ /* See frame.h. */
frame_info_ptr frame_info_ptr
skip_tailcall_frames (frame_info_ptr frame) skip_tailcall_frames (const frame_info_ptr &initial_frame)
{ {
frame_info_ptr frame = initial_frame;
while (get_frame_type (frame) == TAILCALL_FRAME) while (get_frame_type (frame) == TAILCALL_FRAME)
{ {
/* Note that for record targets we may get a frame chain that consists of /* Note that for record targets we may get a frame chain that consists of
@@ -582,7 +585,7 @@ skip_tailcall_frames (frame_info_ptr frame)
frame. */ frame. */
static void static void
compute_frame_id (frame_info_ptr fi) compute_frame_id (const frame_info_ptr &fi)
{ {
FRAME_SCOPED_DEBUG_ENTER_EXIT; FRAME_SCOPED_DEBUG_ENTER_EXIT;
@@ -628,7 +631,7 @@ compute_frame_id (frame_info_ptr fi)
frame. */ frame. */
struct frame_id struct frame_id
get_frame_id (frame_info_ptr fi) get_frame_id (const frame_info_ptr &fi)
{ {
if (fi == NULL) if (fi == NULL)
return null_frame_id; return null_frame_id;
@@ -659,26 +662,24 @@ get_frame_id (frame_info_ptr fi)
} }
struct frame_id struct frame_id
get_stack_frame_id (frame_info_ptr next_frame) get_stack_frame_id (const frame_info_ptr &next_frame)
{ {
return get_frame_id (skip_artificial_frames (next_frame)); return get_frame_id (skip_artificial_frames (next_frame));
} }
struct frame_id struct frame_id
frame_unwind_caller_id (frame_info_ptr next_frame) frame_unwind_caller_id (const frame_info_ptr &initial_next_frame)
{ {
frame_info_ptr this_frame;
/* Use get_prev_frame_always, and not get_prev_frame. The latter /* Use get_prev_frame_always, and not get_prev_frame. The latter
will truncate the frame chain, leading to this function will truncate the frame chain, leading to this function
unintentionally returning a null_frame_id (e.g., when a caller unintentionally returning a null_frame_id (e.g., when a caller
requests the frame ID of "main()"s caller. */ requests the frame ID of "main()"s caller. */
next_frame = skip_artificial_frames (next_frame); frame_info_ptr next_frame = skip_artificial_frames (initial_next_frame);
if (next_frame == NULL) if (next_frame == NULL)
return null_frame_id; return null_frame_id;
this_frame = get_prev_frame_always (next_frame); frame_info_ptr this_frame = get_prev_frame_always (next_frame);
if (this_frame) if (this_frame)
return get_frame_id (skip_artificial_frames (this_frame)); return get_frame_id (skip_artificial_frames (this_frame));
else else
@@ -965,7 +966,7 @@ frame_find_by_id (struct frame_id id)
} }
static CORE_ADDR static CORE_ADDR
frame_unwind_pc (frame_info_ptr this_frame) frame_unwind_pc (const frame_info_ptr &this_frame)
{ {
if (this_frame->prev_pc.status == CC_UNKNOWN) if (this_frame->prev_pc.status == CC_UNKNOWN)
{ {
@@ -1039,20 +1040,20 @@ frame_unwind_pc (frame_info_ptr this_frame)
} }
CORE_ADDR CORE_ADDR
frame_unwind_caller_pc (frame_info_ptr this_frame) frame_unwind_caller_pc (const frame_info_ptr &initial_this_frame)
{ {
this_frame = skip_artificial_frames (this_frame); frame_info_ptr this_frame = skip_artificial_frames (initial_this_frame);
/* We must have a non-artificial frame. The caller is supposed to check /* We must have a non-artificial frame. The caller is supposed to check
the result of frame_unwind_caller_id (), which returns NULL_FRAME_ID the result of frame_unwind_caller_id (), which returns NULL_FRAME_ID
in this case. */ in this case. */
gdb_assert (this_frame != NULL); gdb_assert (this_frame != nullptr);
return frame_unwind_pc (this_frame); return frame_unwind_pc (this_frame);
} }
bool bool
get_frame_func_if_available (frame_info_ptr this_frame, CORE_ADDR *pc) get_frame_func_if_available (const frame_info_ptr &this_frame, CORE_ADDR *pc)
{ {
frame_info *next_frame = this_frame->next; frame_info *next_frame = this_frame->next;
@@ -1095,7 +1096,7 @@ get_frame_func_if_available (frame_info_ptr this_frame, CORE_ADDR *pc)
} }
CORE_ADDR CORE_ADDR
get_frame_func (frame_info_ptr this_frame) get_frame_func (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc; CORE_ADDR pc;
@@ -1106,7 +1107,7 @@ get_frame_func (frame_info_ptr this_frame)
} }
std::unique_ptr<readonly_detached_regcache> std::unique_ptr<readonly_detached_regcache>
frame_save_as_regcache (frame_info_ptr this_frame) frame_save_as_regcache (const frame_info_ptr &this_frame)
{ {
auto cooked_read = [this_frame] (int regnum, gdb::array_view<gdb_byte> buf) auto cooked_read = [this_frame] (int regnum, gdb::array_view<gdb_byte> buf)
{ {
@@ -1123,7 +1124,7 @@ frame_save_as_regcache (frame_info_ptr this_frame)
} }
void void
frame_pop (frame_info_ptr this_frame) frame_pop (const frame_info_ptr &this_frame)
{ {
frame_info_ptr prev_frame; frame_info_ptr prev_frame;
@@ -1172,7 +1173,7 @@ frame_pop (frame_info_ptr this_frame)
} }
void void
frame_register_unwind (frame_info_ptr next_frame, int regnum, frame_register_unwind (const frame_info_ptr &next_frame, int regnum,
int *optimizedp, int *unavailablep, int *optimizedp, int *unavailablep,
enum lval_type *lvalp, CORE_ADDR *addrp, enum lval_type *lvalp, CORE_ADDR *addrp,
int *realnump, gdb_byte *bufferp) int *realnump, gdb_byte *bufferp)
@@ -1215,7 +1216,7 @@ frame_register_unwind (frame_info_ptr next_frame, int regnum,
} }
void void
frame_unwind_register (frame_info_ptr next_frame, int regnum, gdb_byte *buf) frame_unwind_register (const frame_info_ptr &next_frame, int regnum, gdb_byte *buf)
{ {
int optimized; int optimized;
int unavailable; int unavailable;
@@ -1235,14 +1236,14 @@ frame_unwind_register (frame_info_ptr next_frame, int regnum, gdb_byte *buf)
} }
void void
get_frame_register (frame_info_ptr frame, get_frame_register (const frame_info_ptr &frame,
int regnum, gdb_byte *buf) int regnum, gdb_byte *buf)
{ {
frame_unwind_register (frame_info_ptr (frame->next), regnum, buf); frame_unwind_register (frame_info_ptr (frame->next), regnum, buf);
} }
struct value * struct value *
frame_unwind_register_value (frame_info_ptr next_frame, int regnum) frame_unwind_register_value (const frame_info_ptr &next_frame, int regnum)
{ {
FRAME_SCOPED_DEBUG_ENTER_EXIT; FRAME_SCOPED_DEBUG_ENTER_EXIT;
@@ -1334,13 +1335,13 @@ frame_unwind_register_value (frame_info_ptr next_frame, int regnum)
} }
struct value * struct value *
get_frame_register_value (frame_info_ptr frame, int regnum) get_frame_register_value (const frame_info_ptr &frame, int regnum)
{ {
return frame_unwind_register_value (frame_info_ptr (frame->next), regnum); return frame_unwind_register_value (frame_info_ptr (frame->next), regnum);
} }
LONGEST LONGEST
frame_unwind_register_signed (frame_info_ptr next_frame, int regnum) frame_unwind_register_signed (const frame_info_ptr &next_frame, int regnum)
{ {
struct gdbarch *gdbarch = frame_unwind_arch (next_frame); struct gdbarch *gdbarch = frame_unwind_arch (next_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -1366,13 +1367,13 @@ frame_unwind_register_signed (frame_info_ptr next_frame, int regnum)
} }
LONGEST LONGEST
get_frame_register_signed (frame_info_ptr frame, int regnum) get_frame_register_signed (const frame_info_ptr &frame, int regnum)
{ {
return frame_unwind_register_signed (frame_info_ptr (frame->next), regnum); return frame_unwind_register_signed (frame_info_ptr (frame->next), regnum);
} }
ULONGEST ULONGEST
frame_unwind_register_unsigned (frame_info_ptr next_frame, int regnum) frame_unwind_register_unsigned (const frame_info_ptr &next_frame, int regnum)
{ {
struct gdbarch *gdbarch = frame_unwind_arch (next_frame); struct gdbarch *gdbarch = frame_unwind_arch (next_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -1400,13 +1401,13 @@ frame_unwind_register_unsigned (frame_info_ptr next_frame, int regnum)
} }
ULONGEST ULONGEST
get_frame_register_unsigned (frame_info_ptr frame, int regnum) get_frame_register_unsigned (const frame_info_ptr &frame, int regnum)
{ {
return frame_unwind_register_unsigned (frame_info_ptr (frame->next), regnum); return frame_unwind_register_unsigned (frame_info_ptr (frame->next), regnum);
} }
bool bool
read_frame_register_unsigned (frame_info_ptr frame, int regnum, read_frame_register_unsigned (const frame_info_ptr &frame, int regnum,
ULONGEST *val) ULONGEST *val)
{ {
struct value *regval = get_frame_register_value (frame, regnum); struct value *regval = get_frame_register_value (frame, regnum);
@@ -1427,7 +1428,7 @@ read_frame_register_unsigned (frame_info_ptr frame, int regnum,
} }
void void
put_frame_register (frame_info_ptr next_frame, int regnum, put_frame_register (const frame_info_ptr &next_frame, int regnum,
gdb::array_view<const gdb_byte> buf) gdb::array_view<const gdb_byte> buf)
{ {
gdbarch *gdbarch = frame_unwind_arch (next_frame); gdbarch *gdbarch = frame_unwind_arch (next_frame);
@@ -1475,7 +1476,7 @@ put_frame_register (frame_info_ptr next_frame, int regnum,
Returns 0 if the register value could not be found. */ Returns 0 if the register value could not be found. */
bool bool
deprecated_frame_register_read (frame_info_ptr frame, int regnum, deprecated_frame_register_read (const frame_info_ptr &frame, int regnum,
gdb_byte *myaddr) gdb_byte *myaddr)
{ {
int optimized; int optimized;
@@ -1492,7 +1493,7 @@ deprecated_frame_register_read (frame_info_ptr frame, int regnum,
} }
bool bool
get_frame_register_bytes (frame_info_ptr next_frame, int regnum, get_frame_register_bytes (const frame_info_ptr &next_frame, int regnum,
CORE_ADDR offset, gdb::array_view<gdb_byte> buffer, CORE_ADDR offset, gdb::array_view<gdb_byte> buffer,
int *optimizedp, int *unavailablep) int *optimizedp, int *unavailablep)
{ {
@@ -1569,7 +1570,7 @@ get_frame_register_bytes (frame_info_ptr next_frame, int regnum,
} }
void void
put_frame_register_bytes (frame_info_ptr next_frame, int regnum, put_frame_register_bytes (const frame_info_ptr &next_frame, int regnum,
CORE_ADDR offset, CORE_ADDR offset,
gdb::array_view<const gdb_byte> buffer) gdb::array_view<const gdb_byte> buffer)
{ {
@@ -1658,7 +1659,7 @@ frame_obstack_zalloc (unsigned long size)
return data; return data;
} }
static frame_info_ptr get_prev_frame_always_1 (frame_info_ptr this_frame); static frame_info_ptr get_prev_frame_always_1 (const frame_info_ptr &this_frame);
frame_info_ptr frame_info_ptr
get_current_frame (void) get_current_frame (void)
@@ -1920,7 +1921,7 @@ invalidate_selected_frame ()
/* See frame.h. */ /* See frame.h. */
void void
select_frame (frame_info_ptr fi) select_frame (const frame_info_ptr &fi)
{ {
gdb_assert (fi != nullptr); gdb_assert (fi != nullptr);
@@ -2062,7 +2063,7 @@ create_new_frame (CORE_ADDR stack, CORE_ADDR pc)
frame chain and onto the sentinel frame. */ frame chain and onto the sentinel frame. */
frame_info_ptr frame_info_ptr
get_next_frame (frame_info_ptr this_frame) get_next_frame (const frame_info_ptr &this_frame)
{ {
if (this_frame->level > 0) if (this_frame->level > 0)
return frame_info_ptr (this_frame->next); return frame_info_ptr (this_frame->next);
@@ -2075,7 +2076,7 @@ get_next_frame (frame_info_ptr this_frame)
unlike get_next_frame(), NULL will never be returned. */ unlike get_next_frame(), NULL will never be returned. */
frame_info_ptr frame_info_ptr
get_next_frame_sentinel_okay (frame_info_ptr this_frame) get_next_frame_sentinel_okay (const frame_info_ptr &this_frame)
{ {
gdb_assert (this_frame != NULL); gdb_assert (this_frame != NULL);
@@ -2141,12 +2142,13 @@ reinit_frame_cache (void)
relative to this particular frame. */ relative to this particular frame. */
static void static void
frame_register_unwind_location (frame_info_ptr this_frame, int regnum, frame_register_unwind_location (const frame_info_ptr &initial_this_frame,
int *optimizedp, enum lval_type *lvalp, int regnum, int *optimizedp, lval_type *lvalp,
CORE_ADDR *addrp, int *realnump) CORE_ADDR *addrp, int *realnump)
{ {
gdb_assert (this_frame == NULL || this_frame->level >= 0); gdb_assert (initial_this_frame == nullptr || initial_this_frame->level >= 0);
frame_info_ptr this_frame = initial_this_frame;
while (this_frame != NULL) while (this_frame != NULL)
{ {
int unavailable; int unavailable;
@@ -2185,7 +2187,7 @@ frame_register_unwind_location (frame_info_ptr this_frame, int regnum,
of the previous frame, should also be a duplicate. */ of the previous frame, should also be a duplicate. */
static frame_info_ptr static frame_info_ptr
get_prev_frame_maybe_check_cycle (frame_info_ptr this_frame) get_prev_frame_maybe_check_cycle (const frame_info_ptr &this_frame)
{ {
frame_info_ptr prev_frame = get_prev_frame_raw (this_frame); frame_info_ptr prev_frame = get_prev_frame_raw (this_frame);
@@ -2273,7 +2275,7 @@ get_prev_frame_maybe_check_cycle (frame_info_ptr this_frame)
there is no such frame. This may throw an exception. */ there is no such frame. This may throw an exception. */
static frame_info_ptr static frame_info_ptr
get_prev_frame_always_1 (frame_info_ptr this_frame) get_prev_frame_always_1 (const frame_info_ptr &this_frame)
{ {
FRAME_SCOPED_DEBUG_ENTER_EXIT; FRAME_SCOPED_DEBUG_ENTER_EXIT;
@@ -2429,7 +2431,7 @@ get_prev_frame_always_1 (frame_info_ptr this_frame)
frame. */ frame. */
frame_info_ptr frame_info_ptr
get_prev_frame_always (frame_info_ptr this_frame) get_prev_frame_always (const frame_info_ptr &this_frame)
{ {
frame_info_ptr prev_frame = NULL; frame_info_ptr prev_frame = NULL;
@@ -2469,7 +2471,7 @@ get_prev_frame_always (frame_info_ptr this_frame)
this_frame. */ this_frame. */
static frame_info_ptr static frame_info_ptr
get_prev_frame_raw (frame_info_ptr this_frame) get_prev_frame_raw (const frame_info_ptr &this_frame)
{ {
frame_info *prev_frame; frame_info *prev_frame;
@@ -2522,7 +2524,7 @@ get_prev_frame_raw (frame_info_ptr this_frame)
/* Debug routine to print a NULL frame being returned. */ /* Debug routine to print a NULL frame being returned. */
static void static void
frame_debug_got_null_frame (frame_info_ptr this_frame, frame_debug_got_null_frame (const frame_info_ptr &this_frame,
const char *reason) const char *reason)
{ {
if (frame_debug) if (frame_debug)
@@ -2537,7 +2539,7 @@ frame_debug_got_null_frame (frame_info_ptr this_frame,
/* Is this (non-sentinel) frame in the "main"() function? */ /* Is this (non-sentinel) frame in the "main"() function? */
static bool static bool
inside_main_func (frame_info_ptr this_frame) inside_main_func (const frame_info_ptr &this_frame)
{ {
if (current_program_space->symfile_object_file == nullptr) if (current_program_space->symfile_object_file == nullptr)
return false; return false;
@@ -2585,7 +2587,7 @@ inside_main_func (frame_info_ptr this_frame)
/* Test whether THIS_FRAME is inside the process entry point function. */ /* Test whether THIS_FRAME is inside the process entry point function. */
static bool static bool
inside_entry_func (frame_info_ptr this_frame) inside_entry_func (const frame_info_ptr &this_frame)
{ {
CORE_ADDR entry_point; CORE_ADDR entry_point;
@@ -2605,7 +2607,7 @@ inside_entry_func (frame_info_ptr this_frame)
checking whether the program-counter is zero. */ checking whether the program-counter is zero. */
frame_info_ptr frame_info_ptr
get_prev_frame (frame_info_ptr this_frame) get_prev_frame (const frame_info_ptr &this_frame)
{ {
FRAME_SCOPED_DEBUG_ENTER_EXIT; FRAME_SCOPED_DEBUG_ENTER_EXIT;
@@ -2703,14 +2705,14 @@ get_prev_frame (frame_info_ptr this_frame)
} }
CORE_ADDR CORE_ADDR
get_frame_pc (frame_info_ptr frame) get_frame_pc (const frame_info_ptr &frame)
{ {
gdb_assert (frame->next != NULL); gdb_assert (frame->next != NULL);
return frame_unwind_pc (frame_info_ptr (frame->next)); return frame_unwind_pc (frame_info_ptr (frame->next));
} }
bool bool
get_frame_pc_if_available (frame_info_ptr frame, CORE_ADDR *pc) get_frame_pc_if_available (const frame_info_ptr &frame, CORE_ADDR *pc)
{ {
gdb_assert (frame->next != NULL); gdb_assert (frame->next != NULL);
@@ -2733,7 +2735,7 @@ get_frame_pc_if_available (frame_info_ptr frame, CORE_ADDR *pc)
/* Return an address that falls within THIS_FRAME's code block. */ /* Return an address that falls within THIS_FRAME's code block. */
CORE_ADDR CORE_ADDR
get_frame_address_in_block (frame_info_ptr this_frame) get_frame_address_in_block (const frame_info_ptr &this_frame)
{ {
/* A draft address. */ /* A draft address. */
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
@@ -2793,7 +2795,7 @@ get_frame_address_in_block (frame_info_ptr this_frame)
} }
bool bool
get_frame_address_in_block_if_available (frame_info_ptr this_frame, get_frame_address_in_block_if_available (const frame_info_ptr &this_frame,
CORE_ADDR *pc) CORE_ADDR *pc)
{ {
@@ -2812,7 +2814,7 @@ get_frame_address_in_block_if_available (frame_info_ptr this_frame,
} }
symtab_and_line symtab_and_line
find_frame_sal (frame_info_ptr frame) find_frame_sal (const frame_info_ptr &frame)
{ {
frame_info_ptr next_frame; frame_info_ptr next_frame;
int notcurrent; int notcurrent;
@@ -2870,7 +2872,7 @@ find_frame_sal (frame_info_ptr frame)
/* Per "frame.h", return the ``address'' of the frame. Code should /* Per "frame.h", return the ``address'' of the frame. Code should
really be using get_frame_id(). */ really be using get_frame_id(). */
CORE_ADDR CORE_ADDR
get_frame_base (frame_info_ptr fi) get_frame_base (const frame_info_ptr &fi)
{ {
return get_frame_id (fi).stack_addr; return get_frame_id (fi).stack_addr;
} }
@@ -2878,7 +2880,7 @@ get_frame_base (frame_info_ptr fi)
/* High-level offsets into the frame. Used by the debug info. */ /* High-level offsets into the frame. Used by the debug info. */
CORE_ADDR CORE_ADDR
get_frame_base_address (frame_info_ptr fi) get_frame_base_address (const frame_info_ptr &fi)
{ {
if (get_frame_type (fi) != NORMAL_FRAME) if (get_frame_type (fi) != NORMAL_FRAME)
return 0; return 0;
@@ -2892,7 +2894,7 @@ get_frame_base_address (frame_info_ptr fi)
} }
CORE_ADDR CORE_ADDR
get_frame_locals_address (frame_info_ptr fi) get_frame_locals_address (const frame_info_ptr &fi)
{ {
if (get_frame_type (fi) != NORMAL_FRAME) if (get_frame_type (fi) != NORMAL_FRAME)
return 0; return 0;
@@ -2907,7 +2909,7 @@ get_frame_locals_address (frame_info_ptr fi)
} }
CORE_ADDR CORE_ADDR
get_frame_args_address (frame_info_ptr fi) get_frame_args_address (const frame_info_ptr &fi)
{ {
if (get_frame_type (fi) != NORMAL_FRAME) if (get_frame_type (fi) != NORMAL_FRAME)
return 0; return 0;
@@ -2925,7 +2927,7 @@ get_frame_args_address (frame_info_ptr fi)
otherwise. */ otherwise. */
bool bool
frame_unwinder_is (frame_info_ptr fi, const frame_unwind *unwinder) frame_unwinder_is (const frame_info_ptr &fi, const frame_unwind *unwinder)
{ {
if (fi->unwind == nullptr) if (fi->unwind == nullptr)
frame_unwind_find_by_frame (fi, &fi->prologue_cache); frame_unwind_find_by_frame (fi, &fi->prologue_cache);
@@ -2937,7 +2939,7 @@ frame_unwinder_is (frame_info_ptr fi, const frame_unwind *unwinder)
or -1 for a NULL frame. */ or -1 for a NULL frame. */
int int
frame_relative_level (frame_info_ptr fi) frame_relative_level (const frame_info_ptr &fi)
{ {
if (fi == NULL) if (fi == NULL)
return -1; return -1;
@@ -2946,7 +2948,7 @@ frame_relative_level (frame_info_ptr fi)
} }
enum frame_type enum frame_type
get_frame_type (frame_info_ptr frame) get_frame_type (const frame_info_ptr &frame)
{ {
if (frame->unwind == NULL) if (frame->unwind == NULL)
/* Initialize the frame's unwinder because that's what /* Initialize the frame's unwinder because that's what
@@ -2956,13 +2958,13 @@ get_frame_type (frame_info_ptr frame)
} }
struct program_space * struct program_space *
get_frame_program_space (frame_info_ptr frame) get_frame_program_space (const frame_info_ptr &frame)
{ {
return frame->pspace; return frame->pspace;
} }
struct program_space * struct program_space *
frame_unwind_program_space (frame_info_ptr this_frame) frame_unwind_program_space (const frame_info_ptr &this_frame)
{ {
gdb_assert (this_frame); gdb_assert (this_frame);
@@ -2973,7 +2975,7 @@ frame_unwind_program_space (frame_info_ptr this_frame)
} }
const address_space * const address_space *
get_frame_address_space (frame_info_ptr frame) get_frame_address_space (const frame_info_ptr &frame)
{ {
return frame->aspace; return frame->aspace;
} }
@@ -2981,14 +2983,14 @@ get_frame_address_space (frame_info_ptr frame)
/* Memory access methods. */ /* Memory access methods. */
void void
get_frame_memory (frame_info_ptr this_frame, CORE_ADDR addr, get_frame_memory (const frame_info_ptr &this_frame, CORE_ADDR addr,
gdb::array_view<gdb_byte> buffer) gdb::array_view<gdb_byte> buffer)
{ {
read_memory (addr, buffer.data (), buffer.size ()); read_memory (addr, buffer.data (), buffer.size ());
} }
LONGEST LONGEST
get_frame_memory_signed (frame_info_ptr this_frame, CORE_ADDR addr, get_frame_memory_signed (const frame_info_ptr &this_frame, CORE_ADDR addr,
int len) int len)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -2998,7 +3000,7 @@ get_frame_memory_signed (frame_info_ptr this_frame, CORE_ADDR addr,
} }
ULONGEST ULONGEST
get_frame_memory_unsigned (frame_info_ptr this_frame, CORE_ADDR addr, get_frame_memory_unsigned (const frame_info_ptr &this_frame, CORE_ADDR addr,
int len) int len)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -3008,7 +3010,7 @@ get_frame_memory_unsigned (frame_info_ptr this_frame, CORE_ADDR addr,
} }
bool bool
safe_frame_unwind_memory (frame_info_ptr this_frame, safe_frame_unwind_memory (const frame_info_ptr &this_frame,
CORE_ADDR addr, gdb::array_view<gdb_byte> buffer) CORE_ADDR addr, gdb::array_view<gdb_byte> buffer)
{ {
/* NOTE: target_read_memory returns zero on success! */ /* NOTE: target_read_memory returns zero on success! */
@@ -3018,13 +3020,13 @@ safe_frame_unwind_memory (frame_info_ptr this_frame,
/* Architecture methods. */ /* Architecture methods. */
struct gdbarch * struct gdbarch *
get_frame_arch (frame_info_ptr this_frame) get_frame_arch (const frame_info_ptr &this_frame)
{ {
return frame_unwind_arch (frame_info_ptr (this_frame->next)); return frame_unwind_arch (frame_info_ptr (this_frame->next));
} }
struct gdbarch * struct gdbarch *
frame_unwind_arch (frame_info_ptr next_frame) frame_unwind_arch (const frame_info_ptr &next_frame)
{ {
if (!next_frame->prev_arch.p) if (!next_frame->prev_arch.p)
{ {
@@ -3050,14 +3052,14 @@ frame_unwind_arch (frame_info_ptr next_frame)
} }
struct gdbarch * struct gdbarch *
frame_unwind_caller_arch (frame_info_ptr next_frame) frame_unwind_caller_arch (const frame_info_ptr &initial_next_frame)
{ {
next_frame = skip_artificial_frames (next_frame); frame_info_ptr next_frame = skip_artificial_frames (initial_next_frame);
/* We must have a non-artificial frame. The caller is supposed to check /* We must have a non-artificial frame. The caller is supposed to check
the result of frame_unwind_caller_id (), which returns NULL_FRAME_ID the result of frame_unwind_caller_id (), which returns NULL_FRAME_ID
in this case. */ in this case. */
gdb_assert (next_frame != NULL); gdb_assert (next_frame != nullptr);
return frame_unwind_arch (next_frame); return frame_unwind_arch (next_frame);
} }
@@ -3065,7 +3067,7 @@ frame_unwind_caller_arch (frame_info_ptr next_frame)
/* Gets the language of FRAME. */ /* Gets the language of FRAME. */
enum language enum language
get_frame_language (frame_info_ptr frame) get_frame_language (const frame_info_ptr &frame)
{ {
CORE_ADDR pc = 0; CORE_ADDR pc = 0;
bool pc_p = false; bool pc_p = false;
@@ -3106,7 +3108,7 @@ get_frame_language (frame_info_ptr frame)
/* Stack pointer methods. */ /* Stack pointer methods. */
CORE_ADDR CORE_ADDR
get_frame_sp (frame_info_ptr this_frame) get_frame_sp (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -3118,9 +3120,9 @@ get_frame_sp (frame_info_ptr this_frame)
/* See frame.h. */ /* See frame.h. */
frame_info_ptr frame_info_ptr
frame_follow_static_link (frame_info_ptr frame) frame_follow_static_link (const frame_info_ptr &initial_frame)
{ {
const block *frame_block = get_frame_block (frame, nullptr); const block *frame_block = get_frame_block (initial_frame, nullptr);
if (frame_block == nullptr) if (frame_block == nullptr)
return {}; return {};
@@ -3132,11 +3134,12 @@ frame_follow_static_link (frame_info_ptr frame)
CORE_ADDR upper_frame_base; CORE_ADDR upper_frame_base;
if (!dwarf2_evaluate_property (static_link, frame, NULL, &upper_frame_base)) if (!dwarf2_evaluate_property (static_link, initial_frame, NULL, &upper_frame_base))
return {}; return {};
/* Now climb up the stack frame until we reach the frame we are interested /* Now climb up the stack frame until we reach the frame we are interested
in. */ in. */
frame_info_ptr frame = initial_frame;
for (; frame != nullptr; frame = get_prev_frame (frame)) for (; frame != nullptr; frame = get_prev_frame (frame))
{ {
struct symbol *framefunc = get_frame_function (frame); struct symbol *framefunc = get_frame_function (frame);
@@ -3163,7 +3166,7 @@ frame_follow_static_link (frame_info_ptr frame)
/* Return the reason why we can't unwind past FRAME. */ /* Return the reason why we can't unwind past FRAME. */
enum unwind_stop_reason enum unwind_stop_reason
get_frame_unwind_stop_reason (frame_info_ptr frame) get_frame_unwind_stop_reason (const frame_info_ptr &frame)
{ {
/* Fill-in STOP_REASON. */ /* Fill-in STOP_REASON. */
get_prev_frame_always (frame); get_prev_frame_always (frame);
@@ -3190,7 +3193,7 @@ unwind_stop_reason_to_string (enum unwind_stop_reason reason)
} }
const char * const char *
frame_stop_reason_string (frame_info_ptr fi) frame_stop_reason_string (const frame_info_ptr &fi)
{ {
gdb_assert (fi->prev_p); gdb_assert (fi->prev_p);
gdb_assert (fi->prev == NULL); gdb_assert (fi->prev == NULL);
@@ -3225,7 +3228,7 @@ frame_stop_reason_symbol_string (enum unwind_stop_reason reason)
FRAME. */ FRAME. */
void void
frame_cleanup_after_sniffer (frame_info_ptr frame) frame_cleanup_after_sniffer (const frame_info_ptr &frame)
{ {
/* The sniffer should not allocate a prologue cache if it did not /* The sniffer should not allocate a prologue cache if it did not
match this frame. */ match this frame. */
@@ -3255,7 +3258,7 @@ frame_cleanup_after_sniffer (frame_info_ptr frame)
frame_cleanup_after_sniffer. */ frame_cleanup_after_sniffer. */
void void
frame_prepare_for_sniffer (frame_info_ptr frame, frame_prepare_for_sniffer (const frame_info_ptr &frame,
const struct frame_unwind *unwind) const struct frame_unwind *unwind)
{ {
gdb_assert (frame->unwind == NULL); gdb_assert (frame->unwind == NULL);

View File

@@ -450,7 +450,7 @@ extern void reinit_frame_cache (void);
extern frame_info_ptr get_selected_frame (const char *message = nullptr); extern frame_info_ptr get_selected_frame (const char *message = nullptr);
/* Select a specific frame. */ /* Select a specific frame. */
extern void select_frame (frame_info_ptr); extern void select_frame (const frame_info_ptr &);
/* Save the frame ID and frame level of the selected frame in FRAME_ID /* Save the frame ID and frame level of the selected frame in FRAME_ID
and FRAME_LEVEL, to be restored later with restore_selected_frame. and FRAME_LEVEL, to be restored later with restore_selected_frame.
@@ -475,19 +475,19 @@ extern void restore_selected_frame (frame_id frame_id, int frame_level)
/* Given a FRAME, return the next (more inner, younger) or previous /* Given a FRAME, return the next (more inner, younger) or previous
(more outer, older) frame. */ (more outer, older) frame. */
extern frame_info_ptr get_prev_frame (frame_info_ptr); extern frame_info_ptr get_prev_frame (const frame_info_ptr &);
extern frame_info_ptr get_next_frame (frame_info_ptr); extern frame_info_ptr get_next_frame (const frame_info_ptr &);
/* Like get_next_frame(), but allows return of the sentinel frame. NULL /* Like get_next_frame(), but allows return of the sentinel frame. NULL
is never returned. */ is never returned. */
extern frame_info_ptr get_next_frame_sentinel_okay (frame_info_ptr); extern frame_info_ptr get_next_frame_sentinel_okay (const frame_info_ptr &);
/* Return a "struct frame_info" corresponding to the frame that called /* Return a "struct frame_info" corresponding to the frame that called
THIS_FRAME. Returns NULL if there is no such frame. THIS_FRAME. Returns NULL if there is no such frame.
Unlike get_prev_frame, this function always tries to unwind the Unlike get_prev_frame, this function always tries to unwind the
frame. */ frame. */
extern frame_info_ptr get_prev_frame_always (frame_info_ptr); extern frame_info_ptr get_prev_frame_always (const frame_info_ptr &);
/* Given a frame's ID, relocate the frame. Returns NULL if the frame /* Given a frame's ID, relocate the frame. Returns NULL if the frame
is not found. */ is not found. */
@@ -499,12 +499,12 @@ extern frame_info_ptr frame_find_by_id (frame_id id);
this frame. this frame.
This replaced: frame->pc; */ This replaced: frame->pc; */
extern CORE_ADDR get_frame_pc (frame_info_ptr); extern CORE_ADDR get_frame_pc (const frame_info_ptr &);
/* Same as get_frame_pc, but return a boolean indication of whether /* Same as get_frame_pc, but return a boolean indication of whether
the PC is actually available, instead of throwing an error. */ the PC is actually available, instead of throwing an error. */
extern bool get_frame_pc_if_available (frame_info_ptr frame, CORE_ADDR *pc); extern bool get_frame_pc_if_available (const frame_info_ptr &frame, CORE_ADDR *pc);
/* An address (not necessarily aligned to an instruction boundary) /* An address (not necessarily aligned to an instruction boundary)
that falls within THIS frame's code block. that falls within THIS frame's code block.
@@ -519,32 +519,32 @@ extern bool get_frame_pc_if_available (frame_info_ptr frame, CORE_ADDR *pc);
function returns the frame's PC-1 which "should" be an address in function returns the frame's PC-1 which "should" be an address in
the frame's block. */ the frame's block. */
extern CORE_ADDR get_frame_address_in_block (frame_info_ptr this_frame); extern CORE_ADDR get_frame_address_in_block (const frame_info_ptr &this_frame);
/* Same as get_frame_address_in_block, but returns a boolean /* Same as get_frame_address_in_block, but returns a boolean
indication of whether the frame address is determinable (when the indication of whether the frame address is determinable (when the
PC is unavailable, it will not be), instead of possibly throwing an PC is unavailable, it will not be), instead of possibly throwing an
error trying to read an unavailable PC. */ error trying to read an unavailable PC. */
extern bool get_frame_address_in_block_if_available (frame_info_ptr this_frame, extern bool get_frame_address_in_block_if_available (const frame_info_ptr &this_frame,
CORE_ADDR *pc); CORE_ADDR *pc);
/* The frame's inner-most bound. AKA the stack-pointer. Confusingly /* The frame's inner-most bound. AKA the stack-pointer. Confusingly
known as top-of-stack. */ known as top-of-stack. */
extern CORE_ADDR get_frame_sp (frame_info_ptr); extern CORE_ADDR get_frame_sp (const frame_info_ptr &);
/* Following on from the `resume' address. Return the entry point /* Following on from the `resume' address. Return the entry point
address of the function containing that resume address, or zero if address of the function containing that resume address, or zero if
that function isn't known. */ that function isn't known. */
extern CORE_ADDR get_frame_func (frame_info_ptr fi); extern CORE_ADDR get_frame_func (const frame_info_ptr &fi);
/* Same as get_frame_func, but returns a boolean indication of whether /* Same as get_frame_func, but returns a boolean indication of whether
the frame function is determinable (when the PC is unavailable, it the frame function is determinable (when the PC is unavailable, it
will not be), instead of possibly throwing an error trying to read will not be), instead of possibly throwing an error trying to read
an unavailable PC. */ an unavailable PC. */
extern bool get_frame_func_if_available (frame_info_ptr fi, CORE_ADDR *); extern bool get_frame_func_if_available (const frame_info_ptr &fi, CORE_ADDR *);
/* Closely related to the resume address, various symbol table /* Closely related to the resume address, various symbol table
attributes that are determined by the PC. Note that for a normal attributes that are determined by the PC. Note that for a normal
@@ -564,12 +564,12 @@ extern bool get_frame_func_if_available (frame_info_ptr fi, CORE_ADDR *);
find_frame_symtab(), find_frame_function(). Each will need to be find_frame_symtab(), find_frame_function(). Each will need to be
carefully considered to determine if the real intent was for it to carefully considered to determine if the real intent was for it to
apply to the PC or the adjusted PC. */ apply to the PC or the adjusted PC. */
extern symtab_and_line find_frame_sal (frame_info_ptr frame); extern symtab_and_line find_frame_sal (const frame_info_ptr &frame);
/* Set the current source and line to the location given by frame /* Set the current source and line to the location given by frame
FRAME, if possible. */ FRAME, if possible. */
void set_current_sal_from_frame (frame_info_ptr); void set_current_sal_from_frame (const frame_info_ptr &);
/* Return the frame base (what ever that is) (DEPRECATED). /* Return the frame base (what ever that is) (DEPRECATED).
@@ -593,59 +593,59 @@ void set_current_sal_from_frame (frame_info_ptr);
This replaced: frame->frame; */ This replaced: frame->frame; */
extern CORE_ADDR get_frame_base (frame_info_ptr); extern CORE_ADDR get_frame_base (const frame_info_ptr &);
/* Return the per-frame unique identifier. Can be used to relocate a /* Return the per-frame unique identifier. Can be used to relocate a
frame after a frame cache flush (and other similar operations). If frame after a frame cache flush (and other similar operations). If
FI is NULL, return the null_frame_id. */ FI is NULL, return the null_frame_id. */
extern struct frame_id get_frame_id (frame_info_ptr fi); extern frame_id get_frame_id (const frame_info_ptr &fi);
extern struct frame_id get_stack_frame_id (frame_info_ptr fi); extern frame_id get_stack_frame_id (const frame_info_ptr &fi);
extern struct frame_id frame_unwind_caller_id (frame_info_ptr next_frame); extern frame_id frame_unwind_caller_id (const frame_info_ptr &next_frame);
/* Assuming that a frame is `normal', return its base-address, or 0 if /* Assuming that a frame is `normal', return its base-address, or 0 if
the information isn't available. NOTE: This address is really only the information isn't available. NOTE: This address is really only
meaningful to the frame's high-level debug info. */ meaningful to the frame's high-level debug info. */
extern CORE_ADDR get_frame_base_address (frame_info_ptr); extern CORE_ADDR get_frame_base_address (const frame_info_ptr &);
/* Assuming that a frame is `normal', return the base-address of the /* Assuming that a frame is `normal', return the base-address of the
local variables, or 0 if the information isn't available. NOTE: local variables, or 0 if the information isn't available. NOTE:
This address is really only meaningful to the frame's high-level This address is really only meaningful to the frame's high-level
debug info. Typically, the argument and locals share a single debug info. Typically, the argument and locals share a single
base-address. */ base-address. */
extern CORE_ADDR get_frame_locals_address (frame_info_ptr); extern CORE_ADDR get_frame_locals_address (const frame_info_ptr &);
/* Assuming that a frame is `normal', return the base-address of the /* Assuming that a frame is `normal', return the base-address of the
parameter list, or 0 if that information isn't available. NOTE: parameter list, or 0 if that information isn't available. NOTE:
This address is really only meaningful to the frame's high-level This address is really only meaningful to the frame's high-level
debug info. Typically, the argument and locals share a single debug info. Typically, the argument and locals share a single
base-address. */ base-address. */
extern CORE_ADDR get_frame_args_address (frame_info_ptr); extern CORE_ADDR get_frame_args_address (const frame_info_ptr &);
/* The frame's level: 0 for innermost, 1 for its caller, ...; or -1 /* The frame's level: 0 for innermost, 1 for its caller, ...; or -1
for an invalid frame). */ for an invalid frame). */
extern int frame_relative_level (frame_info_ptr fi); extern int frame_relative_level (const frame_info_ptr &fi);
/* Return the frame's type. */ /* Return the frame's type. */
extern enum frame_type get_frame_type (frame_info_ptr); extern enum frame_type get_frame_type (const frame_info_ptr &);
/* Return the frame's program space. */ /* Return the frame's program space. */
extern struct program_space *get_frame_program_space (frame_info_ptr); extern struct program_space *get_frame_program_space (const frame_info_ptr &);
/* Unwind THIS frame's program space from the NEXT frame. */ /* Unwind THIS frame's program space from the NEXT frame. */
extern struct program_space *frame_unwind_program_space (frame_info_ptr); extern struct program_space *frame_unwind_program_space (const frame_info_ptr &);
class address_space; class address_space;
/* Return the frame's address space. */ /* Return the frame's address space. */
extern const address_space *get_frame_address_space (frame_info_ptr); extern const address_space *get_frame_address_space (const frame_info_ptr &);
/* A frame may have a "static link". That is, in some languages, a /* A frame may have a "static link". That is, in some languages, a
nested function may have access to variables from the enclosing nested function may have access to variables from the enclosing
block and frame. This function looks for a frame's static link. block and frame. This function looks for a frame's static link.
If found, returns the corresponding frame; otherwise, returns a If found, returns the corresponding frame; otherwise, returns a
null frame_info_ptr. */ null frame_info_ptr. */
extern frame_info_ptr frame_follow_static_link (frame_info_ptr frame); extern frame_info_ptr frame_follow_static_link (const frame_info_ptr &frame);
/* For frames where we can not unwind further, describe why. */ /* For frames where we can not unwind further, describe why. */
@@ -665,7 +665,7 @@ enum unwind_stop_reason
/* Return the reason why we can't unwind past this frame. */ /* Return the reason why we can't unwind past this frame. */
enum unwind_stop_reason get_frame_unwind_stop_reason (frame_info_ptr); enum unwind_stop_reason get_frame_unwind_stop_reason (const frame_info_ptr &);
/* Translate a reason code to an informative string. This converts the /* Translate a reason code to an informative string. This converts the
generic stop reason codes into a generic string describing the code. generic stop reason codes into a generic string describing the code.
@@ -682,13 +682,13 @@ const char *unwind_stop_reason_to_string (enum unwind_stop_reason);
Should only be called for frames that don't have a previous frame. */ Should only be called for frames that don't have a previous frame. */
const char *frame_stop_reason_string (frame_info_ptr); const char *frame_stop_reason_string (const frame_info_ptr &);
/* Unwind the stack frame so that the value of REGNUM, in the previous /* Unwind the stack frame so that the value of REGNUM, in the previous
(up, older) frame is returned. If VALUEP is NULL, don't (up, older) frame is returned. If VALUEP is NULL, don't
fetch/compute the value. Instead just return the location of the fetch/compute the value. Instead just return the location of the
value. */ value. */
extern void frame_register_unwind (frame_info_ptr frame, int regnum, extern void frame_register_unwind (const frame_info_ptr &frame, int regnum,
int *optimizedp, int *unavailablep, int *optimizedp, int *unavailablep,
enum lval_type *lvalp, enum lval_type *lvalp,
CORE_ADDR *addrp, int *realnump, CORE_ADDR *addrp, int *realnump,
@@ -700,23 +700,23 @@ extern void frame_register_unwind (frame_info_ptr frame, int regnum,
fetch fails. The value methods never return NULL, but usually fetch fails. The value methods never return NULL, but usually
do return a lazy value. */ do return a lazy value. */
extern void frame_unwind_register (frame_info_ptr next_frame, extern void frame_unwind_register (const frame_info_ptr &next_frame,
int regnum, gdb_byte *buf); int regnum, gdb_byte *buf);
extern void get_frame_register (frame_info_ptr frame, extern void get_frame_register (const frame_info_ptr &frame,
int regnum, gdb_byte *buf); int regnum, gdb_byte *buf);
struct value *frame_unwind_register_value (frame_info_ptr next_frame, struct value *frame_unwind_register_value (const frame_info_ptr &next_frame,
int regnum); int regnum);
struct value *get_frame_register_value (frame_info_ptr frame, struct value *get_frame_register_value (const frame_info_ptr &frame,
int regnum); int regnum);
extern LONGEST frame_unwind_register_signed (frame_info_ptr next_frame, extern LONGEST frame_unwind_register_signed (const frame_info_ptr &next_frame,
int regnum); int regnum);
extern LONGEST get_frame_register_signed (frame_info_ptr frame, extern LONGEST get_frame_register_signed (const frame_info_ptr &frame,
int regnum); int regnum);
extern ULONGEST frame_unwind_register_unsigned (frame_info_ptr next_frame, extern ULONGEST frame_unwind_register_unsigned
int regnum); (const frame_info_ptr &next_frame, int regnum);
extern ULONGEST get_frame_register_unsigned (frame_info_ptr frame, extern ULONGEST get_frame_register_unsigned (const frame_info_ptr &frame,
int regnum); int regnum);
/* Read a register from this, or unwind a register from the next /* Read a register from this, or unwind a register from the next
@@ -724,39 +724,39 @@ extern ULONGEST get_frame_register_unsigned (frame_info_ptr frame,
get_frame_register_value, that do not throw if the result is get_frame_register_value, that do not throw if the result is
optimized out or unavailable. */ optimized out or unavailable. */
extern bool read_frame_register_unsigned (frame_info_ptr frame, extern bool read_frame_register_unsigned (const frame_info_ptr &frame,
int regnum, ULONGEST *val); int regnum, ULONGEST *val);
/* The reverse. Store a register value relative to NEXT_FRAME's previous frame. /* The reverse. Store a register value relative to NEXT_FRAME's previous frame.
Note: this call makes the frame's state undefined. The register and frame Note: this call makes the frame's state undefined. The register and frame
caches must be flushed. */ caches must be flushed. */
extern void put_frame_register (frame_info_ptr next_frame, int regnum, extern void put_frame_register (const frame_info_ptr &next_frame, int regnum,
gdb::array_view<const gdb_byte> buf); gdb::array_view<const gdb_byte> buf);
/* Read LEN bytes from one or multiple registers starting with REGNUM in /* Read LEN bytes from one or multiple registers starting with REGNUM in
NEXT_FRAME's previous frame, starting at OFFSET, into BUF. If the register NEXT_FRAME's previous frame, starting at OFFSET, into BUF. If the register
contents are optimized out or unavailable, set *OPTIMIZEDP, *UNAVAILABLEP contents are optimized out or unavailable, set *OPTIMIZEDP, *UNAVAILABLEP
accordingly. */ accordingly. */
extern bool get_frame_register_bytes (frame_info_ptr next_frame, int regnum, extern bool get_frame_register_bytes (const frame_info_ptr &next_frame,
CORE_ADDR offset, int regnum, CORE_ADDR offset,
gdb::array_view<gdb_byte> buffer, gdb::array_view<gdb_byte> buffer,
int *optimizedp, int *unavailablep); int *optimizedp, int *unavailablep);
/* Write bytes from BUFFER to one or multiple registers starting with REGNUM /* Write bytes from BUFFER to one or multiple registers starting with REGNUM
in NEXT_FRAME's previous frame, starting at OFFSET. */ in NEXT_FRAME's previous frame, starting at OFFSET. */
extern void put_frame_register_bytes (frame_info_ptr next_frame, int regnum, extern void put_frame_register_bytes (const frame_info_ptr &next_frame,
CORE_ADDR offset, int regnum, CORE_ADDR offset,
gdb::array_view<const gdb_byte> buffer); gdb::array_view<const gdb_byte> buffer);
/* Unwind the PC. Strictly speaking return the resume address of the /* Unwind the PC. Strictly speaking return the resume address of the
calling frame. For GDB, `pc' is the resume address and not a calling frame. For GDB, `pc' is the resume address and not a
specific register. */ specific register. */
extern CORE_ADDR frame_unwind_caller_pc (frame_info_ptr frame); extern CORE_ADDR frame_unwind_caller_pc (const frame_info_ptr &next_frame);
/* Discard the specified frame. Restoring the registers to the state /* Discard the specified frame. Restoring the registers to the state
of the caller. */ of the caller. */
extern void frame_pop (frame_info_ptr frame); extern void frame_pop (const frame_info_ptr &frame);
/* Return memory from the specified frame. A frame knows its thread / /* Return memory from the specified frame. A frame knows its thread /
LWP and hence can find its way down to a target. The assumption LWP and hence can find its way down to a target. The assumption
@@ -771,26 +771,26 @@ extern void frame_pop (frame_info_ptr frame);
If architecture / memory changes are always separated by special If architecture / memory changes are always separated by special
adaptor frames this should be ok. */ adaptor frames this should be ok. */
extern void get_frame_memory (frame_info_ptr this_frame, CORE_ADDR addr, extern void get_frame_memory (const frame_info_ptr &this_frame, CORE_ADDR addr,
gdb::array_view<gdb_byte> buffer); gdb::array_view<gdb_byte> buffer);
extern LONGEST get_frame_memory_signed (frame_info_ptr this_frame, extern LONGEST get_frame_memory_signed (const frame_info_ptr &this_frame,
CORE_ADDR memaddr, int len); CORE_ADDR memaddr, int len);
extern ULONGEST get_frame_memory_unsigned (frame_info_ptr this_frame, extern ULONGEST get_frame_memory_unsigned (const frame_info_ptr &this_frame,
CORE_ADDR memaddr, int len); CORE_ADDR memaddr, int len);
/* Same as above, but return true zero when the entire memory read /* Same as above, but return true zero when the entire memory read
succeeds, false otherwise. */ succeeds, false otherwise. */
extern bool safe_frame_unwind_memory (frame_info_ptr this_frame, CORE_ADDR addr, extern bool safe_frame_unwind_memory (const frame_info_ptr &this_frame, CORE_ADDR addr,
gdb::array_view<gdb_byte> buffer); gdb::array_view<gdb_byte> buffer);
/* Return this frame's architecture. */ /* Return this frame's architecture. */
extern struct gdbarch *get_frame_arch (frame_info_ptr this_frame); extern gdbarch *get_frame_arch (const frame_info_ptr &this_frame);
/* Return the previous frame's architecture. */ /* Return the previous frame's architecture. */
extern struct gdbarch *frame_unwind_arch (frame_info_ptr next_frame); extern gdbarch *frame_unwind_arch (const frame_info_ptr &next_frame);
/* Return the previous frame's architecture, skipping inline functions. */ /* Return the previous frame's architecture, skipping inline functions. */
extern struct gdbarch *frame_unwind_caller_arch (frame_info_ptr frame); extern gdbarch *frame_unwind_caller_arch (const frame_info_ptr &next_frame);
/* Values for the source flag to be used in print_frame_info (). /* Values for the source flag to be used in print_frame_info ().
@@ -830,9 +830,9 @@ extern void *frame_obstack_zalloc (unsigned long size);
class readonly_detached_regcache; class readonly_detached_regcache;
/* Create a regcache, and copy the frame's registers into it. */ /* Create a regcache, and copy the frame's registers into it. */
std::unique_ptr<readonly_detached_regcache> frame_save_as_regcache std::unique_ptr<readonly_detached_regcache> frame_save_as_regcache
(frame_info_ptr this_frame); (const frame_info_ptr &this_frame);
extern const struct block *get_frame_block (frame_info_ptr, extern const struct block *get_frame_block (const frame_info_ptr &,
CORE_ADDR *addr_in_block); CORE_ADDR *addr_in_block);
/* Return the `struct block' that belongs to the selected thread's /* Return the `struct block' that belongs to the selected thread's
@@ -863,7 +863,7 @@ extern const struct block *get_frame_block (frame_info_ptr,
extern const struct block *get_selected_block (CORE_ADDR *addr_in_block); extern const struct block *get_selected_block (CORE_ADDR *addr_in_block);
extern struct symbol *get_frame_function (frame_info_ptr); extern struct symbol *get_frame_function (const frame_info_ptr &);
extern CORE_ADDR get_pc_function_start (CORE_ADDR); extern CORE_ADDR get_pc_function_start (CORE_ADDR);
@@ -873,22 +873,22 @@ extern frame_info_ptr find_relative_frame (frame_info_ptr, int *);
the function call. */ the function call. */
extern void print_stack_frame_to_uiout (struct ui_out *uiout, extern void print_stack_frame_to_uiout (struct ui_out *uiout,
frame_info_ptr, int print_level, const frame_info_ptr &, int print_level,
enum print_what print_what, enum print_what print_what,
int set_current_sal); int set_current_sal);
extern void print_stack_frame (frame_info_ptr, int print_level, extern void print_stack_frame (const frame_info_ptr &, int print_level,
enum print_what print_what, enum print_what print_what,
int set_current_sal); int set_current_sal);
extern void print_frame_info (const frame_print_options &fp_opts, extern void print_frame_info (const frame_print_options &fp_opts,
frame_info_ptr, int print_level, const frame_info_ptr &, int print_level,
enum print_what print_what, int args, enum print_what print_what, int args,
int set_current_sal); int set_current_sal);
extern frame_info_ptr block_innermost_frame (const struct block *); extern frame_info_ptr block_innermost_frame (const struct block *);
extern bool deprecated_frame_register_read (frame_info_ptr frame, int regnum, extern bool deprecated_frame_register_read (const frame_info_ptr &frame, int regnum,
gdb_byte *buf); gdb_byte *buf);
/* From stack.c. */ /* From stack.c. */
@@ -960,10 +960,10 @@ struct frame_arg
}; };
extern void read_frame_arg (const frame_print_options &fp_opts, extern void read_frame_arg (const frame_print_options &fp_opts,
symbol *sym, frame_info_ptr frame, symbol *sym, const frame_info_ptr &frame,
struct frame_arg *argp, struct frame_arg *argp,
struct frame_arg *entryargp); struct frame_arg *entryargp);
extern void read_frame_local (struct symbol *sym, frame_info_ptr frame, extern void read_frame_local (struct symbol *sym, const frame_info_ptr &frame,
struct frame_arg *argp); struct frame_arg *argp);
extern void info_args_command (const char *, int); extern void info_args_command (const char *, int);
@@ -976,13 +976,13 @@ extern void return_command (const char *, int);
If sniffing fails, the caller should be sure to call If sniffing fails, the caller should be sure to call
frame_cleanup_after_sniffer. */ frame_cleanup_after_sniffer. */
extern void frame_prepare_for_sniffer (frame_info_ptr frame, extern void frame_prepare_for_sniffer (const frame_info_ptr &frame,
const struct frame_unwind *unwind); const struct frame_unwind *unwind);
/* Clean up after a failed (wrong unwinder) attempt to unwind past /* Clean up after a failed (wrong unwinder) attempt to unwind past
FRAME. */ FRAME. */
extern void frame_cleanup_after_sniffer (frame_info_ptr frame); extern void frame_cleanup_after_sniffer (const frame_info_ptr &frame);
/* Notes (cagney/2002-11-27, drow/2003-09-06): /* Notes (cagney/2002-11-27, drow/2003-09-06):
@@ -1023,22 +1023,22 @@ extern frame_info_ptr create_new_frame (CORE_ADDR base, CORE_ADDR pc);
/* Return true if the frame unwinder for frame FI is UNWINDER; false /* Return true if the frame unwinder for frame FI is UNWINDER; false
otherwise. */ otherwise. */
extern bool frame_unwinder_is (frame_info_ptr fi, const frame_unwind *unwinder); extern bool frame_unwinder_is (const frame_info_ptr &fi, const frame_unwind *unwinder);
/* Return the language of FRAME. */ /* Return the language of FRAME. */
extern enum language get_frame_language (frame_info_ptr frame); extern enum language get_frame_language (const frame_info_ptr &frame);
/* Return the first non-tailcall frame above FRAME or FRAME if it is not a /* Return the first non-tailcall frame above FRAME or FRAME if it is not a
tailcall frame. Return NULL if FRAME is the start of a tailcall-only tailcall frame. Return NULL if FRAME is the start of a tailcall-only
chain. */ chain. */
extern frame_info_ptr skip_tailcall_frames (frame_info_ptr frame); extern frame_info_ptr skip_tailcall_frames (const frame_info_ptr &frame);
/* Return the first frame above FRAME or FRAME of which the code is /* Return the first frame above FRAME or FRAME of which the code is
writable. */ writable. */
extern frame_info_ptr skip_unwritable_frames (frame_info_ptr frame); extern frame_info_ptr skip_unwritable_frames (const frame_info_ptr &frame);
/* Data for the "set backtrace" settings. */ /* Data for the "set backtrace" settings. */
@@ -1070,11 +1070,11 @@ unsigned int get_frame_cache_generation ();
/* Mark that the PC value is masked for the previous frame. */ /* Mark that the PC value is masked for the previous frame. */
extern void set_frame_previous_pc_masked (frame_info_ptr frame); extern void set_frame_previous_pc_masked (const frame_info_ptr &frame);
/* Get whether the PC value is masked for the given frame. */ /* Get whether the PC value is masked for the given frame. */
extern bool get_frame_pc_masked (frame_info_ptr frame); extern bool get_frame_pc_masked (const frame_info_ptr &frame);
#endif /* !defined (FRAME_H) */ #endif /* !defined (FRAME_H) */

View File

@@ -168,7 +168,7 @@ frv_linux_pc_in_sigtramp (struct gdbarch *gdbarch, CORE_ADDR pc,
} __attribute__((aligned(8))); */ } __attribute__((aligned(8))); */
static LONGEST static LONGEST
frv_linux_sigcontext_reg_addr (frame_info_ptr this_frame, int regno, frv_linux_sigcontext_reg_addr (const frame_info_ptr &this_frame, int regno,
CORE_ADDR *sc_addr_cache_ptr) CORE_ADDR *sc_addr_cache_ptr)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -258,7 +258,7 @@ frv_linux_sigcontext_reg_addr (frame_info_ptr this_frame, int regno,
/* Signal trampolines. */ /* Signal trampolines. */
static struct trad_frame_cache * static struct trad_frame_cache *
frv_linux_sigtramp_frame_cache (frame_info_ptr this_frame, frv_linux_sigtramp_frame_cache (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -297,7 +297,7 @@ frv_linux_sigtramp_frame_cache (frame_info_ptr this_frame,
} }
static void static void
frv_linux_sigtramp_frame_this_id (frame_info_ptr this_frame, frv_linux_sigtramp_frame_this_id (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -307,7 +307,7 @@ frv_linux_sigtramp_frame_this_id (frame_info_ptr this_frame,
} }
static struct value * static struct value *
frv_linux_sigtramp_frame_prev_register (frame_info_ptr this_frame, frv_linux_sigtramp_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
/* Make sure we've initialized the cache. */ /* Make sure we've initialized the cache. */
@@ -318,7 +318,7 @@ frv_linux_sigtramp_frame_prev_register (frame_info_ptr this_frame,
static int static int
frv_linux_sigtramp_frame_sniffer (const struct frame_unwind *self, frv_linux_sigtramp_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);

View File

@@ -510,7 +510,7 @@ is_argument_reg (int reg)
prologue analysis. */ prologue analysis. */
static CORE_ADDR static CORE_ADDR
frv_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR pc, frv_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR pc,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct frv_unwind_cache *info) struct frv_unwind_cache *info)
{ {
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -1084,7 +1084,7 @@ frv_skip_main_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
static struct frv_unwind_cache * static struct frv_unwind_cache *
frv_frame_unwind_cache (frame_info_ptr this_frame, frv_frame_unwind_cache (const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -1367,7 +1367,7 @@ frv_return_value (struct gdbarch *gdbarch, struct value *function,
frame. This will be used to create a new GDB frame struct. */ frame. This will be used to create a new GDB frame struct. */
static void static void
frv_frame_this_id (frame_info_ptr this_frame, frv_frame_this_id (const frame_info_ptr &this_frame,
void **this_prologue_cache, struct frame_id *this_id) void **this_prologue_cache, struct frame_id *this_id)
{ {
struct frv_unwind_cache *info struct frv_unwind_cache *info
@@ -1397,7 +1397,7 @@ frv_frame_this_id (frame_info_ptr this_frame,
} }
static struct value * static struct value *
frv_frame_prev_register (frame_info_ptr this_frame, frv_frame_prev_register (const frame_info_ptr &this_frame,
void **this_prologue_cache, int regnum) void **this_prologue_cache, int regnum)
{ {
struct frv_unwind_cache *info struct frv_unwind_cache *info
@@ -1416,7 +1416,7 @@ static const struct frame_unwind frv_frame_unwind = {
}; };
static CORE_ADDR static CORE_ADDR
frv_frame_base_address (frame_info_ptr this_frame, void **this_cache) frv_frame_base_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct frv_unwind_cache *info struct frv_unwind_cache *info
= frv_frame_unwind_cache (this_frame, this_cache); = frv_frame_unwind_cache (this_frame, this_cache);

View File

@@ -450,7 +450,7 @@ ft32_alloc_frame_cache (void)
/* Populate a ft32_frame_cache object for this_frame. */ /* Populate a ft32_frame_cache object for this_frame. */
static struct ft32_frame_cache * static struct ft32_frame_cache *
ft32_frame_cache (frame_info_ptr this_frame, void **this_cache) ft32_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct ft32_frame_cache *cache; struct ft32_frame_cache *cache;
CORE_ADDR current_pc; CORE_ADDR current_pc;
@@ -490,7 +490,7 @@ ft32_frame_cache (frame_info_ptr this_frame, void **this_cache)
frame. This will be used to create a new GDB frame struct. */ frame. This will be used to create a new GDB frame struct. */
static void static void
ft32_frame_this_id (frame_info_ptr this_frame, ft32_frame_this_id (const frame_info_ptr &this_frame,
void **this_prologue_cache, struct frame_id *this_id) void **this_prologue_cache, struct frame_id *this_id)
{ {
struct ft32_frame_cache *cache = ft32_frame_cache (this_frame, struct ft32_frame_cache *cache = ft32_frame_cache (this_frame,
@@ -506,7 +506,7 @@ ft32_frame_this_id (frame_info_ptr this_frame,
/* Get the value of register regnum in the previous stack frame. */ /* Get the value of register regnum in the previous stack frame. */
static struct value * static struct value *
ft32_frame_prev_register (frame_info_ptr this_frame, ft32_frame_prev_register (const frame_info_ptr &this_frame,
void **this_prologue_cache, int regnum) void **this_prologue_cache, int regnum)
{ {
struct ft32_frame_cache *cache = ft32_frame_cache (this_frame, struct ft32_frame_cache *cache = ft32_frame_cache (this_frame,
@@ -538,7 +538,7 @@ static const struct frame_unwind ft32_frame_unwind =
/* Return the base address of this_frame. */ /* Return the base address of this_frame. */
static CORE_ADDR static CORE_ADDR
ft32_frame_base_address (frame_info_ptr this_frame, void **this_cache) ft32_frame_base_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct ft32_frame_cache *cache = ft32_frame_cache (this_frame, struct ft32_frame_cache *cache = ft32_frame_cache (this_frame,
this_cache); this_cache);

View File

@@ -196,8 +196,8 @@ extern void set_gdbarch_pseudo_register_read (struct gdbarch *gdbarch, gdbarch_p
extern bool gdbarch_pseudo_register_read_value_p (struct gdbarch *gdbarch); extern bool gdbarch_pseudo_register_read_value_p (struct gdbarch *gdbarch);
typedef struct value * (gdbarch_pseudo_register_read_value_ftype) (struct gdbarch *gdbarch, frame_info_ptr next_frame, int cookednum); typedef struct value * (gdbarch_pseudo_register_read_value_ftype) (struct gdbarch *gdbarch, const frame_info_ptr &next_frame, int cookednum);
extern struct value * gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch, frame_info_ptr next_frame, int cookednum); extern struct value * gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch, const frame_info_ptr &next_frame, int cookednum);
extern void set_gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch, gdbarch_pseudo_register_read_value_ftype *pseudo_register_read_value); extern void set_gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch, gdbarch_pseudo_register_read_value_ftype *pseudo_register_read_value);
/* Write bytes in BUF to pseudo register with number PSEUDO_REG_NUM. /* Write bytes in BUF to pseudo register with number PSEUDO_REG_NUM.
@@ -207,8 +207,8 @@ extern void set_gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch, gdb
extern bool gdbarch_pseudo_register_write_p (struct gdbarch *gdbarch); extern bool gdbarch_pseudo_register_write_p (struct gdbarch *gdbarch);
typedef void (gdbarch_pseudo_register_write_ftype) (struct gdbarch *gdbarch, frame_info_ptr next_frame, int pseudo_reg_num, gdb::array_view<const gdb_byte> buf); typedef void (gdbarch_pseudo_register_write_ftype) (struct gdbarch *gdbarch, const frame_info_ptr &next_frame, int pseudo_reg_num, gdb::array_view<const gdb_byte> buf);
extern void gdbarch_pseudo_register_write (struct gdbarch *gdbarch, frame_info_ptr next_frame, int pseudo_reg_num, gdb::array_view<const gdb_byte> buf); extern void gdbarch_pseudo_register_write (struct gdbarch *gdbarch, const frame_info_ptr &next_frame, int pseudo_reg_num, gdb::array_view<const gdb_byte> buf);
extern void set_gdbarch_pseudo_register_write (struct gdbarch *gdbarch, gdbarch_pseudo_register_write_ftype *pseudo_register_write); extern void set_gdbarch_pseudo_register_write (struct gdbarch *gdbarch, gdbarch_pseudo_register_write_ftype *pseudo_register_write);
/* Write bytes to a pseudo register. /* Write bytes to a pseudo register.
@@ -335,8 +335,8 @@ extern void set_gdbarch_register_type (struct gdbarch *gdbarch, gdbarch_register
should match the address at which the breakpoint was set in the dummy should match the address at which the breakpoint was set in the dummy
frame. */ frame. */
typedef struct frame_id (gdbarch_dummy_id_ftype) (struct gdbarch *gdbarch, frame_info_ptr this_frame); typedef struct frame_id (gdbarch_dummy_id_ftype) (struct gdbarch *gdbarch, const frame_info_ptr &this_frame);
extern struct frame_id gdbarch_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame); extern struct frame_id gdbarch_dummy_id (struct gdbarch *gdbarch, const frame_info_ptr &this_frame);
extern void set_gdbarch_dummy_id (struct gdbarch *gdbarch, gdbarch_dummy_id_ftype *dummy_id); extern void set_gdbarch_dummy_id (struct gdbarch *gdbarch, gdbarch_dummy_id_ftype *dummy_id);
/* Implement DUMMY_ID and PUSH_DUMMY_CALL, then delete /* Implement DUMMY_ID and PUSH_DUMMY_CALL, then delete
@@ -362,22 +362,22 @@ extern void set_gdbarch_push_dummy_code (struct gdbarch *gdbarch, gdbarch_push_d
/* Return true if the code of FRAME is writable. */ /* Return true if the code of FRAME is writable. */
typedef int (gdbarch_code_of_frame_writable_ftype) (struct gdbarch *gdbarch, frame_info_ptr frame); typedef int (gdbarch_code_of_frame_writable_ftype) (struct gdbarch *gdbarch, const frame_info_ptr &frame);
extern int gdbarch_code_of_frame_writable (struct gdbarch *gdbarch, frame_info_ptr frame); extern int gdbarch_code_of_frame_writable (struct gdbarch *gdbarch, const frame_info_ptr &frame);
extern void set_gdbarch_code_of_frame_writable (struct gdbarch *gdbarch, gdbarch_code_of_frame_writable_ftype *code_of_frame_writable); extern void set_gdbarch_code_of_frame_writable (struct gdbarch *gdbarch, gdbarch_code_of_frame_writable_ftype *code_of_frame_writable);
typedef void (gdbarch_print_registers_info_ftype) (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, int regnum, int all); typedef void (gdbarch_print_registers_info_ftype) (struct gdbarch *gdbarch, struct ui_file *file, const frame_info_ptr &frame, int regnum, int all);
extern void gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, int regnum, int all); extern void gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, const frame_info_ptr &frame, int regnum, int all);
extern void set_gdbarch_print_registers_info (struct gdbarch *gdbarch, gdbarch_print_registers_info_ftype *print_registers_info); extern void set_gdbarch_print_registers_info (struct gdbarch *gdbarch, gdbarch_print_registers_info_ftype *print_registers_info);
typedef void (gdbarch_print_float_info_ftype) (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, const char *args); typedef void (gdbarch_print_float_info_ftype) (struct gdbarch *gdbarch, struct ui_file *file, const frame_info_ptr &frame, const char *args);
extern void gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, const char *args); extern void gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, const frame_info_ptr &frame, const char *args);
extern void set_gdbarch_print_float_info (struct gdbarch *gdbarch, gdbarch_print_float_info_ftype *print_float_info); extern void set_gdbarch_print_float_info (struct gdbarch *gdbarch, gdbarch_print_float_info_ftype *print_float_info);
extern bool gdbarch_print_vector_info_p (struct gdbarch *gdbarch); extern bool gdbarch_print_vector_info_p (struct gdbarch *gdbarch);
typedef void (gdbarch_print_vector_info_ftype) (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, const char *args); typedef void (gdbarch_print_vector_info_ftype) (struct gdbarch *gdbarch, struct ui_file *file, const frame_info_ptr &frame, const char *args);
extern void gdbarch_print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, const char *args); extern void gdbarch_print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, const frame_info_ptr &frame, const char *args);
extern void set_gdbarch_print_vector_info (struct gdbarch *gdbarch, gdbarch_print_vector_info_ftype *print_vector_info); extern void set_gdbarch_print_vector_info (struct gdbarch *gdbarch, gdbarch_print_vector_info_ftype *print_vector_info);
/* MAP a GDB RAW register number onto a simulator register number. See /* MAP a GDB RAW register number onto a simulator register number. See
@@ -402,8 +402,8 @@ extern void set_gdbarch_cannot_store_register (struct gdbarch *gdbarch, gdbarch_
extern bool gdbarch_get_longjmp_target_p (struct gdbarch *gdbarch); extern bool gdbarch_get_longjmp_target_p (struct gdbarch *gdbarch);
typedef int (gdbarch_get_longjmp_target_ftype) (frame_info_ptr frame, CORE_ADDR *pc); typedef int (gdbarch_get_longjmp_target_ftype) (const frame_info_ptr &frame, CORE_ADDR *pc);
extern int gdbarch_get_longjmp_target (struct gdbarch *gdbarch, frame_info_ptr frame, CORE_ADDR *pc); extern int gdbarch_get_longjmp_target (struct gdbarch *gdbarch, const frame_info_ptr &frame, CORE_ADDR *pc);
extern void set_gdbarch_get_longjmp_target (struct gdbarch *gdbarch, gdbarch_get_longjmp_target_ftype *get_longjmp_target); extern void set_gdbarch_get_longjmp_target (struct gdbarch *gdbarch, gdbarch_get_longjmp_target_ftype *get_longjmp_target);
extern int gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch); extern int gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch);
@@ -413,12 +413,12 @@ typedef int (gdbarch_convert_register_p_ftype) (struct gdbarch *gdbarch, int reg
extern int gdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type); extern int gdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type);
extern void set_gdbarch_convert_register_p (struct gdbarch *gdbarch, gdbarch_convert_register_p_ftype *convert_register_p); extern void set_gdbarch_convert_register_p (struct gdbarch *gdbarch, gdbarch_convert_register_p_ftype *convert_register_p);
typedef int (gdbarch_register_to_value_ftype) (frame_info_ptr frame, int regnum, struct type *type, gdb_byte *buf, int *optimizedp, int *unavailablep); typedef int (gdbarch_register_to_value_ftype) (const frame_info_ptr &frame, int regnum, struct type *type, gdb_byte *buf, int *optimizedp, int *unavailablep);
extern int gdbarch_register_to_value (struct gdbarch *gdbarch, frame_info_ptr frame, int regnum, struct type *type, gdb_byte *buf, int *optimizedp, int *unavailablep); extern int gdbarch_register_to_value (struct gdbarch *gdbarch, const frame_info_ptr &frame, int regnum, struct type *type, gdb_byte *buf, int *optimizedp, int *unavailablep);
extern void set_gdbarch_register_to_value (struct gdbarch *gdbarch, gdbarch_register_to_value_ftype *register_to_value); extern void set_gdbarch_register_to_value (struct gdbarch *gdbarch, gdbarch_register_to_value_ftype *register_to_value);
typedef void (gdbarch_value_to_register_ftype) (frame_info_ptr frame, int regnum, struct type *type, const gdb_byte *buf); typedef void (gdbarch_value_to_register_ftype) (const frame_info_ptr &frame, int regnum, struct type *type, const gdb_byte *buf);
extern void gdbarch_value_to_register (struct gdbarch *gdbarch, frame_info_ptr frame, int regnum, struct type *type, const gdb_byte *buf); extern void gdbarch_value_to_register (struct gdbarch *gdbarch, const frame_info_ptr &frame, int regnum, struct type *type, const gdb_byte *buf);
extern void set_gdbarch_value_to_register (struct gdbarch *gdbarch, gdbarch_value_to_register_ftype *value_to_register); extern void set_gdbarch_value_to_register (struct gdbarch *gdbarch, gdbarch_value_to_register_ftype *value_to_register);
/* Construct a value representing the contents of register REGNUM in /* Construct a value representing the contents of register REGNUM in
@@ -484,8 +484,8 @@ extern void set_gdbarch_return_value_as_value (struct gdbarch *gdbarch, gdbarch_
May return 0 when unable to determine that address. */ May return 0 when unable to determine that address. */
typedef CORE_ADDR (gdbarch_get_return_buf_addr_ftype) (struct type *val_type, frame_info_ptr cur_frame); typedef CORE_ADDR (gdbarch_get_return_buf_addr_ftype) (struct type *val_type, const frame_info_ptr &cur_frame);
extern CORE_ADDR gdbarch_get_return_buf_addr (struct gdbarch *gdbarch, struct type *val_type, frame_info_ptr cur_frame); extern CORE_ADDR gdbarch_get_return_buf_addr (struct gdbarch *gdbarch, struct type *val_type, const frame_info_ptr &cur_frame);
extern void set_gdbarch_get_return_buf_addr (struct gdbarch *gdbarch, gdbarch_get_return_buf_addr_ftype *get_return_buf_addr); extern void set_gdbarch_get_return_buf_addr (struct gdbarch *gdbarch, gdbarch_get_return_buf_addr_ftype *get_return_buf_addr);
/* Return true if the typedef record needs to be replaced.". /* Return true if the typedef record needs to be replaced.".
@@ -635,12 +635,12 @@ extern void set_gdbarch_get_thread_local_address (struct gdbarch *gdbarch, gdbar
extern CORE_ADDR gdbarch_frame_args_skip (struct gdbarch *gdbarch); extern CORE_ADDR gdbarch_frame_args_skip (struct gdbarch *gdbarch);
extern void set_gdbarch_frame_args_skip (struct gdbarch *gdbarch, CORE_ADDR frame_args_skip); extern void set_gdbarch_frame_args_skip (struct gdbarch *gdbarch, CORE_ADDR frame_args_skip);
typedef CORE_ADDR (gdbarch_unwind_pc_ftype) (struct gdbarch *gdbarch, frame_info_ptr next_frame); typedef CORE_ADDR (gdbarch_unwind_pc_ftype) (struct gdbarch *gdbarch, const frame_info_ptr &next_frame);
extern CORE_ADDR gdbarch_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame); extern CORE_ADDR gdbarch_unwind_pc (struct gdbarch *gdbarch, const frame_info_ptr &next_frame);
extern void set_gdbarch_unwind_pc (struct gdbarch *gdbarch, gdbarch_unwind_pc_ftype *unwind_pc); extern void set_gdbarch_unwind_pc (struct gdbarch *gdbarch, gdbarch_unwind_pc_ftype *unwind_pc);
typedef CORE_ADDR (gdbarch_unwind_sp_ftype) (struct gdbarch *gdbarch, frame_info_ptr next_frame); typedef CORE_ADDR (gdbarch_unwind_sp_ftype) (struct gdbarch *gdbarch, const frame_info_ptr &next_frame);
extern CORE_ADDR gdbarch_unwind_sp (struct gdbarch *gdbarch, frame_info_ptr next_frame); extern CORE_ADDR gdbarch_unwind_sp (struct gdbarch *gdbarch, const frame_info_ptr &next_frame);
extern void set_gdbarch_unwind_sp (struct gdbarch *gdbarch, gdbarch_unwind_sp_ftype *unwind_sp); extern void set_gdbarch_unwind_sp (struct gdbarch *gdbarch, gdbarch_unwind_sp_ftype *unwind_sp);
/* DEPRECATED_FRAME_LOCALS_ADDRESS as been replaced by the per-frame /* DEPRECATED_FRAME_LOCALS_ADDRESS as been replaced by the per-frame
@@ -648,8 +648,8 @@ extern void set_gdbarch_unwind_sp (struct gdbarch *gdbarch, gdbarch_unwind_sp_ft
extern bool gdbarch_frame_num_args_p (struct gdbarch *gdbarch); extern bool gdbarch_frame_num_args_p (struct gdbarch *gdbarch);
typedef int (gdbarch_frame_num_args_ftype) (frame_info_ptr frame); typedef int (gdbarch_frame_num_args_ftype) (const frame_info_ptr &frame);
extern int gdbarch_frame_num_args (struct gdbarch *gdbarch, frame_info_ptr frame); extern int gdbarch_frame_num_args (struct gdbarch *gdbarch, const frame_info_ptr &frame);
extern void set_gdbarch_frame_num_args (struct gdbarch *gdbarch, gdbarch_frame_num_args_ftype *frame_num_args); extern void set_gdbarch_frame_num_args (struct gdbarch *gdbarch, gdbarch_frame_num_args_ftype *frame_num_args);
extern bool gdbarch_frame_align_p (struct gdbarch *gdbarch); extern bool gdbarch_frame_align_p (struct gdbarch *gdbarch);
@@ -768,8 +768,8 @@ extern void set_gdbarch_software_single_step (struct gdbarch *gdbarch, gdbarch_s
extern bool gdbarch_single_step_through_delay_p (struct gdbarch *gdbarch); extern bool gdbarch_single_step_through_delay_p (struct gdbarch *gdbarch);
typedef int (gdbarch_single_step_through_delay_ftype) (struct gdbarch *gdbarch, frame_info_ptr frame); typedef int (gdbarch_single_step_through_delay_ftype) (struct gdbarch *gdbarch, const frame_info_ptr &frame);
extern int gdbarch_single_step_through_delay (struct gdbarch *gdbarch, frame_info_ptr frame); extern int gdbarch_single_step_through_delay (struct gdbarch *gdbarch, const frame_info_ptr &frame);
extern void set_gdbarch_single_step_through_delay (struct gdbarch *gdbarch, gdbarch_single_step_through_delay_ftype *single_step_through_delay); extern void set_gdbarch_single_step_through_delay (struct gdbarch *gdbarch, gdbarch_single_step_through_delay_ftype *single_step_through_delay);
/* FIXME: cagney/2003-08-28: Need to find a better way of selecting the /* FIXME: cagney/2003-08-28: Need to find a better way of selecting the
@@ -779,8 +779,8 @@ typedef int (gdbarch_print_insn_ftype) (bfd_vma vma, struct disassemble_info *in
extern int gdbarch_print_insn (struct gdbarch *gdbarch, bfd_vma vma, struct disassemble_info *info); extern int gdbarch_print_insn (struct gdbarch *gdbarch, bfd_vma vma, struct disassemble_info *info);
extern void set_gdbarch_print_insn (struct gdbarch *gdbarch, gdbarch_print_insn_ftype *print_insn); extern void set_gdbarch_print_insn (struct gdbarch *gdbarch, gdbarch_print_insn_ftype *print_insn);
typedef CORE_ADDR (gdbarch_skip_trampoline_code_ftype) (frame_info_ptr frame, CORE_ADDR pc); typedef CORE_ADDR (gdbarch_skip_trampoline_code_ftype) (const frame_info_ptr &frame, CORE_ADDR pc);
extern CORE_ADDR gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, frame_info_ptr frame, CORE_ADDR pc); extern CORE_ADDR gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, const frame_info_ptr &frame, CORE_ADDR pc);
extern void set_gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, gdbarch_skip_trampoline_code_ftype *skip_trampoline_code); extern void set_gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, gdbarch_skip_trampoline_code_ftype *skip_trampoline_code);
/* Vtable of solib operations functions. */ /* Vtable of solib operations functions. */
@@ -927,8 +927,8 @@ extern void set_gdbarch_register_reggroup_p (struct gdbarch *gdbarch, gdbarch_re
extern bool gdbarch_fetch_pointer_argument_p (struct gdbarch *gdbarch); extern bool gdbarch_fetch_pointer_argument_p (struct gdbarch *gdbarch);
typedef CORE_ADDR (gdbarch_fetch_pointer_argument_ftype) (frame_info_ptr frame, int argi, struct type *type); typedef CORE_ADDR (gdbarch_fetch_pointer_argument_ftype) (const frame_info_ptr &frame, int argi, struct type *type);
extern CORE_ADDR gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, frame_info_ptr frame, int argi, struct type *type); extern CORE_ADDR gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, const frame_info_ptr &frame, int argi, struct type *type);
extern void set_gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, gdbarch_fetch_pointer_argument_ftype *fetch_pointer_argument); extern void set_gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, gdbarch_fetch_pointer_argument_ftype *fetch_pointer_argument);
/* Iterate over all supported register notes in a core file. For each /* Iterate over all supported register notes in a core file. For each
@@ -1732,8 +1732,8 @@ extern void set_gdbarch_type_align (struct gdbarch *gdbarch, gdbarch_type_align_
/* Return a string containing any flags for the given PC in the given FRAME. */ /* Return a string containing any flags for the given PC in the given FRAME. */
typedef std::string (gdbarch_get_pc_address_flags_ftype) (frame_info_ptr frame, CORE_ADDR pc); typedef std::string (gdbarch_get_pc_address_flags_ftype) (const frame_info_ptr &frame, CORE_ADDR pc);
extern std::string gdbarch_get_pc_address_flags (struct gdbarch *gdbarch, frame_info_ptr frame, CORE_ADDR pc); extern std::string gdbarch_get_pc_address_flags (struct gdbarch *gdbarch, const frame_info_ptr &frame, CORE_ADDR pc);
extern void set_gdbarch_get_pc_address_flags (struct gdbarch *gdbarch, gdbarch_get_pc_address_flags_ftype *get_pc_address_flags); extern void set_gdbarch_get_pc_address_flags (struct gdbarch *gdbarch, gdbarch_get_pc_address_flags_ftype *get_pc_address_flags);
/* Read core file mappings */ /* Read core file mappings */

View File

@@ -1894,7 +1894,7 @@ gdbarch_pseudo_register_read_value_p (struct gdbarch *gdbarch)
} }
struct value * struct value *
gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch, frame_info_ptr next_frame, int cookednum) gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch, const frame_info_ptr &next_frame, int cookednum)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->pseudo_register_read_value != NULL); gdb_assert (gdbarch->pseudo_register_read_value != NULL);
@@ -1918,7 +1918,7 @@ gdbarch_pseudo_register_write_p (struct gdbarch *gdbarch)
} }
void void
gdbarch_pseudo_register_write (struct gdbarch *gdbarch, frame_info_ptr next_frame, int pseudo_reg_num, gdb::array_view<const gdb_byte> buf) gdbarch_pseudo_register_write (struct gdbarch *gdbarch, const frame_info_ptr &next_frame, int pseudo_reg_num, gdb::array_view<const gdb_byte> buf)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->pseudo_register_write != NULL); gdb_assert (gdbarch->pseudo_register_write != NULL);
@@ -2240,7 +2240,7 @@ set_gdbarch_register_type (struct gdbarch *gdbarch,
} }
struct frame_id struct frame_id
gdbarch_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) gdbarch_dummy_id (struct gdbarch *gdbarch, const frame_info_ptr &this_frame)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->dummy_id != NULL); gdb_assert (gdbarch->dummy_id != NULL);
@@ -2339,7 +2339,7 @@ set_gdbarch_push_dummy_code (struct gdbarch *gdbarch,
} }
int int
gdbarch_code_of_frame_writable (struct gdbarch *gdbarch, frame_info_ptr frame) gdbarch_code_of_frame_writable (struct gdbarch *gdbarch, const frame_info_ptr &frame)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->code_of_frame_writable != NULL); gdb_assert (gdbarch->code_of_frame_writable != NULL);
@@ -2356,7 +2356,7 @@ set_gdbarch_code_of_frame_writable (struct gdbarch *gdbarch,
} }
void void
gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, int regnum, int all) gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, const frame_info_ptr &frame, int regnum, int all)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->print_registers_info != NULL); gdb_assert (gdbarch->print_registers_info != NULL);
@@ -2373,7 +2373,7 @@ set_gdbarch_print_registers_info (struct gdbarch *gdbarch,
} }
void void
gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, const char *args) gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, const frame_info_ptr &frame, const char *args)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->print_float_info != NULL); gdb_assert (gdbarch->print_float_info != NULL);
@@ -2397,7 +2397,7 @@ gdbarch_print_vector_info_p (struct gdbarch *gdbarch)
} }
void void
gdbarch_print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, const char *args) gdbarch_print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, const frame_info_ptr &frame, const char *args)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->print_vector_info != NULL); gdb_assert (gdbarch->print_vector_info != NULL);
@@ -2472,7 +2472,7 @@ gdbarch_get_longjmp_target_p (struct gdbarch *gdbarch)
} }
int int
gdbarch_get_longjmp_target (struct gdbarch *gdbarch, frame_info_ptr frame, CORE_ADDR *pc) gdbarch_get_longjmp_target (struct gdbarch *gdbarch, const frame_info_ptr &frame, CORE_ADDR *pc)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->get_longjmp_target != NULL); gdb_assert (gdbarch->get_longjmp_target != NULL);
@@ -2523,7 +2523,7 @@ set_gdbarch_convert_register_p (struct gdbarch *gdbarch,
} }
int int
gdbarch_register_to_value (struct gdbarch *gdbarch, frame_info_ptr frame, int regnum, struct type *type, gdb_byte *buf, int *optimizedp, int *unavailablep) gdbarch_register_to_value (struct gdbarch *gdbarch, const frame_info_ptr &frame, int regnum, struct type *type, gdb_byte *buf, int *optimizedp, int *unavailablep)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->register_to_value != NULL); gdb_assert (gdbarch->register_to_value != NULL);
@@ -2540,7 +2540,7 @@ set_gdbarch_register_to_value (struct gdbarch *gdbarch,
} }
void void
gdbarch_value_to_register (struct gdbarch *gdbarch, frame_info_ptr frame, int regnum, struct type *type, const gdb_byte *buf) gdbarch_value_to_register (struct gdbarch *gdbarch, const frame_info_ptr &frame, int regnum, struct type *type, const gdb_byte *buf)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->value_to_register != NULL); gdb_assert (gdbarch->value_to_register != NULL);
@@ -2656,7 +2656,7 @@ set_gdbarch_return_value_as_value (struct gdbarch *gdbarch,
} }
CORE_ADDR CORE_ADDR
gdbarch_get_return_buf_addr (struct gdbarch *gdbarch, struct type *val_type, frame_info_ptr cur_frame) gdbarch_get_return_buf_addr (struct gdbarch *gdbarch, struct type *val_type, const frame_info_ptr &cur_frame)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->get_return_buf_addr != NULL); gdb_assert (gdbarch->get_return_buf_addr != NULL);
@@ -3048,7 +3048,7 @@ set_gdbarch_frame_args_skip (struct gdbarch *gdbarch,
} }
CORE_ADDR CORE_ADDR
gdbarch_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) gdbarch_unwind_pc (struct gdbarch *gdbarch, const frame_info_ptr &next_frame)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->unwind_pc != NULL); gdb_assert (gdbarch->unwind_pc != NULL);
@@ -3065,7 +3065,7 @@ set_gdbarch_unwind_pc (struct gdbarch *gdbarch,
} }
CORE_ADDR CORE_ADDR
gdbarch_unwind_sp (struct gdbarch *gdbarch, frame_info_ptr next_frame) gdbarch_unwind_sp (struct gdbarch *gdbarch, const frame_info_ptr &next_frame)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->unwind_sp != NULL); gdb_assert (gdbarch->unwind_sp != NULL);
@@ -3089,7 +3089,7 @@ gdbarch_frame_num_args_p (struct gdbarch *gdbarch)
} }
int int
gdbarch_frame_num_args (struct gdbarch *gdbarch, frame_info_ptr frame) gdbarch_frame_num_args (struct gdbarch *gdbarch, const frame_info_ptr &frame)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->frame_num_args != NULL); gdb_assert (gdbarch->frame_num_args != NULL);
@@ -3348,7 +3348,7 @@ gdbarch_single_step_through_delay_p (struct gdbarch *gdbarch)
} }
int int
gdbarch_single_step_through_delay (struct gdbarch *gdbarch, frame_info_ptr frame) gdbarch_single_step_through_delay (struct gdbarch *gdbarch, const frame_info_ptr &frame)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->single_step_through_delay != NULL); gdb_assert (gdbarch->single_step_through_delay != NULL);
@@ -3382,7 +3382,7 @@ set_gdbarch_print_insn (struct gdbarch *gdbarch,
} }
CORE_ADDR CORE_ADDR
gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, frame_info_ptr frame, CORE_ADDR pc) gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, const frame_info_ptr &frame, CORE_ADDR pc)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->skip_trampoline_code != NULL); gdb_assert (gdbarch->skip_trampoline_code != NULL);
@@ -3723,7 +3723,7 @@ gdbarch_fetch_pointer_argument_p (struct gdbarch *gdbarch)
} }
CORE_ADDR CORE_ADDR
gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, frame_info_ptr frame, int argi, struct type *type) gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, const frame_info_ptr &frame, int argi, struct type *type)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->fetch_pointer_argument != NULL); gdb_assert (gdbarch->fetch_pointer_argument != NULL);
@@ -5414,7 +5414,7 @@ set_gdbarch_type_align (struct gdbarch *gdbarch,
} }
std::string std::string
gdbarch_get_pc_address_flags (struct gdbarch *gdbarch, frame_info_ptr frame, CORE_ADDR pc) gdbarch_get_pc_address_flags (struct gdbarch *gdbarch, const frame_info_ptr &frame, CORE_ADDR pc)
{ {
gdb_assert (gdbarch != NULL); gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->get_pc_address_flags != NULL); gdb_assert (gdbarch->get_pc_address_flags != NULL);

View File

@@ -414,7 +414,7 @@ never be called.
""", """,
type="struct value *", type="struct value *",
name="pseudo_register_read_value", name="pseudo_register_read_value",
params=[("frame_info_ptr", "next_frame"), ("int", "cookednum")], params=[("const frame_info_ptr &", "next_frame"), ("int", "cookednum")],
predicate=True, predicate=True,
) )
@@ -428,7 +428,7 @@ NEXT_FRAME.
type="void", type="void",
name="pseudo_register_write", name="pseudo_register_write",
params=[ params=[
("frame_info_ptr", "next_frame"), ("const frame_info_ptr &", "next_frame"),
("int", "pseudo_reg_num"), ("int", "pseudo_reg_num"),
("gdb::array_view<const gdb_byte>", "buf"), ("gdb::array_view<const gdb_byte>", "buf"),
], ],
@@ -628,7 +628,7 @@ frame.
""", """,
type="struct frame_id", type="struct frame_id",
name="dummy_id", name="dummy_id",
params=[("frame_info_ptr", "this_frame")], params=[("const frame_info_ptr &", "this_frame")],
predefault="default_dummy_id", predefault="default_dummy_id",
invalid=False, invalid=False,
) )
@@ -689,7 +689,7 @@ Return true if the code of FRAME is writable.
""", """,
type="int", type="int",
name="code_of_frame_writable", name="code_of_frame_writable",
params=[("frame_info_ptr", "frame")], params=[("const frame_info_ptr &", "frame")],
predefault="default_code_of_frame_writable", predefault="default_code_of_frame_writable",
invalid=False, invalid=False,
) )
@@ -699,7 +699,7 @@ Method(
name="print_registers_info", name="print_registers_info",
params=[ params=[
("struct ui_file *", "file"), ("struct ui_file *", "file"),
("frame_info_ptr", "frame"), ("const frame_info_ptr &", "frame"),
("int", "regnum"), ("int", "regnum"),
("int", "all"), ("int", "all"),
], ],
@@ -712,7 +712,7 @@ Method(
name="print_float_info", name="print_float_info",
params=[ params=[
("struct ui_file *", "file"), ("struct ui_file *", "file"),
("frame_info_ptr", "frame"), ("const frame_info_ptr &", "frame"),
("const char *", "args"), ("const char *", "args"),
], ],
predefault="default_print_float_info", predefault="default_print_float_info",
@@ -724,7 +724,7 @@ Method(
name="print_vector_info", name="print_vector_info",
params=[ params=[
("struct ui_file *", "file"), ("struct ui_file *", "file"),
("frame_info_ptr", "frame"), ("const frame_info_ptr &", "frame"),
("const char *", "args"), ("const char *", "args"),
], ],
predicate=True, predicate=True,
@@ -767,7 +767,7 @@ FRAME corresponds to the longjmp frame.
""", """,
type="int", type="int",
name="get_longjmp_target", name="get_longjmp_target",
params=[("frame_info_ptr", "frame"), ("CORE_ADDR *", "pc")], params=[("const frame_info_ptr &", "frame"), ("CORE_ADDR *", "pc")],
predicate=True, predicate=True,
) )
@@ -789,7 +789,7 @@ Function(
type="int", type="int",
name="register_to_value", name="register_to_value",
params=[ params=[
("frame_info_ptr", "frame"), ("const frame_info_ptr &", "frame"),
("int", "regnum"), ("int", "regnum"),
("struct type *", "type"), ("struct type *", "type"),
("gdb_byte *", "buf"), ("gdb_byte *", "buf"),
@@ -803,7 +803,7 @@ Function(
type="void", type="void",
name="value_to_register", name="value_to_register",
params=[ params=[
("frame_info_ptr", "frame"), ("const frame_info_ptr &", "frame"),
("int", "regnum"), ("int", "regnum"),
("struct type *", "type"), ("struct type *", "type"),
("const gdb_byte *", "buf"), ("const gdb_byte *", "buf"),
@@ -923,7 +923,7 @@ convention".
May return 0 when unable to determine that address.""", May return 0 when unable to determine that address.""",
type="CORE_ADDR", type="CORE_ADDR",
name="get_return_buf_addr", name="get_return_buf_addr",
params=[("struct type *", "val_type"), ("frame_info_ptr", "cur_frame")], params=[("struct type *", "val_type"), ("const frame_info_ptr &", "cur_frame")],
predefault="default_get_return_buf_addr", predefault="default_get_return_buf_addr",
invalid=False, invalid=False,
) )
@@ -1157,7 +1157,7 @@ Value(
Method( Method(
type="CORE_ADDR", type="CORE_ADDR",
name="unwind_pc", name="unwind_pc",
params=[("frame_info_ptr", "next_frame")], params=[("const frame_info_ptr &", "next_frame")],
predefault="default_unwind_pc", predefault="default_unwind_pc",
invalid=False, invalid=False,
) )
@@ -1165,7 +1165,7 @@ Method(
Method( Method(
type="CORE_ADDR", type="CORE_ADDR",
name="unwind_sp", name="unwind_sp",
params=[("frame_info_ptr", "next_frame")], params=[("const frame_info_ptr &", "next_frame")],
predefault="default_unwind_sp", predefault="default_unwind_sp",
invalid=False, invalid=False,
) )
@@ -1177,7 +1177,7 @@ frame-base. Enable frame-base before frame-unwind.
""", """,
type="int", type="int",
name="frame_num_args", name="frame_num_args",
params=[("frame_info_ptr", "frame")], params=[("const frame_info_ptr &", "frame")],
predicate=True, predicate=True,
) )
@@ -1357,7 +1357,7 @@ further single-step is needed before the instruction finishes.
""", """,
type="int", type="int",
name="single_step_through_delay", name="single_step_through_delay",
params=[("frame_info_ptr", "frame")], params=[("const frame_info_ptr &", "frame")],
predicate=True, predicate=True,
) )
@@ -1376,7 +1376,7 @@ disassembler. Perhaps objdump can handle it?
Function( Function(
type="CORE_ADDR", type="CORE_ADDR",
name="skip_trampoline_code", name="skip_trampoline_code",
params=[("frame_info_ptr", "frame"), ("CORE_ADDR", "pc")], params=[("const frame_info_ptr &", "frame"), ("CORE_ADDR", "pc")],
predefault="generic_skip_trampoline_code", predefault="generic_skip_trampoline_code",
invalid=False, invalid=False,
) )
@@ -1596,7 +1596,7 @@ Fetch the pointer to the ith function argument.
type="CORE_ADDR", type="CORE_ADDR",
name="fetch_pointer_argument", name="fetch_pointer_argument",
params=[ params=[
("frame_info_ptr", "frame"), ("const frame_info_ptr &", "frame"),
("int", "argi"), ("int", "argi"),
("struct type *", "type"), ("struct type *", "type"),
], ],
@@ -2744,7 +2744,7 @@ Return a string containing any flags for the given PC in the given FRAME.
""", """,
type="std::string", type="std::string",
name="get_pc_address_flags", name="get_pc_address_flags",
params=[("frame_info_ptr", "frame"), ("CORE_ADDR", "pc")], params=[("const frame_info_ptr &", "frame"), ("CORE_ADDR", "pc")],
predefault="default_get_pc_address_flags", predefault="default_get_pc_address_flags",
invalid=False, invalid=False,
) )

View File

@@ -1225,7 +1225,7 @@ gnuv3_get_type_from_type_info (struct value *type_info_ptr)
of the routine we are thunking to and continue to there instead. */ of the routine we are thunking to and continue to there instead. */
static CORE_ADDR static CORE_ADDR
gnuv3_skip_trampoline (frame_info_ptr frame, CORE_ADDR stop_pc) gnuv3_skip_trampoline (const frame_info_ptr &frame, CORE_ADDR stop_pc)
{ {
CORE_ADDR real_stop_pc, method_stop_pc, func_addr; CORE_ADDR real_stop_pc, method_stop_pc, func_addr;
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);

View File

@@ -404,7 +404,7 @@ h8300_analyze_prologue (struct gdbarch *gdbarch,
} }
static struct h8300_frame_cache * static struct h8300_frame_cache *
h8300_frame_cache (frame_info_ptr this_frame, void **this_cache) h8300_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
struct h8300_frame_cache *cache; struct h8300_frame_cache *cache;
@@ -466,7 +466,7 @@ h8300_frame_cache (frame_info_ptr this_frame, void **this_cache)
} }
static void static void
h8300_frame_this_id (frame_info_ptr this_frame, void **this_cache, h8300_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
struct h8300_frame_cache *cache = struct h8300_frame_cache *cache =
@@ -480,7 +480,7 @@ h8300_frame_this_id (frame_info_ptr this_frame, void **this_cache,
} }
static struct value * static struct value *
h8300_frame_prev_register (frame_info_ptr this_frame, void **this_cache, h8300_frame_prev_register (const frame_info_ptr &this_frame, void **this_cache,
int regnum) int regnum)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -511,7 +511,7 @@ static const struct frame_unwind h8300_frame_unwind = {
}; };
static CORE_ADDR static CORE_ADDR
h8300_frame_base_address (frame_info_ptr this_frame, void **this_cache) h8300_frame_base_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct h8300_frame_cache *cache = h8300_frame_cache (this_frame, this_cache); struct h8300_frame_cache *cache = h8300_frame_cache (this_frame, this_cache);
return cache->base; return cache->base;
@@ -991,7 +991,7 @@ h8300sx_register_name (struct gdbarch *gdbarch, int regno)
static void static void
h8300_print_register (struct gdbarch *gdbarch, struct ui_file *file, h8300_print_register (struct gdbarch *gdbarch, struct ui_file *file,
frame_info_ptr frame, int regno) const frame_info_ptr &frame, int regno)
{ {
LONGEST rval; LONGEST rval;
const char *name = gdbarch_register_name (gdbarch, regno); const char *name = gdbarch_register_name (gdbarch, regno);
@@ -1068,7 +1068,7 @@ h8300_print_register (struct gdbarch *gdbarch, struct ui_file *file,
static void static void
h8300_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, h8300_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file,
frame_info_ptr frame, int regno, int cpregs) const frame_info_ptr &frame, int regno, int cpregs)
{ {
if (regno < 0) if (regno < 0)
{ {

View File

@@ -104,7 +104,7 @@ hppabsd_find_global_pointer (struct gdbarch *gdbarch, struct value *function)
static void static void
hppabsd_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, hppabsd_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
struct dwarf2_frame_state_reg *reg, struct dwarf2_frame_state_reg *reg,
frame_info_ptr this_frame) const frame_info_ptr &this_frame)
{ {
if (regnum == HPPA_PCOQ_HEAD_REGNUM) if (regnum == HPPA_PCOQ_HEAD_REGNUM)
reg->how = DWARF2_FRAME_REG_RA; reg->how = DWARF2_FRAME_REG_RA;

View File

@@ -193,7 +193,7 @@ struct hppa_linux_sigtramp_unwind_cache
}; };
static struct hppa_linux_sigtramp_unwind_cache * static struct hppa_linux_sigtramp_unwind_cache *
hppa_linux_sigtramp_frame_unwind_cache (frame_info_ptr this_frame, hppa_linux_sigtramp_frame_unwind_cache (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -268,7 +268,7 @@ hppa_linux_sigtramp_frame_unwind_cache (frame_info_ptr this_frame,
} }
static void static void
hppa_linux_sigtramp_frame_this_id (frame_info_ptr this_frame, hppa_linux_sigtramp_frame_this_id (const frame_info_ptr &this_frame,
void **this_prologue_cache, void **this_prologue_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -278,7 +278,7 @@ hppa_linux_sigtramp_frame_this_id (frame_info_ptr this_frame,
} }
static struct value * static struct value *
hppa_linux_sigtramp_frame_prev_register (frame_info_ptr this_frame, hppa_linux_sigtramp_frame_prev_register (const frame_info_ptr &this_frame,
void **this_prologue_cache, void **this_prologue_cache,
int regnum) int regnum)
{ {
@@ -296,7 +296,7 @@ hppa_linux_sigtramp_frame_prev_register (frame_info_ptr this_frame,
we can find the beginning of the struct rt_sigframe. */ we can find the beginning of the struct rt_sigframe. */
static int static int
hppa_linux_sigtramp_frame_sniffer (const struct frame_unwind *self, hppa_linux_sigtramp_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);

View File

@@ -64,7 +64,7 @@ static int hppanbsd_mc_reg_offset[] =
}; };
static void hppanbsd_sigtramp_cache_init (const struct tramp_frame *, static void hppanbsd_sigtramp_cache_init (const struct tramp_frame *,
frame_info_ptr, const frame_info_ptr &,
struct trad_frame_cache *, struct trad_frame_cache *,
CORE_ADDR); CORE_ADDR);
@@ -99,7 +99,7 @@ static const struct tramp_frame hppanbsd_sigtramp_si4 =
static void static void
hppanbsd_sigtramp_cache_init (const struct tramp_frame *self, hppanbsd_sigtramp_cache_init (const struct tramp_frame *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct trad_frame_cache *this_cache, struct trad_frame_cache *this_cache,
CORE_ADDR func) CORE_ADDR func)
{ {

View File

@@ -1829,7 +1829,7 @@ hppa_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
/* Return an unwind entry that falls within the frame's code block. */ /* Return an unwind entry that falls within the frame's code block. */
static struct unwind_table_entry * static struct unwind_table_entry *
hppa_find_unwind_entry_in_block (frame_info_ptr this_frame) hppa_find_unwind_entry_in_block (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_address_in_block (this_frame); CORE_ADDR pc = get_frame_address_in_block (this_frame);
@@ -1850,7 +1850,7 @@ struct hppa_frame_cache
}; };
static struct hppa_frame_cache * static struct hppa_frame_cache *
hppa_frame_cache (frame_info_ptr this_frame, void **this_cache) hppa_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -2251,7 +2251,7 @@ hppa_frame_cache (frame_info_ptr this_frame, void **this_cache)
} }
static void static void
hppa_frame_this_id (frame_info_ptr this_frame, void **this_cache, hppa_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
struct hppa_frame_cache *info; struct hppa_frame_cache *info;
@@ -2264,7 +2264,7 @@ hppa_frame_this_id (frame_info_ptr this_frame, void **this_cache,
} }
static struct value * static struct value *
hppa_frame_prev_register (frame_info_ptr this_frame, hppa_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
struct hppa_frame_cache *info = hppa_frame_cache (this_frame, this_cache); struct hppa_frame_cache *info = hppa_frame_cache (this_frame, this_cache);
@@ -2275,7 +2275,7 @@ hppa_frame_prev_register (frame_info_ptr this_frame,
static int static int
hppa_frame_unwind_sniffer (const struct frame_unwind *self, hppa_frame_unwind_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, void **this_cache) const frame_info_ptr &this_frame, void **this_cache)
{ {
if (hppa_find_unwind_entry_in_block (this_frame)) if (hppa_find_unwind_entry_in_block (this_frame))
return 1; return 1;
@@ -2303,7 +2303,7 @@ static const struct frame_unwind hppa_frame_unwind =
identify the stack and pc for the frame. */ identify the stack and pc for the frame. */
static struct hppa_frame_cache * static struct hppa_frame_cache *
hppa_fallback_frame_cache (frame_info_ptr this_frame, void **this_cache) hppa_fallback_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -2376,7 +2376,7 @@ hppa_fallback_frame_cache (frame_info_ptr this_frame, void **this_cache)
} }
static void static void
hppa_fallback_frame_this_id (frame_info_ptr this_frame, void **this_cache, hppa_fallback_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
struct hppa_frame_cache *info = struct hppa_frame_cache *info =
@@ -2386,7 +2386,7 @@ hppa_fallback_frame_this_id (frame_info_ptr this_frame, void **this_cache,
} }
static struct value * static struct value *
hppa_fallback_frame_prev_register (frame_info_ptr this_frame, hppa_fallback_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
struct hppa_frame_cache *info struct hppa_frame_cache *info
@@ -2415,7 +2415,7 @@ struct hppa_stub_unwind_cache
}; };
static struct hppa_stub_unwind_cache * static struct hppa_stub_unwind_cache *
hppa_stub_frame_unwind_cache (frame_info_ptr this_frame, hppa_stub_frame_unwind_cache (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct hppa_stub_unwind_cache *info; struct hppa_stub_unwind_cache *info;
@@ -2436,7 +2436,7 @@ hppa_stub_frame_unwind_cache (frame_info_ptr this_frame,
} }
static void static void
hppa_stub_frame_this_id (frame_info_ptr this_frame, hppa_stub_frame_this_id (const frame_info_ptr &this_frame,
void **this_prologue_cache, void **this_prologue_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -2448,7 +2448,7 @@ hppa_stub_frame_this_id (frame_info_ptr this_frame,
} }
static struct value * static struct value *
hppa_stub_frame_prev_register (frame_info_ptr this_frame, hppa_stub_frame_prev_register (const frame_info_ptr &this_frame,
void **this_prologue_cache, int regnum) void **this_prologue_cache, int regnum)
{ {
struct hppa_stub_unwind_cache *info struct hppa_stub_unwind_cache *info
@@ -2463,7 +2463,7 @@ hppa_stub_frame_prev_register (frame_info_ptr this_frame,
static int static int
hppa_stub_unwind_sniffer (const struct frame_unwind *self, hppa_stub_unwind_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
CORE_ADDR pc = get_frame_address_in_block (this_frame); CORE_ADDR pc = get_frame_address_in_block (this_frame);
@@ -2489,7 +2489,7 @@ static const struct frame_unwind hppa_stub_frame_unwind = {
}; };
CORE_ADDR CORE_ADDR
hppa_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) hppa_unwind_pc (struct gdbarch *gdbarch, const frame_info_ptr &next_frame)
{ {
ULONGEST ipsw; ULONGEST ipsw;
CORE_ADDR pc; CORE_ADDR pc;
@@ -2675,7 +2675,7 @@ hppa_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR addr)
/* Get the ARGIth function argument for the current function. */ /* Get the ARGIth function argument for the current function. */
static CORE_ADDR static CORE_ADDR
hppa_fetch_pointer_argument (frame_info_ptr frame, int argi, hppa_fetch_pointer_argument (const frame_info_ptr &frame, int argi,
struct type *type) struct type *type)
{ {
return get_frame_register_unsigned (frame, HPPA_R0_REGNUM + 26 - argi); return get_frame_register_unsigned (frame, HPPA_R0_REGNUM + 26 - argi);
@@ -2706,7 +2706,7 @@ hppa_find_global_pointer (struct gdbarch *gdbarch, struct value *function)
} }
struct value * struct value *
hppa_frame_prev_register_helper (frame_info_ptr this_frame, hppa_frame_prev_register_helper (const frame_info_ptr &this_frame,
trad_frame_saved_reg saved_regs[], trad_frame_saved_reg saved_regs[],
int regnum) int regnum)
{ {
@@ -2884,7 +2884,7 @@ hppa_in_solib_call_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc)
systems: $$dyncall, import stubs and PLT stubs. */ systems: $$dyncall, import stubs and PLT stubs. */
CORE_ADDR CORE_ADDR
hppa_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) hppa_skip_trampoline_code (const frame_info_ptr &frame, CORE_ADDR pc)
{ {
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);
struct type *func_ptr_type = builtin_type (gdbarch)->builtin_func_ptr; struct type *func_ptr_type = builtin_type (gdbarch)->builtin_func_ptr;

View File

@@ -109,7 +109,7 @@ struct hppa_gdbarch_tdep : gdbarch_tdep_base
not interested in them. If we detect that we are returning to a stub, not interested in them. If we detect that we are returning to a stub,
adjust the pc to the real caller. This improves the behavior of commands adjust the pc to the real caller. This improves the behavior of commands
that traverse frames such as "up" and "finish". */ that traverse frames such as "up" and "finish". */
void (*unwind_adjust_stub) (frame_info_ptr this_frame, CORE_ADDR base, void (*unwind_adjust_stub) (const frame_info_ptr &this_frame, CORE_ADDR base,
trad_frame_saved_reg *saved_regs) = nullptr; trad_frame_saved_reg *saved_regs) = nullptr;
/* These are solib-dependent methods. They are really HPUX only, but /* These are solib-dependent methods. They are really HPUX only, but
@@ -201,17 +201,17 @@ int hppa_extract_14 (unsigned);
CORE_ADDR hppa_symbol_address(const char *sym); CORE_ADDR hppa_symbol_address(const char *sym);
extern struct value * extern struct value *
hppa_frame_prev_register_helper (frame_info_ptr this_frame, hppa_frame_prev_register_helper (const frame_info_ptr &this_frame,
trad_frame_saved_reg *saved_regs, trad_frame_saved_reg *saved_regs,
int regnum); int regnum);
extern CORE_ADDR hppa_read_pc (struct regcache *regcache); extern CORE_ADDR hppa_read_pc (struct regcache *regcache);
extern void hppa_write_pc (struct regcache *regcache, CORE_ADDR pc); extern void hppa_write_pc (struct regcache *regcache, CORE_ADDR pc);
extern CORE_ADDR hppa_unwind_pc (struct gdbarch *gdbarch, extern CORE_ADDR hppa_unwind_pc (struct gdbarch *gdbarch,
frame_info_ptr next_frame); const frame_info_ptr &next_frame);
extern int hppa_in_solib_call_trampoline (struct gdbarch *gdbarch, extern int hppa_in_solib_call_trampoline (struct gdbarch *gdbarch,
CORE_ADDR pc); CORE_ADDR pc);
extern CORE_ADDR hppa_skip_trampoline_code (frame_info_ptr, CORE_ADDR pc); extern CORE_ADDR hppa_skip_trampoline_code (const frame_info_ptr &, CORE_ADDR pc);
#endif /* hppa-tdep.h */ #endif /* hppa-tdep.h */

View File

@@ -32,7 +32,7 @@
address of the associated sigcontext structure. */ address of the associated sigcontext structure. */
static CORE_ADDR static CORE_ADDR
i386bsd_sigcontext_addr (frame_info_ptr this_frame) i386bsd_sigcontext_addr (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);

View File

@@ -66,7 +66,7 @@ const int i386_darwin_thread_state_num_regs =
address of the associated sigcontext structure. */ address of the associated sigcontext structure. */
static CORE_ADDR static CORE_ADDR
i386_darwin_sigcontext_addr (frame_info_ptr this_frame) i386_darwin_sigcontext_addr (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -99,7 +99,7 @@ i386_darwin_sigcontext_addr (frame_info_ptr this_frame)
int int
darwin_dwarf_signal_frame_p (struct gdbarch *gdbarch, darwin_dwarf_signal_frame_p (struct gdbarch *gdbarch,
frame_info_ptr this_frame) const frame_info_ptr &this_frame)
{ {
return i386_sigtramp_p (this_frame); return i386_sigtramp_p (this_frame);
} }

View File

@@ -27,6 +27,6 @@
extern int i386_darwin_thread_state_reg_offset[]; extern int i386_darwin_thread_state_reg_offset[];
extern const int i386_darwin_thread_state_num_regs; extern const int i386_darwin_thread_state_num_regs;
int darwin_dwarf_signal_frame_p (struct gdbarch *, frame_info_ptr); int darwin_dwarf_signal_frame_p (struct gdbarch *, const frame_info_ptr &);
#endif /* I386_DARWIN_TDEP_H */ #endif /* I386_DARWIN_TDEP_H */

View File

@@ -156,7 +156,7 @@ const struct regset i386_fbsd_segbases_regset =
static void static void
i386_fbsd_sigframe_init (const struct tramp_frame *self, i386_fbsd_sigframe_init (const struct tramp_frame *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct trad_frame_cache *this_cache, struct trad_frame_cache *this_cache,
CORE_ADDR func) CORE_ADDR func)
{ {

View File

@@ -56,7 +56,7 @@ static const gdb_byte gnu_sigtramp_code[] =
start of the routine. Otherwise, return 0. */ start of the routine. Otherwise, return 0. */
static CORE_ADDR static CORE_ADDR
i386_gnu_sigtramp_start (frame_info_ptr this_frame) i386_gnu_sigtramp_start (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
gdb_byte buf[GNU_SIGTRAMP_LEN]; gdb_byte buf[GNU_SIGTRAMP_LEN];
@@ -76,7 +76,7 @@ i386_gnu_sigtramp_start (frame_info_ptr this_frame)
routine. */ routine. */
static int static int
i386_gnu_sigtramp_p (frame_info_ptr this_frame) i386_gnu_sigtramp_p (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
const char *name; const char *name;
@@ -97,7 +97,7 @@ i386_gnu_sigtramp_p (frame_info_ptr this_frame)
address of the associated sigcontext structure. */ address of the associated sigcontext structure. */
static CORE_ADDR static CORE_ADDR
i386_gnu_sigcontext_addr (frame_info_ptr this_frame) i386_gnu_sigcontext_addr (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);

View File

@@ -122,7 +122,7 @@ static const gdb_byte linux_sigtramp_code[] =
start of the routine. Otherwise, return 0. */ start of the routine. Otherwise, return 0. */
static CORE_ADDR static CORE_ADDR
i386_linux_sigtramp_start (frame_info_ptr this_frame) i386_linux_sigtramp_start (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
gdb_byte buf[LINUX_SIGTRAMP_LEN]; gdb_byte buf[LINUX_SIGTRAMP_LEN];
@@ -190,7 +190,7 @@ static const gdb_byte linux_rt_sigtramp_code[] =
start of the routine. Otherwise, return 0. */ start of the routine. Otherwise, return 0. */
static CORE_ADDR static CORE_ADDR
i386_linux_rt_sigtramp_start (frame_info_ptr this_frame) i386_linux_rt_sigtramp_start (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
gdb_byte buf[LINUX_RT_SIGTRAMP_LEN]; gdb_byte buf[LINUX_RT_SIGTRAMP_LEN];
@@ -227,7 +227,7 @@ i386_linux_rt_sigtramp_start (frame_info_ptr this_frame)
routine. */ routine. */
static int static int
i386_linux_sigtramp_p (frame_info_ptr this_frame) i386_linux_sigtramp_p (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
const char *name; const char *name;
@@ -252,7 +252,7 @@ i386_linux_sigtramp_p (frame_info_ptr this_frame)
static int static int
i386_linux_dwarf_signal_frame_p (struct gdbarch *gdbarch, i386_linux_dwarf_signal_frame_p (struct gdbarch *gdbarch,
frame_info_ptr this_frame) const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
const char *name; const char *name;
@@ -275,7 +275,7 @@ i386_linux_dwarf_signal_frame_p (struct gdbarch *gdbarch,
address of the associated sigcontext structure. */ address of the associated sigcontext structure. */
static CORE_ADDR static CORE_ADDR
i386_linux_sigcontext_addr (frame_info_ptr this_frame) i386_linux_sigcontext_addr (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);

View File

@@ -97,7 +97,7 @@ static int i386nbsd_mc_reg_offset[] =
}; };
static void i386nbsd_sigtramp_cache_init (const struct tramp_frame *, static void i386nbsd_sigtramp_cache_init (const struct tramp_frame *,
frame_info_ptr, const frame_info_ptr &,
struct trad_frame_cache *, struct trad_frame_cache *,
CORE_ADDR); CORE_ADDR);
@@ -329,7 +329,7 @@ static const struct tramp_frame i386nbsd_sigtramp_si4 =
static void static void
i386nbsd_sigtramp_cache_init (const struct tramp_frame *self, i386nbsd_sigtramp_cache_init (const struct tramp_frame *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct trad_frame_cache *this_cache, struct trad_frame_cache *this_cache,
CORE_ADDR func) CORE_ADDR func)
{ {

View File

@@ -270,7 +270,7 @@ i386nto_regset_fill (const struct regcache *regcache, int regset, char *data)
routine. */ routine. */
static int static int
i386nto_sigtramp_p (frame_info_ptr this_frame) i386nto_sigtramp_p (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
const char *name; const char *name;
@@ -283,7 +283,7 @@ i386nto_sigtramp_p (frame_info_ptr this_frame)
address of the associated sigcontext structure. */ address of the associated sigcontext structure. */
static CORE_ADDR static CORE_ADDR
i386nto_sigcontext_addr (frame_info_ptr this_frame) i386nto_sigcontext_addr (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);

View File

@@ -64,7 +64,7 @@ static const int i386obsd_sigreturn_offset[] = {
routine. */ routine. */
static int static int
i386obsd_sigtramp_p (frame_info_ptr this_frame) i386obsd_sigtramp_p (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
CORE_ADDR start_pc = (pc & ~(i386obsd_page_size - 1)); CORE_ADDR start_pc = (pc & ~(i386obsd_page_size - 1));
@@ -303,7 +303,7 @@ static int i386obsd_tf_reg_offset[] =
}; };
static struct trad_frame_cache * static struct trad_frame_cache *
i386obsd_trapframe_cache (frame_info_ptr this_frame, void **this_cache) i386obsd_trapframe_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -350,7 +350,7 @@ i386obsd_trapframe_cache (frame_info_ptr this_frame, void **this_cache)
} }
static void static void
i386obsd_trapframe_this_id (frame_info_ptr this_frame, i386obsd_trapframe_this_id (const frame_info_ptr &this_frame,
void **this_cache, struct frame_id *this_id) void **this_cache, struct frame_id *this_id)
{ {
struct trad_frame_cache *cache = struct trad_frame_cache *cache =
@@ -360,7 +360,7 @@ i386obsd_trapframe_this_id (frame_info_ptr this_frame,
} }
static struct value * static struct value *
i386obsd_trapframe_prev_register (frame_info_ptr this_frame, i386obsd_trapframe_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
struct trad_frame_cache *cache = struct trad_frame_cache *cache =
@@ -371,7 +371,7 @@ i386obsd_trapframe_prev_register (frame_info_ptr this_frame,
static int static int
i386obsd_trapframe_sniffer (const struct frame_unwind *self, i386obsd_trapframe_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
ULONGEST cs; ULONGEST cs;

View File

@@ -50,7 +50,7 @@ static int i386_sol2_gregset_reg_offset[] =
`mcontext_t' that contains the saved set of machine registers. */ `mcontext_t' that contains the saved set of machine registers. */
static CORE_ADDR static CORE_ADDR
i386_sol2_mcontext_addr (frame_info_ptr this_frame) i386_sol2_mcontext_addr (const frame_info_ptr &this_frame)
{ {
CORE_ADDR sp, ucontext_addr; CORE_ADDR sp, ucontext_addr;

View File

@@ -1965,7 +1965,7 @@ i386_skip_main_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
/* This function is 64-bit safe. */ /* This function is 64-bit safe. */
static CORE_ADDR static CORE_ADDR
i386_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) i386_unwind_pc (struct gdbarch *gdbarch, const frame_info_ptr &next_frame)
{ {
gdb_byte buf[8]; gdb_byte buf[8];
@@ -1977,7 +1977,7 @@ i386_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame)
/* Normal frames. */ /* Normal frames. */
static void static void
i386_frame_cache_1 (frame_info_ptr this_frame, i386_frame_cache_1 (const frame_info_ptr &this_frame,
struct i386_frame_cache *cache) struct i386_frame_cache *cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -2078,7 +2078,7 @@ i386_frame_cache_1 (frame_info_ptr this_frame,
} }
static struct i386_frame_cache * static struct i386_frame_cache *
i386_frame_cache (frame_info_ptr this_frame, void **this_cache) i386_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct i386_frame_cache *cache; struct i386_frame_cache *cache;
@@ -2102,7 +2102,7 @@ i386_frame_cache (frame_info_ptr this_frame, void **this_cache)
} }
static void static void
i386_frame_this_id (frame_info_ptr this_frame, void **this_cache, i386_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
struct i386_frame_cache *cache = i386_frame_cache (this_frame, this_cache); struct i386_frame_cache *cache = i386_frame_cache (this_frame, this_cache);
@@ -2121,7 +2121,7 @@ i386_frame_this_id (frame_info_ptr this_frame, void **this_cache,
} }
static enum unwind_stop_reason static enum unwind_stop_reason
i386_frame_unwind_stop_reason (frame_info_ptr this_frame, i386_frame_unwind_stop_reason (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct i386_frame_cache *cache = i386_frame_cache (this_frame, this_cache); struct i386_frame_cache *cache = i386_frame_cache (this_frame, this_cache);
@@ -2137,7 +2137,7 @@ i386_frame_unwind_stop_reason (frame_info_ptr this_frame,
} }
static struct value * static struct value *
i386_frame_prev_register (frame_info_ptr this_frame, void **this_cache, i386_frame_prev_register (const frame_info_ptr &this_frame, void **this_cache,
int regnum) int regnum)
{ {
struct i386_frame_cache *cache = i386_frame_cache (this_frame, this_cache); struct i386_frame_cache *cache = i386_frame_cache (this_frame, this_cache);
@@ -2230,7 +2230,7 @@ i386_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
static int static int
i386_epilogue_frame_sniffer_1 (const struct frame_unwind *self, i386_epilogue_frame_sniffer_1 (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache, bool override_p) void **this_prologue_cache, bool override_p)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -2263,7 +2263,7 @@ i386_epilogue_frame_sniffer_1 (const struct frame_unwind *self,
static int static int
i386_epilogue_override_frame_sniffer (const struct frame_unwind *self, i386_epilogue_override_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
return i386_epilogue_frame_sniffer_1 (self, this_frame, this_prologue_cache, return i386_epilogue_frame_sniffer_1 (self, this_frame, this_prologue_cache,
@@ -2272,7 +2272,7 @@ i386_epilogue_override_frame_sniffer (const struct frame_unwind *self,
static int static int
i386_epilogue_frame_sniffer (const struct frame_unwind *self, i386_epilogue_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
return i386_epilogue_frame_sniffer_1 (self, this_frame, this_prologue_cache, return i386_epilogue_frame_sniffer_1 (self, this_frame, this_prologue_cache,
@@ -2280,7 +2280,7 @@ i386_epilogue_frame_sniffer (const struct frame_unwind *self,
} }
static struct i386_frame_cache * static struct i386_frame_cache *
i386_epilogue_frame_cache (frame_info_ptr this_frame, void **this_cache) i386_epilogue_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct i386_frame_cache *cache; struct i386_frame_cache *cache;
CORE_ADDR sp; CORE_ADDR sp;
@@ -2315,7 +2315,7 @@ i386_epilogue_frame_cache (frame_info_ptr this_frame, void **this_cache)
} }
static enum unwind_stop_reason static enum unwind_stop_reason
i386_epilogue_frame_unwind_stop_reason (frame_info_ptr this_frame, i386_epilogue_frame_unwind_stop_reason (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct i386_frame_cache *cache = struct i386_frame_cache *cache =
@@ -2328,7 +2328,7 @@ i386_epilogue_frame_unwind_stop_reason (frame_info_ptr this_frame,
} }
static void static void
i386_epilogue_frame_this_id (frame_info_ptr this_frame, i386_epilogue_frame_this_id (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -2342,7 +2342,7 @@ i386_epilogue_frame_this_id (frame_info_ptr this_frame,
} }
static struct value * static struct value *
i386_epilogue_frame_prev_register (frame_info_ptr this_frame, i386_epilogue_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
/* Make sure we've initialized the cache. */ /* Make sure we've initialized the cache. */
@@ -2435,7 +2435,7 @@ i386_in_stack_tramp_p (CORE_ADDR pc)
static int static int
i386_stack_tramp_frame_sniffer (const struct frame_unwind *self, i386_stack_tramp_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
if (frame_relative_level (this_frame) == 0) if (frame_relative_level (this_frame) == 0)
@@ -2475,7 +2475,7 @@ i386_gen_return_address (struct gdbarch *gdbarch,
/* Signal trampolines. */ /* Signal trampolines. */
static struct i386_frame_cache * static struct i386_frame_cache *
i386_sigtramp_frame_cache (frame_info_ptr this_frame, void **this_cache) i386_sigtramp_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
i386_gdbarch_tdep *tdep = gdbarch_tdep<i386_gdbarch_tdep> (gdbarch); i386_gdbarch_tdep *tdep = gdbarch_tdep<i386_gdbarch_tdep> (gdbarch);
@@ -2524,7 +2524,7 @@ i386_sigtramp_frame_cache (frame_info_ptr this_frame, void **this_cache)
} }
static enum unwind_stop_reason static enum unwind_stop_reason
i386_sigtramp_frame_unwind_stop_reason (frame_info_ptr this_frame, i386_sigtramp_frame_unwind_stop_reason (const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
struct i386_frame_cache *cache = struct i386_frame_cache *cache =
@@ -2537,7 +2537,7 @@ i386_sigtramp_frame_unwind_stop_reason (frame_info_ptr this_frame,
} }
static void static void
i386_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_cache, i386_sigtramp_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
struct i386_frame_cache *cache = struct i386_frame_cache *cache =
@@ -2553,7 +2553,7 @@ i386_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_cache,
} }
static struct value * static struct value *
i386_sigtramp_frame_prev_register (frame_info_ptr this_frame, i386_sigtramp_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
/* Make sure we've initialized the cache. */ /* Make sure we've initialized the cache. */
@@ -2564,7 +2564,7 @@ i386_sigtramp_frame_prev_register (frame_info_ptr this_frame,
static int static int
i386_sigtramp_frame_sniffer (const struct frame_unwind *self, i386_sigtramp_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_prologue_cache) void **this_prologue_cache)
{ {
gdbarch *arch = get_frame_arch (this_frame); gdbarch *arch = get_frame_arch (this_frame);
@@ -2606,7 +2606,7 @@ static const struct frame_unwind i386_sigtramp_frame_unwind =
static CORE_ADDR static CORE_ADDR
i386_frame_base_address (frame_info_ptr this_frame, void **this_cache) i386_frame_base_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct i386_frame_cache *cache = i386_frame_cache (this_frame, this_cache); struct i386_frame_cache *cache = i386_frame_cache (this_frame, this_cache);
@@ -2622,7 +2622,7 @@ static const struct frame_base i386_frame_base =
}; };
static struct frame_id static struct frame_id
i386_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) i386_dummy_id (struct gdbarch *gdbarch, const frame_info_ptr &this_frame)
{ {
CORE_ADDR fp; CORE_ADDR fp;
@@ -2649,7 +2649,7 @@ i386_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp)
success. */ success. */
static int static int
i386_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) i386_get_longjmp_target (const frame_info_ptr &frame, CORE_ADDR *pc)
{ {
gdb_byte buf[4]; gdb_byte buf[4];
CORE_ADDR sp, jb_addr; CORE_ADDR sp, jb_addr;
@@ -3395,7 +3395,7 @@ i386_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
the MMX registers need to be mapped onto floating point registers. */ the MMX registers need to be mapped onto floating point registers. */
static int static int
i386_mmx_regnum_to_fp_regnum (frame_info_ptr next_frame, int regnum) i386_mmx_regnum_to_fp_regnum (const frame_info_ptr &next_frame, int regnum)
{ {
gdbarch *arch = frame_unwind_arch (next_frame); gdbarch *arch = frame_unwind_arch (next_frame);
i386_gdbarch_tdep *tdep = gdbarch_tdep<i386_gdbarch_tdep> (arch); i386_gdbarch_tdep *tdep = gdbarch_tdep<i386_gdbarch_tdep> (arch);
@@ -3413,7 +3413,7 @@ i386_mmx_regnum_to_fp_regnum (frame_info_ptr next_frame, int regnum)
the data into an already-allocated value. */ the data into an already-allocated value. */
value * value *
i386_pseudo_register_read_value (gdbarch *gdbarch, frame_info_ptr next_frame, i386_pseudo_register_read_value (gdbarch *gdbarch, const frame_info_ptr &next_frame,
const int pseudo_reg_num) const int pseudo_reg_num)
{ {
if (i386_mmx_regnum_p (gdbarch, pseudo_reg_num)) if (i386_mmx_regnum_p (gdbarch, pseudo_reg_num))
@@ -3517,7 +3517,7 @@ i386_pseudo_register_read_value (gdbarch *gdbarch, frame_info_ptr next_frame,
} }
void void
i386_pseudo_register_write (gdbarch *gdbarch, frame_info_ptr next_frame, i386_pseudo_register_write (gdbarch *gdbarch, const frame_info_ptr &next_frame,
const int pseudo_reg_num, const int pseudo_reg_num,
gdb::array_view<const gdb_byte> buf) gdb::array_view<const gdb_byte> buf)
{ {
@@ -3750,7 +3750,7 @@ i386_convert_register_p (struct gdbarch *gdbarch,
return its contents in TO. */ return its contents in TO. */
static int static int
i386_register_to_value (frame_info_ptr frame, int regnum, i386_register_to_value (const frame_info_ptr &frame, int regnum,
struct type *type, gdb_byte *to, struct type *type, gdb_byte *to,
int *optimizedp, int *unavailablep) int *optimizedp, int *unavailablep)
{ {
@@ -3790,7 +3790,7 @@ i386_register_to_value (frame_info_ptr frame, int regnum,
REGNUM in frame FRAME. */ REGNUM in frame FRAME. */
static void static void
i386_value_to_register (frame_info_ptr frame, int regnum, i386_value_to_register (const frame_info_ptr &frame, int regnum,
struct type *type, const gdb_byte *from) struct type *type, const gdb_byte *from)
{ {
int len = type->length (); int len = type->length ();
@@ -3944,7 +3944,7 @@ i386_iterate_over_regset_sections (struct gdbarch *gdbarch,
/* Stuff for WIN32 PE style DLL's but is pretty generic really. */ /* Stuff for WIN32 PE style DLL's but is pretty generic really. */
CORE_ADDR CORE_ADDR
i386_pe_skip_trampoline_code (frame_info_ptr frame, i386_pe_skip_trampoline_code (const frame_info_ptr &frame,
CORE_ADDR pc, char *name) CORE_ADDR pc, char *name)
{ {
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);
@@ -3975,7 +3975,7 @@ i386_pe_skip_trampoline_code (frame_info_ptr frame,
routine. */ routine. */
int int
i386_sigtramp_p (frame_info_ptr this_frame) i386_sigtramp_p (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
const char *name; const char *name;
@@ -4011,7 +4011,7 @@ i386_print_insn (bfd_vma pc, struct disassemble_info *info)
routine. */ routine. */
static int static int
i386_svr4_sigtramp_p (frame_info_ptr this_frame) i386_svr4_sigtramp_p (const frame_info_ptr &this_frame)
{ {
CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR pc = get_frame_pc (this_frame);
const char *name; const char *name;
@@ -4026,7 +4026,7 @@ i386_svr4_sigtramp_p (frame_info_ptr this_frame)
address of the associated sigcontext (ucontext) structure. */ address of the associated sigcontext (ucontext) structure. */
static CORE_ADDR static CORE_ADDR
i386_svr4_sigcontext_addr (frame_info_ptr this_frame) i386_svr4_sigcontext_addr (const frame_info_ptr &this_frame)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -4582,7 +4582,7 @@ i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
/* Get the ARGIth function argument for the current function. */ /* Get the ARGIth function argument for the current function. */
static CORE_ADDR static CORE_ADDR
i386_fetch_pointer_argument (frame_info_ptr frame, int argi, i386_fetch_pointer_argument (const frame_info_ptr &frame, int argi,
struct type *type) struct type *type)
{ {
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);

View File

@@ -227,10 +227,10 @@ struct i386_gdbarch_tdep : gdbarch_tdep_base
CORE_ADDR sigtramp_end = 0; CORE_ADDR sigtramp_end = 0;
/* Detect sigtramp. */ /* Detect sigtramp. */
int (*sigtramp_p) (frame_info_ptr) = nullptr; int (*sigtramp_p) (const frame_info_ptr &) = nullptr;
/* Get address of sigcontext for sigtramp. */ /* Get address of sigcontext for sigtramp. */
CORE_ADDR (*sigcontext_addr) (frame_info_ptr) = nullptr; CORE_ADDR (*sigcontext_addr) (const frame_info_ptr &) = nullptr;
/* Offset of registers in `struct sigcontext'. */ /* Offset of registers in `struct sigcontext'. */
int *sc_reg_offset = 0; int *sc_reg_offset = 0;
@@ -377,11 +377,11 @@ extern struct type *i386_pseudo_register_type (struct gdbarch *gdbarch,
int regnum); int regnum);
extern value *i386_pseudo_register_read_value (gdbarch *gdbarch, extern value *i386_pseudo_register_read_value (gdbarch *gdbarch,
frame_info_ptr next_frame, const frame_info_ptr &next_frame,
int regnum); int regnum);
extern void i386_pseudo_register_write (gdbarch *gdbarch, extern void i386_pseudo_register_write (gdbarch *gdbarch,
frame_info_ptr next_frame, int regnum, const frame_info_ptr &next_frame, int regnum,
gdb::array_view<const gdb_byte> buf); gdb::array_view<const gdb_byte> buf);
extern int i386_ax_pseudo_register_collect (struct gdbarch *gdbarch, extern int i386_ax_pseudo_register_collect (struct gdbarch *gdbarch,
@@ -398,7 +398,7 @@ extern int i386_ax_pseudo_register_collect (struct gdbarch *gdbarch,
#define I386_MAX_INSN_LEN (16) #define I386_MAX_INSN_LEN (16)
/* Functions exported from i386-tdep.c. */ /* Functions exported from i386-tdep.c. */
extern CORE_ADDR i386_pe_skip_trampoline_code (frame_info_ptr frame, extern CORE_ADDR i386_pe_skip_trampoline_code (const frame_info_ptr &frame,
CORE_ADDR pc, char *name); CORE_ADDR pc, char *name);
extern CORE_ADDR i386_skip_main_prologue (struct gdbarch *gdbarch, extern CORE_ADDR i386_skip_main_prologue (struct gdbarch *gdbarch,
CORE_ADDR pc); CORE_ADDR pc);
@@ -417,7 +417,7 @@ extern CORE_ADDR i386_thiscall_push_dummy_call (struct gdbarch *gdbarch,
bool thiscall); bool thiscall);
/* Return whether the THIS_FRAME corresponds to a sigtramp routine. */ /* Return whether the THIS_FRAME corresponds to a sigtramp routine. */
extern int i386_sigtramp_p (frame_info_ptr this_frame); extern int i386_sigtramp_p (const frame_info_ptr &this_frame);
/* Return non-zero if REGNUM is a member of the specified group. */ /* Return non-zero if REGNUM is a member of the specified group. */
extern int i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum, extern int i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum,

View File

@@ -90,7 +90,7 @@ static int i386_windows_gregset_reg_offset[] =
#define I386_WINDOWS_SIZEOF_GREGSET 716 #define I386_WINDOWS_SIZEOF_GREGSET 716
static CORE_ADDR static CORE_ADDR
i386_windows_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) i386_windows_skip_trampoline_code (const frame_info_ptr &frame, CORE_ADDR pc)
{ {
return i386_pe_skip_trampoline_code (frame, pc, NULL); return i386_pe_skip_trampoline_code (frame, pc, NULL);
} }

View File

@@ -202,7 +202,7 @@ print_i387_control_word (int control_p,
void void
i387_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, i387_print_float_info (struct gdbarch *gdbarch, struct ui_file *file,
frame_info_ptr frame, const char *args) const frame_info_ptr &frame, const char *args)
{ {
i386_gdbarch_tdep *tdep = gdbarch_tdep<i386_gdbarch_tdep> (gdbarch); i386_gdbarch_tdep *tdep = gdbarch_tdep<i386_gdbarch_tdep> (gdbarch);
ULONGEST fctrl; ULONGEST fctrl;
@@ -345,7 +345,7 @@ i387_convert_register_p (struct gdbarch *gdbarch, int regnum,
return its contents in TO. */ return its contents in TO. */
int int
i387_register_to_value (frame_info_ptr frame, int regnum, i387_register_to_value (const frame_info_ptr &frame, int regnum,
struct type *type, gdb_byte *to, struct type *type, gdb_byte *to,
int *optimizedp, int *unavailablep) int *optimizedp, int *unavailablep)
{ {
@@ -380,7 +380,7 @@ i387_register_to_value (frame_info_ptr frame, int regnum,
REGNUM in frame FRAME. */ REGNUM in frame FRAME. */
void void
i387_value_to_register (frame_info_ptr frame, int regnum, i387_value_to_register (const frame_info_ptr &frame, int regnum,
struct type *type, const gdb_byte *from) struct type *type, const gdb_byte *from)
{ {
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);

View File

@@ -90,7 +90,7 @@ struct x86_xsave_layout;
extern void i387_print_float_info (struct gdbarch *gdbarch, extern void i387_print_float_info (struct gdbarch *gdbarch,
struct ui_file *file, struct ui_file *file,
frame_info_ptr frame, const frame_info_ptr &frame,
const char *args); const char *args);
/* Return nonzero if a value of type TYPE stored in register REGNUM /* Return nonzero if a value of type TYPE stored in register REGNUM
@@ -102,14 +102,14 @@ extern int i387_convert_register_p (struct gdbarch *gdbarch, int regnum,
/* Read a value of type TYPE from register REGNUM in frame FRAME, and /* Read a value of type TYPE from register REGNUM in frame FRAME, and
return its contents in TO. */ return its contents in TO. */
extern int i387_register_to_value (frame_info_ptr frame, int regnum, extern int i387_register_to_value (const frame_info_ptr &frame, int regnum,
struct type *type, gdb_byte *to, struct type *type, gdb_byte *to,
int *optimizedp, int *unavailablep); int *optimizedp, int *unavailablep);
/* Write the contents FROM of a value of type TYPE into register /* Write the contents FROM of a value of type TYPE into register
REGNUM in frame FRAME. */ REGNUM in frame FRAME. */
extern void i387_value_to_register (frame_info_ptr frame, int regnum, extern void i387_value_to_register (const frame_info_ptr &frame, int regnum,
struct type *type, const gdb_byte *from); struct type *type, const gdb_byte *from);

View File

@@ -153,7 +153,7 @@ libunwind_frame_set_descr (struct gdbarch *gdbarch,
} }
static struct libunwind_frame_cache * static struct libunwind_frame_cache *
libunwind_frame_cache (frame_info_ptr this_frame, void **this_cache) libunwind_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
unw_accessors_t *acc; unw_accessors_t *acc;
unw_addr_space_t as; unw_addr_space_t as;
@@ -247,7 +247,7 @@ libunwind_find_dyn_list (unw_addr_space_t as, unw_dyn_info_t *di, void *arg)
libunwind frame unwinding. */ libunwind frame unwinding. */
int int
libunwind_frame_sniffer (const struct frame_unwind *self, libunwind_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, void **this_cache) const frame_info_ptr &this_frame, void **this_cache)
{ {
unw_cursor_t cursor; unw_cursor_t cursor;
unw_accessors_t *acc; unw_accessors_t *acc;
@@ -292,7 +292,7 @@ libunwind_frame_sniffer (const struct frame_unwind *self,
} }
void void
libunwind_frame_this_id (frame_info_ptr this_frame, void **this_cache, libunwind_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
struct libunwind_frame_cache *cache = struct libunwind_frame_cache *cache =
@@ -303,7 +303,7 @@ libunwind_frame_this_id (frame_info_ptr this_frame, void **this_cache,
} }
struct value * struct value *
libunwind_frame_prev_register (frame_info_ptr this_frame, libunwind_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
struct libunwind_frame_cache *cache = struct libunwind_frame_cache *cache =
@@ -387,7 +387,7 @@ libunwind_search_unwind_table (void *as, long ip, void *di,
/* Verify if we are in a sigtramp frame and we can use libunwind to unwind. */ /* Verify if we are in a sigtramp frame and we can use libunwind to unwind. */
int int
libunwind_sigtramp_frame_sniffer (const struct frame_unwind *self, libunwind_sigtramp_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
unw_cursor_t cursor; unw_cursor_t cursor;

View File

@@ -48,19 +48,19 @@ struct libunwind_descr
}; };
int libunwind_frame_sniffer (const struct frame_unwind *self, int libunwind_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_cache); void **this_cache);
int libunwind_sigtramp_frame_sniffer (const struct frame_unwind *self, int libunwind_sigtramp_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_cache); void **this_cache);
void libunwind_frame_set_descr (struct gdbarch *arch, void libunwind_frame_set_descr (struct gdbarch *arch,
struct libunwind_descr *descr); struct libunwind_descr *descr);
void libunwind_frame_this_id (frame_info_ptr this_frame, void **this_cache, void libunwind_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
struct frame_id *this_id); struct frame_id *this_id);
struct value *libunwind_frame_prev_register (frame_info_ptr this_frame, struct value *libunwind_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum); void **this_cache, int regnum);
void libunwind_frame_dealloc_cache (frame_info_ptr self, void *cache); void libunwind_frame_dealloc_cache (frame_info_ptr self, void *cache);

View File

@@ -1219,7 +1219,7 @@ ia64_convert_register_p (struct gdbarch *gdbarch, int regno, struct type *type)
} }
static int static int
ia64_register_to_value (frame_info_ptr frame, int regnum, ia64_register_to_value (const frame_info_ptr &frame, int regnum,
struct type *valtype, gdb_byte *out, struct type *valtype, gdb_byte *out,
int *optimizedp, int *unavailablep) int *optimizedp, int *unavailablep)
{ {
@@ -1239,7 +1239,7 @@ ia64_register_to_value (frame_info_ptr frame, int regnum,
} }
static void static void
ia64_value_to_register (frame_info_ptr frame, int regnum, ia64_value_to_register (const frame_info_ptr &frame, int regnum,
struct type *valtype, const gdb_byte *in) struct type *valtype, const gdb_byte *in)
{ {
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);
@@ -1361,7 +1361,7 @@ ia64_alloc_frame_cache (void)
static CORE_ADDR static CORE_ADDR
examine_prologue (CORE_ADDR pc, CORE_ADDR lim_pc, examine_prologue (CORE_ADDR pc, CORE_ADDR lim_pc,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
struct ia64_frame_cache *cache) struct ia64_frame_cache *cache)
{ {
CORE_ADDR next_pc; CORE_ADDR next_pc;
@@ -1842,7 +1842,7 @@ ia64_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
/* Normal frames. */ /* Normal frames. */
static struct ia64_frame_cache * static struct ia64_frame_cache *
ia64_frame_cache (frame_info_ptr this_frame, void **this_cache) ia64_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -1887,7 +1887,7 @@ ia64_frame_cache (frame_info_ptr this_frame, void **this_cache)
} }
static void static void
ia64_frame_this_id (frame_info_ptr this_frame, void **this_cache, ia64_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -1908,7 +1908,7 @@ ia64_frame_this_id (frame_info_ptr this_frame, void **this_cache,
} }
static struct value * static struct value *
ia64_frame_prev_register (frame_info_ptr this_frame, void **this_cache, ia64_frame_prev_register (const frame_info_ptr &this_frame, void **this_cache,
int regnum) int regnum)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -2176,7 +2176,7 @@ static const struct frame_unwind ia64_frame_unwind =
/* Signal trampolines. */ /* Signal trampolines. */
static void static void
ia64_sigtramp_frame_init_saved_regs (frame_info_ptr this_frame, ia64_sigtramp_frame_init_saved_regs (const frame_info_ptr &this_frame,
struct ia64_frame_cache *cache) struct ia64_frame_cache *cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -2230,7 +2230,7 @@ ia64_sigtramp_frame_init_saved_regs (frame_info_ptr this_frame,
} }
static struct ia64_frame_cache * static struct ia64_frame_cache *
ia64_sigtramp_frame_cache (frame_info_ptr this_frame, void **this_cache) ia64_sigtramp_frame_cache (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -2261,7 +2261,7 @@ ia64_sigtramp_frame_cache (frame_info_ptr this_frame, void **this_cache)
} }
static void static void
ia64_sigtramp_frame_this_id (frame_info_ptr this_frame, ia64_sigtramp_frame_this_id (const frame_info_ptr &this_frame,
void **this_cache, struct frame_id *this_id) void **this_cache, struct frame_id *this_id)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -2282,7 +2282,7 @@ ia64_sigtramp_frame_this_id (frame_info_ptr this_frame,
} }
static struct value * static struct value *
ia64_sigtramp_frame_prev_register (frame_info_ptr this_frame, ia64_sigtramp_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
struct ia64_frame_cache *cache = struct ia64_frame_cache *cache =
@@ -2335,7 +2335,7 @@ ia64_sigtramp_frame_prev_register (frame_info_ptr this_frame,
static int static int
ia64_sigtramp_frame_sniffer (const struct frame_unwind *self, ia64_sigtramp_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
gdbarch *arch = get_frame_arch (this_frame); gdbarch *arch = get_frame_arch (this_frame);
@@ -2365,7 +2365,7 @@ static const struct frame_unwind ia64_sigtramp_frame_unwind =
static CORE_ADDR static CORE_ADDR
ia64_frame_base_address (frame_info_ptr this_frame, void **this_cache) ia64_frame_base_address (const frame_info_ptr &this_frame, void **this_cache)
{ {
struct ia64_frame_cache *cache = ia64_frame_cache (this_frame, this_cache); struct ia64_frame_cache *cache = ia64_frame_cache (this_frame, this_cache);
@@ -2541,7 +2541,7 @@ ia64_access_fpreg (unw_addr_space_t as, unw_regnum_t uw_regnum,
unw_fpreg_t *val, int write, void *arg) unw_fpreg_t *val, int write, void *arg)
{ {
int regnum = ia64_uw2gdb_regnum (uw_regnum); int regnum = ia64_uw2gdb_regnum (uw_regnum);
frame_info_ptr this_frame = (frame_info_ptr) arg; frame_info_ptr this_frame = (const frame_info_ptr &) arg;
/* We never call any libunwind routines that need to write registers. */ /* We never call any libunwind routines that need to write registers. */
gdb_assert (!write); gdb_assert (!write);
@@ -2894,7 +2894,7 @@ ia64_get_dyn_info_list (unw_addr_space_t as,
/* Frame interface functions for libunwind. */ /* Frame interface functions for libunwind. */
static void static void
ia64_libunwind_frame_this_id (frame_info_ptr this_frame, void **this_cache, ia64_libunwind_frame_this_id (const frame_info_ptr &this_frame, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -2928,7 +2928,7 @@ ia64_libunwind_frame_this_id (frame_info_ptr this_frame, void **this_cache,
} }
static struct value * static struct value *
ia64_libunwind_frame_prev_register (frame_info_ptr this_frame, ia64_libunwind_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
int reg = regnum; int reg = regnum;
@@ -3001,7 +3001,7 @@ ia64_libunwind_frame_prev_register (frame_info_ptr this_frame,
static int static int
ia64_libunwind_frame_sniffer (const struct frame_unwind *self, ia64_libunwind_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
if (libunwind_is_initialized () if (libunwind_is_initialized ()
@@ -3024,7 +3024,7 @@ static const struct frame_unwind ia64_libunwind_frame_unwind =
}; };
static void static void
ia64_libunwind_sigtramp_frame_this_id (frame_info_ptr this_frame, ia64_libunwind_sigtramp_frame_this_id (const frame_info_ptr &this_frame,
void **this_cache, void **this_cache,
struct frame_id *this_id) struct frame_id *this_id)
{ {
@@ -3060,7 +3060,7 @@ ia64_libunwind_sigtramp_frame_this_id (frame_info_ptr this_frame,
} }
static struct value * static struct value *
ia64_libunwind_sigtramp_frame_prev_register (frame_info_ptr this_frame, ia64_libunwind_sigtramp_frame_prev_register (const frame_info_ptr &this_frame,
void **this_cache, int regnum) void **this_cache, int regnum)
{ {
struct gdbarch *gdbarch = get_frame_arch (this_frame); struct gdbarch *gdbarch = get_frame_arch (this_frame);
@@ -3087,7 +3087,7 @@ ia64_libunwind_sigtramp_frame_prev_register (frame_info_ptr this_frame,
static int static int
ia64_libunwind_sigtramp_frame_sniffer (const struct frame_unwind *self, ia64_libunwind_sigtramp_frame_sniffer (const struct frame_unwind *self,
frame_info_ptr this_frame, const frame_info_ptr &this_frame,
void **this_cache) void **this_cache)
{ {
if (libunwind_is_initialized ()) if (libunwind_is_initialized ())
@@ -3864,7 +3864,7 @@ static const struct ia64_infcall_ops ia64_infcall_ops =
}; };
static struct frame_id static struct frame_id
ia64_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) ia64_dummy_id (struct gdbarch *gdbarch, const frame_info_ptr &this_frame)
{ {
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
gdb_byte buf[8]; gdb_byte buf[8];
@@ -3886,7 +3886,7 @@ ia64_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame)
} }
static CORE_ADDR static CORE_ADDR
ia64_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) ia64_unwind_pc (struct gdbarch *gdbarch, const frame_info_ptr &next_frame)
{ {
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
gdb_byte buf[8]; gdb_byte buf[8];
@@ -3911,7 +3911,7 @@ ia64_print_insn (bfd_vma memaddr, struct disassemble_info *info)
/* The default "size_of_register_frame" gdbarch_tdep routine for ia64. */ /* The default "size_of_register_frame" gdbarch_tdep routine for ia64. */
static int static int
ia64_size_of_register_frame (frame_info_ptr this_frame, ULONGEST cfm) ia64_size_of_register_frame (const frame_info_ptr &this_frame, ULONGEST cfm)
{ {
return (cfm & 0x7f); return (cfm & 0x7f);
} }

View File

@@ -240,7 +240,7 @@ struct ia64_gdbarch_tdep : gdbarch_tdep_base
Normally, the size of the register frame is always obtained by Normally, the size of the register frame is always obtained by
extracting the lowest 7 bits ("cfm & 0x7f"). */ extracting the lowest 7 bits ("cfm & 0x7f"). */
int (*size_of_register_frame) (frame_info_ptr this_frame, ULONGEST cfm) int (*size_of_register_frame) (const frame_info_ptr &this_frame, ULONGEST cfm)
= nullptr; = nullptr;
/* Determine the function address FADDR belongs to a shared library. /* Determine the function address FADDR belongs to a shared library.

View File

@@ -1743,7 +1743,7 @@ finish_backward (struct finish_command_fsm *sm)
frame that called the function we're about to step out of. */ frame that called the function we're about to step out of. */
static void static void
finish_forward (struct finish_command_fsm *sm, frame_info_ptr frame) finish_forward (struct finish_command_fsm *sm, const frame_info_ptr &frame)
{ {
struct frame_id frame_id = get_frame_id (frame); struct frame_id frame_id = get_frame_id (frame);
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);
@@ -1768,9 +1768,10 @@ finish_forward (struct finish_command_fsm *sm, frame_info_ptr frame)
/* Skip frames for "finish". */ /* Skip frames for "finish". */
static frame_info_ptr static frame_info_ptr
skip_finish_frames (frame_info_ptr frame) skip_finish_frames (const frame_info_ptr &initial_frame)
{ {
frame_info_ptr start; frame_info_ptr start;
frame_info_ptr frame = initial_frame;
do do
{ {
@@ -2256,7 +2257,7 @@ default_print_one_register_info (struct ui_file *file,
void void
default_print_registers_info (struct gdbarch *gdbarch, default_print_registers_info (struct gdbarch *gdbarch,
struct ui_file *file, struct ui_file *file,
frame_info_ptr frame, const frame_info_ptr &frame,
int regnum, int print_all) int regnum, int print_all)
{ {
int i; int i;
@@ -2416,7 +2417,7 @@ info_registers_command (const char *addr_exp, int from_tty)
static void static void
print_vector_info (struct ui_file *file, print_vector_info (struct ui_file *file,
frame_info_ptr frame, const char *args) const frame_info_ptr &frame, const char *args)
{ {
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);
@@ -2953,7 +2954,7 @@ interrupt_command (const char *args, int from_tty)
void void
default_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, default_print_float_info (struct gdbarch *gdbarch, struct ui_file *file,
frame_info_ptr frame, const char *args) const frame_info_ptr &frame, const char *args)
{ {
int regnum; int regnum;
int printed_something = 0; int printed_something = 0;

View File

@@ -156,7 +156,7 @@ extern void reopen_exec_file (void);
extern void default_print_registers_info (struct gdbarch *gdbarch, extern void default_print_registers_info (struct gdbarch *gdbarch,
struct ui_file *file, struct ui_file *file,
frame_info_ptr frame, const frame_info_ptr &frame,
int regnum, int all); int regnum, int all);
/* Default implementation of gdbarch_print_float_info. Print /* Default implementation of gdbarch_print_float_info. Print
@@ -164,7 +164,7 @@ extern void default_print_registers_info (struct gdbarch *gdbarch,
extern void default_print_float_info (struct gdbarch *gdbarch, extern void default_print_float_info (struct gdbarch *gdbarch,
struct ui_file *file, struct ui_file *file,
frame_info_ptr frame, const frame_info_ptr &frame,
const char *args); const char *args);
/* Try to determine whether TTY is GDB's input terminal. Returns /* Try to determine whether TTY is GDB's input terminal. Returns

View File

@@ -88,9 +88,9 @@ static void follow_inferior_reset_breakpoints (void);
static bool currently_stepping (struct thread_info *tp); static bool currently_stepping (struct thread_info *tp);
static void insert_hp_step_resume_breakpoint_at_frame (frame_info_ptr); static void insert_hp_step_resume_breakpoint_at_frame (const frame_info_ptr &);
static void insert_step_resume_breakpoint_at_caller (frame_info_ptr); static void insert_step_resume_breakpoint_at_caller (const frame_info_ptr &);
static void insert_longjmp_resume_breakpoint (struct gdbarch *, CORE_ADDR); static void insert_longjmp_resume_breakpoint (struct gdbarch *, CORE_ADDR);
@@ -3838,7 +3838,7 @@ static void handle_step_into_function_backward (struct gdbarch *gdbarch,
struct execution_control_state *ecs); struct execution_control_state *ecs);
static void handle_signal_stop (struct execution_control_state *ecs); static void handle_signal_stop (struct execution_control_state *ecs);
static void check_exception_resume (struct execution_control_state *, static void check_exception_resume (struct execution_control_state *,
frame_info_ptr); const frame_info_ptr &);
static void end_stepping_range (struct execution_control_state *ecs); static void end_stepping_range (struct execution_control_state *ecs);
static void stop_waiting (struct execution_control_state *ecs); static void stop_waiting (struct execution_control_state *ecs);
@@ -4771,7 +4771,7 @@ fetch_inferior_event ()
/* See infrun.h. */ /* See infrun.h. */
void void
set_step_info (thread_info *tp, frame_info_ptr frame, set_step_info (thread_info *tp, const frame_info_ptr &frame,
struct symtab_and_line sal) struct symtab_and_line sal)
{ {
/* This can be removed once this function no longer implicitly relies on the /* This can be removed once this function no longer implicitly relies on the
@@ -5003,8 +5003,10 @@ adjust_pc_after_break (struct thread_info *thread,
} }
static bool static bool
stepped_in_from (frame_info_ptr frame, struct frame_id step_frame_id) stepped_in_from (const frame_info_ptr &initial_frame, frame_id step_frame_id)
{ {
frame_info_ptr frame = initial_frame;
for (frame = get_prev_frame (frame); for (frame = get_prev_frame (frame);
frame != nullptr; frame != nullptr;
frame = get_prev_frame (frame)) frame = get_prev_frame (frame))
@@ -8742,7 +8744,7 @@ insert_step_resume_breakpoint_at_sal (struct gdbarch *gdbarch,
RETURN_FRAME.pc. */ RETURN_FRAME.pc. */
static void static void
insert_hp_step_resume_breakpoint_at_frame (frame_info_ptr return_frame) insert_hp_step_resume_breakpoint_at_frame (const frame_info_ptr &return_frame)
{ {
gdb_assert (return_frame != nullptr); gdb_assert (return_frame != nullptr);
@@ -8773,7 +8775,7 @@ insert_hp_step_resume_breakpoint_at_frame (frame_info_ptr return_frame)
of frame_unwind_caller_id for an example). */ of frame_unwind_caller_id for an example). */
static void static void
insert_step_resume_breakpoint_at_caller (frame_info_ptr next_frame) insert_step_resume_breakpoint_at_caller (const frame_info_ptr &next_frame)
{ {
/* We shouldn't have gotten here if we don't know where the call site /* We shouldn't have gotten here if we don't know where the call site
is. */ is. */
@@ -8820,7 +8822,7 @@ insert_longjmp_resume_breakpoint (struct gdbarch *gdbarch, CORE_ADDR pc)
static void static void
insert_exception_resume_breakpoint (struct thread_info *tp, insert_exception_resume_breakpoint (struct thread_info *tp,
const struct block *b, const struct block *b,
frame_info_ptr frame, const frame_info_ptr &frame,
struct symbol *sym) struct symbol *sym)
{ {
try try
@@ -8863,7 +8865,7 @@ insert_exception_resume_breakpoint (struct thread_info *tp,
static void static void
insert_exception_resume_from_probe (struct thread_info *tp, insert_exception_resume_from_probe (struct thread_info *tp,
const struct bound_probe *probe, const struct bound_probe *probe,
frame_info_ptr frame) const frame_info_ptr &frame)
{ {
struct value *arg_value; struct value *arg_value;
CORE_ADDR handler; CORE_ADDR handler;
@@ -8892,7 +8894,7 @@ insert_exception_resume_from_probe (struct thread_info *tp,
static void static void
check_exception_resume (struct execution_control_state *ecs, check_exception_resume (struct execution_control_state *ecs,
frame_info_ptr frame) const frame_info_ptr &frame)
{ {
struct bound_probe probe; struct bound_probe probe;
struct symbol *func; struct symbol *func;

View File

@@ -207,7 +207,7 @@ extern int stepping_past_nonsteppable_watchpoint (void);
/* Record in TP the frame and location we're currently stepping through. */ /* Record in TP the frame and location we're currently stepping through. */
extern void set_step_info (thread_info *tp, extern void set_step_info (thread_info *tp,
frame_info_ptr frame, const frame_info_ptr &frame,
struct symtab_and_line sal); struct symtab_and_line sal);
/* Notify interpreters and observers that the current inferior has stopped with /* Notify interpreters and observers that the current inferior has stopped with

Some files were not shown because too many files have changed in this diff Show More