2004-08-01 Andrew Cagney <cagney@gnu.org>

* frame.h (deprecated_frame_xmalloc_with_cleanup)
	(frame_saved_regs_zalloc, frame_extra_info_zalloc)
	(get_frame_extra_info, deprecated_get_frame_saved_regs): Delete.
	* stack.c (frame_info): Delete references to
	DEPRECATED_FRAME_INIT_SAVED_REGS and
	deprecated_get_frame_saved_regs.
	* frame.c (struct frame_info): Delete saved_regs and extra_info.
	(frame_pc_unwind): Do not use DEPRECATED_FRAME_SAVED_PC.
	(frame_register): Do not use DEPRECATED_GET_SAVED_REGISTER.
	(frame_unwind_register_signed)
	(frame_unwind_register_unsigned)
	(frame_unwind_unsigned_register): Use register_size.
	(create_new_frame): Do not use DEPRECATED_INIT_EXTRA_FRAME_INFO.
	(deprecated_frame_xmalloc_with_cleanup)
	(frame_saved_regs_zalloc, frame_extra_info_zalloc)
	(get_frame_extra_info, deprecated_get_frame_saved_regs): Delete.
This commit is contained in:
Andrew Cagney 2004-08-01 21:47:19 +00:00
parent 03d363a145
commit 5bc602c771
4 changed files with 25 additions and 135 deletions

View file

@ -1,5 +1,22 @@
2004-08-01 Andrew Cagney <cagney@gnu.org> 2004-08-01 Andrew Cagney <cagney@gnu.org>
* frame.h (deprecated_frame_xmalloc_with_cleanup)
(frame_saved_regs_zalloc, frame_extra_info_zalloc)
(get_frame_extra_info, deprecated_get_frame_saved_regs): Delete.
* stack.c (frame_info): Delete references to
DEPRECATED_FRAME_INIT_SAVED_REGS and
deprecated_get_frame_saved_regs.
* frame.c (struct frame_info): Delete saved_regs and extra_info.
(frame_pc_unwind): Do not use DEPRECATED_FRAME_SAVED_PC.
(frame_register): Do not use DEPRECATED_GET_SAVED_REGISTER.
(frame_unwind_register_signed)
(frame_unwind_register_unsigned)
(frame_unwind_unsigned_register): Use register_size.
(create_new_frame): Do not use DEPRECATED_INIT_EXTRA_FRAME_INFO.
(deprecated_frame_xmalloc_with_cleanup)
(frame_saved_regs_zalloc, frame_extra_info_zalloc)
(get_frame_extra_info, deprecated_get_frame_saved_regs): Delete.
* sh-tdep.c (sh_gdbarch_init): Disable call to sh64_gdbarch_init. * sh-tdep.c (sh_gdbarch_init): Disable call to sh64_gdbarch_init.
* config/sh/nbsd.mt (TDEPFILES): Remove sh64-tdep.o. * config/sh/nbsd.mt (TDEPFILES): Remove sh64-tdep.o.
* config/sh/linux.mt (TDEPFILES): Remove sh64-tdep.o. * config/sh/linux.mt (TDEPFILES): Remove sh64-tdep.o.

View file

