Re: [commit] Delete EXTRA_FRAME_INFO from .c code

Andrew Cagney
2003-04-05T18:20:24Z

[-- Attachment #1: Type: text/plain, Size: 426 bytes --]

> Hello,
>
> As best I can tell the SPARC definition of EXTRA_FRAME_INFO is the same as the HP/PA - it isn't actually used.
>
> I've deleted it by committing the attached,
> Andrew
>
>
>
> 2003-04-05 Andrew Cagney <cagney@redhat.com>
>
> * config/sparc/tm-sparc.h (EXTRA_FRAME_INFO): Delete.
> * frame.h: Delete #ifdef EXTRA_FRAME_INFO code.
>

Not my day, wrong patch. This is what was really committed:

Andrew

[-- Attachment #2: diffs --]
[-- Type: text/plain, Size: 5830 bytes --]

2003-04-05 Andrew Cagney <cagney@redhat.com>

* frame.c (get_frame_id): Update comment.
(legacy_get_prev_frame): Update comment.
* gdbarch.sh: Delete check for EXTRA_FRAME_INFO.
* gdbarch.h: Regenerate.
* config/sparc/tm-sparc.h (EXTRA_FRAME_INFO): Delete.
* frame.h: Delete #ifdef EXTRA_FRAME_INFO code.

Index: frame.c
===================================================================
RCS file: /cvs/src/src/gdb/frame.c,v
retrieving revision 1.96
diff -u -r1.96 frame.c
--- frame.c 5 Apr 2003 03:55:59 -0000 1.96
+++ frame.c 5 Apr 2003 15:37:43 -0000
@@ -65,9 +65,7 @@
fi->unwind->this_id (fi->next, &fi->prologue_cache, &fi->id);
fi->id_p = 1;
/* FIXME: cagney/2002-12-18: Instead of this hack, should only
- store the frame ID in PREV_FRAME. Unfortunatly, some
- architectures (HP/UX) still reply on EXTRA_FRAME_INFO and,
- hence, still poke at the "struct frame_info" object directly. */
+ store the frame ID in PREV_FRAME. */
fi->frame = fi->id.base;
}
return frame_id_build (fi->frame, get_frame_pc (fi));
@@ -1150,9 +1148,7 @@
frame base, in the frame object. */

/* FIXME: cagney/2002-12-18: Instead of this hack, should only
- store the frame ID in PREV_FRAME. Unfortunatly, some
- architectures (HP/UX) still reply on EXTRA_FRAME_INFO and,
- hence, still poke at the "struct frame_info" object directly. */
+ store the frame ID in PREV_FRAME. */
/* FIXME: cagney/2003-04-04: Once ->frame is eliminated, this
assignment can go. */
prev->frame = prev->id.base;
Index: frame.h
===================================================================
RCS file: /cvs/src/src/gdb/frame.h,v
retrieving revision 1.81
diff -u -r1.81 frame.h
--- frame.h 5 Apr 2003 03:56:00 -0000 1.81
+++ frame.h 5 Apr 2003 15:37:44 -0000
@@ -320,7 +320,7 @@

/* Describe the saved registers of a frame. */

-#if defined (EXTRA_FRAME_INFO) || defined (FRAME_FIND_SAVED_REGS)
+#if defined (FRAME_FIND_SAVED_REGS)
/* XXXX - deprecated */
struct frame_saved_regs
{
@@ -387,13 +387,6 @@
/* 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*/
-
-#ifdef EXTRA_FRAME_INFO
- /* XXXX - deprecated */
- /* Anything extra for this structure that may have been defined
- in the machine dependent files. */
- EXTRA_FRAME_INFO
-#endif

/* Anything extra for this structure that may have been defined
in the machine dependent files. */
Index: gdbarch.sh
===================================================================
RCS file: /cvs/src/src/gdb/gdbarch.sh,v
retrieving revision 1.219
diff -u -r1.219 gdbarch.sh
--- gdbarch.sh 1 Apr 2003 17:17:27 -0000 1.219
+++ gdbarch.sh 5 Apr 2003 15:37:46 -0000
@@ -821,12 +821,6 @@
converted. */

#if GDB_MULTI_ARCH
-#if defined (EXTRA_FRAME_INFO)
-#error "EXTRA_FRAME_INFO: replaced by struct frame_extra_info"
-#endif
-#endif
-
-#if GDB_MULTI_ARCH
#if defined (FRAME_FIND_SAVED_REGS)
#error "FRAME_FIND_SAVED_REGS: replaced by DEPRECATED_FRAME_INIT_SAVED_REGS"
#endif
Index: config/sparc/tm-sparc.h
===================================================================
RCS file: /cvs/src/src/gdb/config/sparc/tm-sparc.h,v
retrieving revision 1.43
diff -u -r1.43 tm-sparc.h
--- config/sparc/tm-sparc.h 26 Mar 2003 22:39:53 -0000 1.43
+++ config/sparc/tm-sparc.h 5 Apr 2003 15:37:46 -0000
@@ -406,53 +406,6 @@
/* DEPRECATED_FRAME_CHAIN takes a frame's nominal address and produces
the frame's chain-pointer. */

-/* In the case of the Sun 4, the frame-chain's nominal address
- is held in the frame pointer register.
-
- On the Sun4, the frame (in %fp) is %sp for the previous frame.
- From the previous frame's %sp, we can find the previous frame's
- %fp: it is in the save area just above the previous frame's %sp.
-
- If we are setting up an arbitrary frame, we'll need to know where
- it ends. Hence the following. This part of the frame cache
- structure should be checked before it is assumed that this frame's
- bottom is in the stack pointer.
-
- If there isn't a frame below this one, the bottom of this frame is
- in the stack pointer.
-
- If there is a frame below this one, and the frame pointers are
- identical, it's a leaf frame and the bottoms are the same also.
-
- Otherwise the bottom of this frame is the top of the next frame.
-
- The bottom field is misnamed, since it might imply that memory from
- bottom to frame contains this frame. That need not be true if
- stack frames are allocated in different segments (e.g. some on a
- stack, some on a heap in the data segment).
-
- GCC 2.6 and later can generate ``flat register window'' code that
- makes frames by explicitly saving those registers that need to be
- saved. %i7 is used as the frame pointer, and the frame is laid out
- so that flat and non-flat calls can be intermixed freely within a
- program. Unfortunately for GDB, this means it must detect and
- record the flatness of frames.
-
- Since the prologue in a flat frame also tells us where fp and pc
- have been stashed (the frame is of variable size, so their location
- is not fixed), it's convenient to record them in the frame info. */
-
-#define EXTRA_FRAME_INFO \
- CORE_ADDR bottom; \
- int in_prologue; \
- int flat; \
- /* Following fields only relevant for flat frames. */ \
- CORE_ADDR pc_addr; \
- CORE_ADDR fp_addr; \
- /* Add this to ->frame to get the value of the stack pointer at the */ \
- /* time of the register saves. */ \
- int sp_offset;
-
/* We need to override DEPRECATED_GET_SAVED_REGISTER so that we can
deal with the way outs change into ins in different frames. */