forked from Imagelibrary/binutils-gdb
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:
@@ -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);
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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... */
|
||||||
|
|||||||
@@ -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 ();
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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");
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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 *,
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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));
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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) */
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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 *);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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 */
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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));
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
171
gdb/frame.c
171
gdb/frame.c
@@ -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);
|
||||||
|
|||||||
142
gdb/frame.h
142
gdb/frame.h
@@ -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) */
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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 */
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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 */
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 */
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
11
gdb/infcmd.c
11
gdb/infcmd.c
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
22
gdb/infrun.c
22
gdb/infrun.c
@@ -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;
|
||||||
|
|||||||
@@ -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
Reference in New Issue
Block a user