@ -66,22 +66,6 @@ struct frame_info
moment leave this as speculation. */ moment leave this as speculation. */
int level; int level;
/* For each register, address of where it was saved on entry to the
frame, or zero if it was not saved on entry to this frame. This
includes special registers such as pc and fp saved in special
ways in the stack frame. The SP_REGNUM is even more special, the
address here is the sp for the previous frame, not the address
where the sp was saved. */
/* Allocated by frame_saved_regs_zalloc () which is called /
initialized by DEPRECATED_FRAME_INIT_SAVED_REGS(). */
CORE_ADDR *saved_regs; /*NUM_REGS + NUM_PSEUDO_REGS*/
/* Anything extra for this structure that may have been defined in
the machine dependent files. */
/* Allocated by frame_extra_info_zalloc () which is called /
initialized by DEPRECATED_INIT_EXTRA_FRAME_INFO */
struct frame_extra_info *extra_info;
/* The frame's low-level unwinder and corresponding cache. The /* The frame's low-level unwinder and corresponding cache. The
low-level unwinder is responsible for unwinding register values low-level unwinder is responsible for unwinding register values
for the previous frame. The low-level unwind methods are for the previous frame. The low-level unwind methods are
@ -434,14 +418,6 @@ frame_pc_unwind (struct frame_info *this_frame)
global register cache. The assumption is dangerous. */ global register cache. The assumption is dangerous. */
pc = read_pc (); pc = read_pc ();
} }
else if (DEPRECATED_FRAME_SAVED_PC_P ())
{
/* FIXME: cagney/2003-03-06: Old code, but not a sentinel
frame. Do like was always done. Note that this method,
unlike unwind_pc(), tries to handle all the different
frame cases directly. It fails. */
pc = DEPRECATED_FRAME_SAVED_PC (this_frame);
}
else else
internal_error (__FILE__, __LINE__, "No gdbarch_unwind_pc method"); internal_error (__FILE__, __LINE__, "No gdbarch_unwind_pc method");
this_frame->prev_pc.value = pc; this_frame->prev_pc.value = pc;
@ -590,33 +566,6 @@ frame_register (struct frame_info *frame, int regnum,
gdb_assert (realnump != NULL); gdb_assert (realnump != NULL);
/* gdb_assert (bufferp != NULL); */ /* gdb_assert (bufferp != NULL); */
/* Ulgh! Old code that, for lval_register, sets ADDRP to the offset
of the register in the register cache. It should instead return
the REGNUM corresponding to that register. Translate the . */
if (DEPRECATED_GET_SAVED_REGISTER_P ())
{
DEPRECATED_GET_SAVED_REGISTER (bufferp, optimizedp, addrp, frame,
regnum, lvalp);
/* Compute the REALNUM if the caller wants it. */
if (*lvalp == lval_register)
{
int regnum;
for (regnum = 0; regnum < NUM_REGS + NUM_PSEUDO_REGS; regnum++)
{
if (*addrp == register_offset_hack (current_gdbarch, regnum))
{
*realnump = regnum;
return;
}
}
internal_error (__FILE__, __LINE__,
"Failed to compute the register number corresponding"
" to 0x%s", paddr_d (*addrp));
}
*realnump = -1;
return;
}
/* Obtain the register value by unwinding the register from the next /* Obtain the register value by unwinding the register from the next
(more inner frame). */ (more inner frame). */
gdb_assert (frame != NULL && frame->next != NULL); gdb_assert (frame != NULL && frame->next != NULL);
@ -647,7 +596,8 @@ frame_unwind_register_signed (struct frame_info *frame, int regnum)
{ {
char buf[MAX_REGISTER_SIZE]; char buf[MAX_REGISTER_SIZE];
frame_unwind_register (frame, regnum, buf); frame_unwind_register (frame, regnum, buf);
return extract_signed_integer (buf, DEPRECATED_REGISTER_VIRTUAL_SIZE (regnum)); return extract_signed_integer (buf, register_size (get_frame_arch (frame),
regnum));
} }
LONGEST LONGEST
@ -661,7 +611,8 @@ frame_unwind_register_unsigned (struct frame_info *frame, int regnum)
{ {
char buf[MAX_REGISTER_SIZE]; char buf[MAX_REGISTER_SIZE];
frame_unwind_register (frame, regnum, buf); frame_unwind_register (frame, regnum, buf);
return extract_unsigned_integer (buf, DEPRECATED_REGISTER_VIRTUAL_SIZE (regnum)); return extract_unsigned_integer (buf, register_size (get_frame_arch (frame),
regnum));
} }
ULONGEST ULONGEST
@ -676,7 +627,9 @@ frame_unwind_unsigned_register (struct frame_info *frame, int regnum,
{ {
char buf[MAX_REGISTER_SIZE]; char buf[MAX_REGISTER_SIZE];
frame_unwind_register (frame, regnum, buf); frame_unwind_register (frame, regnum, buf);
(*val) = extract_unsigned_integer (buf, DEPRECATED_REGISTER_VIRTUAL_SIZE (regnum)); (*val) = extract_unsigned_integer (buf,
register_size (get_frame_arch (frame),
regnum));
} }
void void
@ -712,8 +665,7 @@ put_frame_register (struct frame_info *frame, int regnum, const void *buf)
/* frame_register_read () /* frame_register_read ()
Find and return the value of REGNUM for the specified stack frame. Find and return the value of REGNUM for the specified stack frame.
The number of bytes copied is DEPRECATED_REGISTER_RAW_SIZE The number of bytes copied is REGISTER_SIZE (REGNUM).
(REGNUM).
Returns 0 if the register value could not be found. */ Returns 0 if the register value could not be found. */
@ -803,20 +755,6 @@ frame_obstack_zalloc (unsigned long size)
return data; return data;
} }
CORE_ADDR *
frame_saved_regs_zalloc (struct frame_info *fi)
{
fi->saved_regs = (CORE_ADDR *)
frame_obstack_zalloc (SIZEOF_FRAME_SAVED_REGS);
return fi->saved_regs;
}
CORE_ADDR *
deprecated_get_frame_saved_regs (struct frame_info *fi)
{
return fi->saved_regs;
}
/* Return the innermost (currently executing) stack frame. This is /* Return the innermost (currently executing) stack frame. This is
split into two functions. The function unwind_to_current_frame() split into two functions. The function unwind_to_current_frame()
is wrapped in catch exceptions so that, even when the unwind of the is wrapped in catch exceptions so that, even when the unwind of the
@ -967,9 +905,6 @@ create_new_frame (CORE_ADDR addr, CORE_ADDR pc)
deprecated_update_frame_base_hack (fi, addr); deprecated_update_frame_base_hack (fi, addr);
deprecated_update_frame_pc_hack (fi, pc); deprecated_update_frame_pc_hack (fi, pc);
if (DEPRECATED_INIT_EXTRA_FRAME_INFO_P ())
DEPRECATED_INIT_EXTRA_FRAME_INFO (0, fi);
if (frame_debug) if (frame_debug)
{ {
fprintf_unfiltered (gdb_stdlog, "-> "); fprintf_unfiltered (gdb_stdlog, "-> ");
@ -1415,19 +1350,6 @@ get_frame_type (struct frame_info *frame)
return frame->unwind->type; return frame->unwind->type;
} }
struct frame_extra_info *
get_frame_extra_info (struct frame_info *fi)
{
return fi->extra_info;
}
struct frame_extra_info *
frame_extra_info_zalloc (struct frame_info *fi, long size)
{
fi->extra_info = frame_obstack_zalloc (size);
return fi->extra_info;
}
void void
deprecated_update_frame_pc_hack (struct frame_info *frame, CORE_ADDR pc) deprecated_update_frame_pc_hack (struct frame_info *frame, CORE_ADDR pc)
{ {
@ -1460,27 +1382,6 @@ deprecated_update_frame_base_hack (struct frame_info *frame, CORE_ADDR base)
frame->this_id.value.stack_addr = base; frame->this_id.value.stack_addr = base;
} }
struct frame_info *
deprecated_frame_xmalloc_with_cleanup (long sizeof_saved_regs,
long sizeof_extra_info)
{
struct frame_info *frame = XMALLOC (struct frame_info);
memset (frame, 0, sizeof (*frame));
frame->this_id.p = 1;
make_cleanup (xfree, frame);
if (sizeof_saved_regs > 0)
{
frame->saved_regs = xcalloc (1, sizeof_saved_regs);
make_cleanup (xfree, frame->saved_regs);
}
if (sizeof_extra_info > 0)
{
frame->extra_info = xcalloc (1, sizeof_extra_info);
make_cleanup (xfree, frame->extra_info);
}
return frame;
}
/* Memory access methods. */ /* Memory access methods. */
void void

