aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog17
-rw-r--r--gdb/frame.c115
-rw-r--r--gdb/frame.h25
-rw-r--r--gdb/stack.c3
4 files changed, 25 insertions, 135 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a3e5f19..c50eab9 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,22 @@
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.
* config/sh/nbsd.mt (TDEPFILES): Remove sh64-tdep.o.
* config/sh/linux.mt (TDEPFILES): Remove sh64-tdep.o.
diff --git a/gdb/frame.c b/gdb/frame.c
index 956bb23..6df8b87 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -66,22 +66,6 @@ struct frame_info
moment leave this as speculation. */
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
low-level unwinder is responsible for unwinding register values
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. */
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
internal_error (__FILE__, __LINE__, "No gdbarch_unwind_pc method");
this_frame->prev_pc.value = pc;
@@ -590,33 +566,6 @@ frame_register (struct frame_info *frame, int regnum,
gdb_assert (realnump != 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
(more inner frame). */
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];
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
@@ -661,7 +611,8 @@ frame_unwind_register_unsigned (struct frame_info *frame, int regnum)
{
char buf[MAX_REGISTER_SIZE];
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
@@ -676,7 +627,9 @@ frame_unwind_unsigned_register (struct frame_info *frame, int regnum,
{
char buf[MAX_REGISTER_SIZE];
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
@@ -712,8 +665,7 @@ put_frame_register (struct frame_info *frame, int regnum, const void *buf)
/* frame_register_read ()
Find and return the value of REGNUM for the specified stack frame.
- The number of bytes copied is DEPRECATED_REGISTER_RAW_SIZE
- (REGNUM).
+ The number of bytes copied is REGISTER_SIZE (REGNUM).
Returns 0 if the register value could not be found. */
@@ -803,20 +755,6 @@ frame_obstack_zalloc (unsigned long size)
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
split into two functions. The function unwind_to_current_frame()
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_pc_hack (fi, pc);
- if (DEPRECATED_INIT_EXTRA_FRAME_INFO_P ())
- DEPRECATED_INIT_EXTRA_FRAME_INFO (0, fi);
-
if (frame_debug)
{
fprintf_unfiltered (gdb_stdlog, "-> ");
@@ -1415,19 +1350,6 @@ get_frame_type (struct frame_info *frame)
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
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;
}
-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. */
void
diff --git a/gdb/frame.h b/gdb/frame.h
index 196e1c0..adb6e9d 100644
--- a/gdb/frame.h
+++ b/gdb/frame.h
@@ -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);
-
-/* 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?
"infrun.c", Thanks to DECR_PC_AFTER_BREAK, can change the PC after
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,
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) */
diff --git a/gdb/stack.c b/gdb/stack.c
index e650d07..0bd2c25 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -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
registers. */
{