mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-24 04:29:49 +00:00
2003-09-28 Andrew Cagney <cagney@redhat.com>
* frame.c (frame_read_unsigned_register): Delete function. * frame.h (frame_read_unsigned_register): Delete declaration. * sparc-tdep.c (sparc_init_extra_frame_info): Use get_frame_register_unsigned. (sparc_frame_saved_pc, sparc_pop_frame): Ditto. * m68hc11-tdep.c (m68hc11_print_register): Ditto. * d10v-tdep.c (d10v_print_registers_info): Ditto. * frame.h (frame_read_register): Delete declaration. * frame.c (frame_read_register): Delete function. * arch-utils.c (legacy_register_to_value): Use get_frame_register. * sparc-tdep.c (sparc_fetch_pointer_argument): Ditto. * rs6000-tdep.c (rs6000_fetch_pointer_argument): Ditto. * mips-tdep.c (mips_register_to_value): Ditto. * hppa-tdep.c (hppa_fetch_pointer_argument): Ditto. * d10v-tdep.c (d10v_print_registers_info): Ditto. * frame.c (frame_read_signed_register): Delete function. (frame_read_unsigned_register): Update comments. * frame.h (frame_read_signed_register): Delete declaration. * h8300-tdep.c (h8300_print_register): Use get_frame_register_signed. * m68hc11-tdep.c (m68hc11_print_register): Ditto.
This commit is contained in:
parent
9ff63c35fb
commit
7f5f525dc2
@ -1,5 +1,29 @@
|
||||
2003-09-28 Andrew Cagney <cagney@redhat.com>
|
||||
|
||||
* frame.c (frame_read_unsigned_register): Delete function.
|
||||
* frame.h (frame_read_unsigned_register): Delete declaration.
|
||||
* sparc-tdep.c (sparc_init_extra_frame_info): Use
|
||||
get_frame_register_unsigned.
|
||||
(sparc_frame_saved_pc, sparc_pop_frame): Ditto.
|
||||
* m68hc11-tdep.c (m68hc11_print_register): Ditto.
|
||||
* d10v-tdep.c (d10v_print_registers_info): Ditto.
|
||||
|
||||
* frame.h (frame_read_register): Delete declaration.
|
||||
* frame.c (frame_read_register): Delete function.
|
||||
* arch-utils.c (legacy_register_to_value): Use get_frame_register.
|
||||
* sparc-tdep.c (sparc_fetch_pointer_argument): Ditto.
|
||||
* rs6000-tdep.c (rs6000_fetch_pointer_argument): Ditto.
|
||||
* mips-tdep.c (mips_register_to_value): Ditto.
|
||||
* hppa-tdep.c (hppa_fetch_pointer_argument): Ditto.
|
||||
* d10v-tdep.c (d10v_print_registers_info): Ditto.
|
||||
|
||||
* frame.c (frame_read_signed_register): Delete function.
|
||||
(frame_read_unsigned_register): Update comments.
|
||||
* frame.h (frame_read_signed_register): Delete declaration.
|
||||
* h8300-tdep.c (h8300_print_register): Use
|
||||
get_frame_register_signed.
|
||||
* m68hc11-tdep.c (m68hc11_print_register): Ditto.
|
||||
|
||||
* config/pa/tm-hppa.h (DEPRECATED_VALUE_RETURNED_FROM_STACK):
|
||||
Rename VALUE_RETURNED_FROM_STACK.
|
||||
* infcmd.c (print_return_value): Update.
|
||||
|
@ -338,7 +338,7 @@ legacy_register_to_value (struct frame_info *frame, int regnum,
|
||||
struct type *type, void *to)
|
||||
{
|
||||
char from[MAX_REGISTER_SIZE];
|
||||
frame_read_register (frame, regnum, from);
|
||||
get_frame_register (frame, regnum, from);
|
||||
DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL (regnum, type, from, to);
|
||||
}
|
||||
|
||||
|
@ -795,11 +795,11 @@ d10v_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file,
|
||||
|
||||
{
|
||||
ULONGEST pc, psw, rpt_s, rpt_e, rpt_c;
|
||||
frame_read_unsigned_register (frame, D10V_PC_REGNUM, &pc);
|
||||
frame_read_unsigned_register (frame, PSW_REGNUM, &psw);
|
||||
frame_read_unsigned_register (frame, frame_map_name_to_regnum (frame, "rpt_s", -1), &rpt_s);
|
||||
frame_read_unsigned_register (frame, frame_map_name_to_regnum (frame, "rpt_e", -1), &rpt_e);
|
||||
frame_read_unsigned_register (frame, frame_map_name_to_regnum (frame, "rpt_c", -1), &rpt_c);
|
||||
pc = get_frame_register_unsigned (frame, D10V_PC_REGNUM);
|
||||
psw = get_frame_register_unsigned (frame, PSW_REGNUM);
|
||||
rpt_s = get_frame_register_unsigned (frame, frame_map_name_to_regnum (frame, "rpt_s", -1));
|
||||
rpt_e = get_frame_register_unsigned (frame, frame_map_name_to_regnum (frame, "rpt_e", -1));
|
||||
rpt_c = get_frame_register_unsigned (frame, frame_map_name_to_regnum (frame, "rpt_c", -1));
|
||||
fprintf_filtered (file, "PC=%04lx (0x%lx) PSW=%04lx RPT_S=%04lx RPT_E=%04lx RPT_C=%04lx\n",
|
||||
(long) pc, (long) d10v_make_iaddr (pc), (long) psw,
|
||||
(long) rpt_s, (long) rpt_e, (long) rpt_c);
|
||||
@ -814,7 +814,7 @@ d10v_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file,
|
||||
for (r = group; r < group + 8; r++)
|
||||
{
|
||||
ULONGEST tmp;
|
||||
frame_read_unsigned_register (frame, r, &tmp);
|
||||
tmp = get_frame_register_unsigned (frame, r);
|
||||
fprintf_filtered (file, " %04lx", (long) tmp);
|
||||
}
|
||||
fprintf_filtered (file, "\n");
|
||||
@ -856,7 +856,7 @@ d10v_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file,
|
||||
{
|
||||
int i;
|
||||
fprintf_filtered (file, " ");
|
||||
frame_read_register (frame, a, num);
|
||||
get_frame_register (frame, a, num);
|
||||
for (i = 0; i < register_size (gdbarch, a); i++)
|
||||
{
|
||||
fprintf_filtered (file, "%02x", (num[i] & 0xff));
|
||||
|
41
gdb/frame.c
41
gdb/frame.c
@ -670,47 +670,6 @@ frame_unwind_unsigned_register (struct frame_info *frame, int regnum,
|
||||
(*val) = extract_unsigned_integer (buf, REGISTER_VIRTUAL_SIZE (regnum));
|
||||
}
|
||||
|
||||
void
|
||||
frame_read_register (struct frame_info *frame, int regnum, void *buf)
|
||||
{
|
||||
gdb_assert (frame != NULL && frame->next != NULL);
|
||||
frame_unwind_register (frame->next, regnum, buf);
|
||||
}
|
||||
|
||||
void
|
||||
frame_read_unsigned_register (struct frame_info *frame, int regnum,
|
||||
ULONGEST *val)
|
||||
{
|
||||
/* NOTE: cagney/2002-10-31: There is a bit of dogma here - there is
|
||||
always a frame. Both this, and the equivalent
|
||||
frame_read_signed_register() function, can only be called with a
|
||||
valid frame. If, for some reason, this function is called
|
||||
without a frame then the problem isn't here, but rather in the
|
||||
caller. It should of first created a frame and then passed that
|
||||
in. */
|
||||
/* NOTE: cagney/2002-10-31: As a side bar, keep in mind that the
|
||||
``current_frame'' should not be treated as a special case. While
|
||||
``get_next_frame (current_frame) == NULL'' currently holds, it
|
||||
should, as far as possible, not be relied upon. In the future,
|
||||
``get_next_frame (current_frame)'' may instead simply return a
|
||||
normal frame object that simply always gets register values from
|
||||
the register cache. Consequently, frame code should try to avoid
|
||||
tests like ``if get_next_frame() == NULL'' and instead just rely
|
||||
on recursive frame calls (like the below code) when manipulating
|
||||
a frame chain. */
|
||||
gdb_assert (frame != NULL && frame->next != NULL);
|
||||
frame_unwind_unsigned_register (frame->next, regnum, val);
|
||||
}
|
||||
|
||||
void
|
||||
frame_read_signed_register (struct frame_info *frame, int regnum,
|
||||
LONGEST *val)
|
||||
{
|
||||
/* See note above in frame_read_unsigned_register(). */
|
||||
gdb_assert (frame != NULL && frame->next != NULL);
|
||||
frame_unwind_signed_register (frame->next, regnum, val);
|
||||
}
|
||||
|
||||
void
|
||||
put_frame_register (struct frame_info *frame, int regnum, const void *buf)
|
||||
{
|
||||
|
26
gdb/frame.h
26
gdb/frame.h
@ -398,22 +398,6 @@ extern void frame_register (struct frame_info *frame, int regnum,
|
||||
CORE_ADDR *addrp, int *realnump,
|
||||
void *valuep);
|
||||
|
||||
/* More convenient interface to frame_register(). */
|
||||
/* NOTE: cagney/2002-09-13: Return void as one day these functions may
|
||||
be changed to return an indication that the read succeeded. */
|
||||
|
||||
/* Use get_frame_register. */
|
||||
extern void frame_read_register (struct frame_info *frame, int regnum,
|
||||
void *buf);
|
||||
|
||||
/* Use get_frame_register_signed. */
|
||||
extern void frame_read_signed_register (struct frame_info *frame,
|
||||
int regnum, LONGEST *val);
|
||||
|
||||
/* Use get_frame_register_unsigned. */
|
||||
extern void frame_read_unsigned_register (struct frame_info *frame,
|
||||
int regnum, ULONGEST *val);
|
||||
|
||||
/* The reverse. Store a register value relative to the specified
|
||||
frame. Note: this call makes the frame's state undefined. The
|
||||
register and frame caches must be flushed. */
|
||||
@ -591,11 +575,11 @@ extern void deprecated_generic_get_saved_register (char *, int *, CORE_ADDR *,
|
||||
extern void generic_save_call_dummy_addr (CORE_ADDR lo, CORE_ADDR hi);
|
||||
|
||||
/* FIXME: cagney/2003-02-02: Should be deprecated or replaced with a
|
||||
function called frame_read_register_p(). This slightly weird (and
|
||||
older) variant of frame_read_register() returns zero (indicating
|
||||
the register is unavailable) if either: the register isn't cached;
|
||||
or the register has been optimized out. Problem is, neither check
|
||||
is exactly correct. A register can't be optimized out (it may not
|
||||
function called get_frame_register_p(). This slightly weird (and
|
||||
older) variant of get_frame_register() returns zero (indicating the
|
||||
register is unavailable) if either: the register isn't cached; or
|
||||
the register has been optimized out. Problem is, neither check is
|
||||
exactly correct. A register can't be optimized out (it may not
|
||||
have been saved as part of a function call); The fact that a
|
||||
register isn't in the register cache doesn't mean that the register
|
||||
isn't available (it could have been fetched from memory). */
|
||||
|
@ -944,7 +944,7 @@ h8300_print_register (struct gdbarch *gdbarch, struct ui_file *file,
|
||||
if (!name || !*name)
|
||||
return;
|
||||
|
||||
frame_read_signed_register (frame, regno, &rval);
|
||||
rval = get_frame_register_signed (frame, regno);
|
||||
|
||||
fprintf_filtered (file, "%-14s ", name);
|
||||
if (regno == E_PSEUDO_CCR_REGNUM || (regno == E_PSEUDO_EXR_REGNUM && h8300smode))
|
||||
|
@ -5075,7 +5075,7 @@ hppa_fetch_pointer_argument (struct frame_info *frame, int argi,
|
||||
struct type *type)
|
||||
{
|
||||
CORE_ADDR addr;
|
||||
frame_read_register (frame, R0_REGNUM + 26 - argi, &addr);
|
||||
get_frame_register (frame, R0_REGNUM + 26 - argi, &addr);
|
||||
return addr;
|
||||
}
|
||||
|
||||
|
@ -1032,9 +1032,9 @@ m68hc11_print_register (struct gdbarch *gdbarch, struct ui_file *file,
|
||||
|
||||
if (regno == HARD_PC_REGNUM || regno == HARD_SP_REGNUM
|
||||
|| regno == SOFT_FP_REGNUM || regno == M68HC12_HARD_PC_REGNUM)
|
||||
frame_read_unsigned_register (frame, regno, &rval);
|
||||
rval = get_frame_register_unsigned (frame, regno);
|
||||
else
|
||||
frame_read_signed_register (frame, regno, &rval);
|
||||
rval = get_frame_register_signed (frame, regno);
|
||||
|
||||
if (regno == HARD_A_REGNUM || regno == HARD_B_REGNUM
|
||||
|| regno == HARD_CCR_REGNUM || regno == HARD_PAGE_REGNUM)
|
||||
@ -1049,7 +1049,7 @@ m68hc11_print_register (struct gdbarch *gdbarch, struct ui_file *file,
|
||||
{
|
||||
ULONGEST page;
|
||||
|
||||
frame_read_unsigned_register (frame, HARD_PAGE_REGNUM, &page);
|
||||
page = get_frame_register_unsigned (frame, HARD_PAGE_REGNUM);
|
||||
fprintf_filtered (file, "0x%02x:%04x ", (unsigned) page,
|
||||
(unsigned) rval);
|
||||
}
|
||||
|
@ -763,8 +763,8 @@ static void
|
||||
mips_register_to_value (struct frame_info *frame, int regnum,
|
||||
struct type *type, void *to)
|
||||
{
|
||||
frame_read_register (frame, regnum + 0, (char *) to + 4);
|
||||
frame_read_register (frame, regnum + 1, (char *) to + 0);
|
||||
get_frame_register (frame, regnum + 0, (char *) to + 4);
|
||||
get_frame_register (frame, regnum + 1, (char *) to + 0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -237,7 +237,7 @@ rs6000_fetch_pointer_argument (struct frame_info *frame, int argi,
|
||||
struct type *type)
|
||||
{
|
||||
CORE_ADDR addr;
|
||||
frame_read_register (frame, 3 + argi, &addr);
|
||||
get_frame_register (frame, 3 + argi, &addr);
|
||||
return addr;
|
||||
}
|
||||
|
||||
|
@ -299,7 +299,7 @@ sparc_init_extra_frame_info (int fromleaf, struct frame_info *fi)
|
||||
{
|
||||
/* Should we adjust for stack bias here? */
|
||||
ULONGEST tmp;
|
||||
frame_read_unsigned_register (fi, DEPRECATED_FP_REGNUM, &tmp);
|
||||
tmp = get_frame_register_unsigned (fi, DEPRECATED_FP_REGNUM);
|
||||
deprecated_update_frame_base_hack (fi, tmp);
|
||||
if (GDB_TARGET_IS_SPARC64 && (get_frame_base (fi) & 1))
|
||||
deprecated_update_frame_base_hack (fi, get_frame_base (fi) + 2047);
|
||||
@ -339,7 +339,7 @@ sparc_init_extra_frame_info (int fromleaf, struct frame_info *fi)
|
||||
/* Overwrite the frame's address with the value in %i7. */
|
||||
{
|
||||
ULONGEST tmp;
|
||||
frame_read_unsigned_register (fi, I7_REGNUM, &tmp);
|
||||
tmp = get_frame_register_unsigned (fi, I7_REGNUM);
|
||||
deprecated_update_frame_base_hack (fi, tmp);
|
||||
}
|
||||
|
||||
@ -455,7 +455,7 @@ sparc_frame_saved_pc (struct frame_info *frame)
|
||||
/* The sigcontext address is contained in register O2. */
|
||||
{
|
||||
ULONGEST tmp;
|
||||
frame_read_unsigned_register (frame, O0_REGNUM + 2, &tmp);
|
||||
tmp = get_frame_register_unsigned (frame, O0_REGNUM + 2);
|
||||
sigcontext_addr = tmp;
|
||||
}
|
||||
|
||||
@ -474,7 +474,7 @@ sparc_frame_saved_pc (struct frame_info *frame)
|
||||
/* A frameless function interrupted by a signal did not save
|
||||
the PC, it is still in %o7. */
|
||||
ULONGEST tmp;
|
||||
frame_read_unsigned_register (frame, O7_REGNUM, &tmp);
|
||||
tmp = get_frame_register_unsigned (frame, O7_REGNUM);
|
||||
return PC_ADJUST (tmp);
|
||||
}
|
||||
if (get_frame_extra_info (frame)->flat)
|
||||
@ -1337,7 +1337,7 @@ sparc_pop_frame (void)
|
||||
it is a complicated way of saying
|
||||
"pc = read_register (O7_REGNUM);". */
|
||||
ULONGEST tmp;
|
||||
frame_read_unsigned_register (frame, O7_REGNUM, &tmp);
|
||||
tmp = get_frame_register_unsigned (frame, O7_REGNUM);
|
||||
pc = PC_ADJUST (tmp);
|
||||
}
|
||||
|
||||
@ -3169,7 +3169,7 @@ sparc_fetch_pointer_argument (struct frame_info *frame, int argi,
|
||||
struct type *type)
|
||||
{
|
||||
CORE_ADDR addr;
|
||||
frame_read_register (frame, O0_REGNUM + argi, &addr);
|
||||
get_frame_register (frame, O0_REGNUM + argi, &addr);
|
||||
return addr;
|
||||
}
|
||||
|
||||
|
@ -790,7 +790,7 @@ _tuiGetRegisterRawValue (int regNum, char *regValue, struct frame_info *frame)
|
||||
|
||||
if (target_has_registers)
|
||||
{
|
||||
frame_read_register (frame, regNum, regValue);
|
||||
get_frame_register (frame, regNum, regValue);
|
||||
/* NOTE: cagney/2003-03-13: This is bogus. It is refering to
|
||||
the register cache and not the frame which could have pulled
|
||||
the register value off the stack. */
|
||||
|
Loading…
Reference in New Issue
Block a user