View file

@ -657,22 +657,6 @@ extern struct frame_info *deprecated_safe_get_selected_frame (void);
extern struct frame_info *create_new_frame (CORE_ADDR base, CORE_ADDR pc); extern struct frame_info *create_new_frame (CORE_ADDR base, CORE_ADDR pc);
/* Create/access the frame's `extra info'. The extra info is used by
older code to store information such as the analyzed prologue. The
zalloc() should only be called by the INIT_EXTRA_INFO method. */
extern struct frame_extra_info *frame_extra_info_zalloc (struct frame_info *fi,
long size);
extern struct frame_extra_info *get_frame_extra_info (struct frame_info *fi);
/* Create/access the frame's `saved_regs'. The saved regs are used by
older code to store the address of each register (except for
SP_REGNUM where the value of the register in the previous frame is
stored). */
extern CORE_ADDR *frame_saved_regs_zalloc (struct frame_info *);
extern CORE_ADDR *deprecated_get_frame_saved_regs (struct frame_info *);
/* FIXME: cagney/2002-12-06: Has the PC in the current frame changed? /* FIXME: cagney/2002-12-06: Has the PC in the current frame changed?
"infrun.c", Thanks to DECR_PC_AFTER_BREAK, can change the PC after "infrun.c", Thanks to DECR_PC_AFTER_BREAK, can change the PC after
the initial frame create. This puts things back in sync. the initial frame create. This puts things back in sync.
@ -691,13 +675,4 @@ extern void deprecated_update_frame_pc_hack (struct frame_info *frame,
extern void deprecated_update_frame_base_hack (struct frame_info *frame, extern void deprecated_update_frame_base_hack (struct frame_info *frame,
CORE_ADDR base); CORE_ADDR base);
/* FIXME: cagney/2003-01-05: Allocate a frame, along with the
saved_regs and extra_info. Set up cleanups for all three. Same as
for deprecated_frame_xmalloc, targets are calling this when
creating a scratch `struct frame_info'. The frame overhaul makes
this unnecessary since all frame queries are parameterized with a
common cache parameter and a frame. */
extern struct frame_info *deprecated_frame_xmalloc_with_cleanup (long sizeof_saved_regs,
long sizeof_extra_info);
#endif /* !defined (FRAME_H) */ #endif /* !defined (FRAME_H) */

View file

@ -1003,9 +1003,6 @@ frame_info (char *addr_exp, int from_tty)
} }
} }
if (DEPRECATED_FRAME_INIT_SAVED_REGS_P ()
&& deprecated_get_frame_saved_regs (fi) == NULL)
DEPRECATED_FRAME_INIT_SAVED_REGS (fi);
/* Print as much information as possible on the location of all the /* Print as much information as possible on the location of all the
registers. */ registers. */
{ {