aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/m88k
diff options
context:
space:
mode:
authorK. Richard Pixley <rich@cygnus>1993-08-17 22:21:50 +0000
committerK. Richard Pixley <rich@cygnus>1993-08-17 22:21:50 +0000
commit637603f9e38497a8229bb34ce4460dac42cdf0ea (patch)
treeba6a69b741b0ded7cabef9a3a1ac63690bf32804 /gdb/config/m88k
parent2f03f9a6c6ea6c93134551f6a9a6366eaf3598a0 (diff)
downloadgdb-637603f9e38497a8229bb34ce4460dac42cdf0ea.zip
gdb-637603f9e38497a8229bb34ce4460dac42cdf0ea.tar.gz
gdb-637603f9e38497a8229bb34ce4460dac42cdf0ea.tar.bz2
* config/m88k/tm-m88k.h: Fix typo in comment.
(FP_REGNUM): define in terms of SP_REGNUM rather than by absolute number. Also clearly comment that this is a convenient lie in order to decrease future confusion. (ACTUAL_FP_REGNUM): new macro for FP. (FRAME_CHAIN_VALID): removed. Standard default works fine. * m88k-tdep.c (frame_chain_valid): redundant, so removed. (NEXT_PROLOGUE_INSN): removed unused fourth arg, fixed all callers. (read_next_frame_reg): declare static. (examine_prologue): removed unused variabel insn2, rename insn1 to insn, rewrote comment about finding fp, sp, etc. set frame_fp based on ACTUAL_FP_REGNUM rather than FP_REGNUM which is actually a scammed alias for SP_REGNUM on m88k.
Diffstat (limited to 'gdb/config/m88k')
-rw-r--r--gdb/config/m88k/tm-m88k.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/gdb/config/m88k/tm-m88k.h b/gdb/config/m88k/tm-m88k.h
index b960a64..a9ca9cb 100644
--- a/gdb/config/m88k/tm-m88k.h
+++ b/gdb/config/m88k/tm-m88k.h
@@ -188,7 +188,6 @@ extern CORE_ADDR skip_prologue ();
#define SRP_REGNUM 1 /* Contains subroutine return pointer */
#define RV_REGNUM 2 /* Contains simple return values */
#define SRA_REGNUM 12 /* Contains address of struct return values */
-#define FP_REGNUM 31 /* Reg fetched to locate frame when pgm stops */
#define SP_REGNUM 31 /* Contains address of top of stack */
#define SXIP_REGNUM 35 /* Contains Shadow Execute Instruction Pointer */
#define SNIP_REGNUM 36 /* Contains Shadow Next Instruction Pointer */
@@ -200,6 +199,15 @@ extern CORE_ADDR skip_prologue ();
#define SFIP_REGNUM 37 /* Contains Shadow Fetched Intruction pointer */
#define NNPC_REGNUM SFIP_REGNUM /* Next Next Program Counter */
+/* This is rather a confusing lie. Our m88k port using a stack pointer value
+ for the frame address. Hence, the frame address and the frame pointer are
+ only indirectly related. The value of this macro is the register number
+ fetched by the machine "independent" portions of gdb when they want to know
+ about a frame address. Thus, we lie here and claim that FP_REGNUM is
+ SP_REGNUM. */
+#define FP_REGNUM SP_REGNUM /* Reg fetched to locate frame when pgm stops */
+#define ACTUAL_FP_REGNUM 30
+
/* PSR status bit definitions. */
#define PSR_MODE 0x80000000
@@ -317,9 +325,6 @@ extern int frameless_function_invocation ();
#define FRAME_CHAIN(thisframe) \
frame_chain (thisframe)
-#define FRAME_CHAIN_VALID(chain, thisframe) \
- frame_chain_valid (chain, thisframe)
-
#define FRAMELESS_FUNCTION_INVOCATION(frame, fromleaf) \
fromleaf = frameless_function_invocation (frame)
@@ -373,7 +378,7 @@ extern CORE_ADDR frame_locals_address ();
We could manage to locate values for all of the so called "preserved"
registers (some of which may get saved within any particular frame) but
- that would require decoding all of the tdesc information. Tht would be
+ that would require decoding all of the tdesc information. That would be
nice information for GDB to have, but it is not strictly manditory if we
can live without the ability to look at values within (or backup to)
previous frames.