summaryrefslogtreecommitdiff
path: root/gdb/config/ns32k
diff options
context:
space:
mode:
authorJason Molenda <jsm@bugshack.cygnus.com>1999-05-25 18:09:09 +0000
committerJason Molenda <jsm@bugshack.cygnus.com>1999-05-25 18:09:09 +0000
commiteb557a121edaebd17d600c2558a17f4f6ad920bb (patch)
treeee4d2394905f942faf968afe0a1f8acb0fc17435 /gdb/config/ns32k
parent4cd099cd8595d11956e92bf2cab4f6d8f3fa3242 (diff)
downloadgdb-eb557a121edaebd17d600c2558a17f4f6ad920bb.tar.gz
import gdb-1999-05-25 snapshot
Diffstat (limited to 'gdb/config/ns32k')
-rw-r--r--gdb/config/ns32k/tm-merlin.h26
-rw-r--r--gdb/config/ns32k/tm-umax.h31
2 files changed, 4 insertions, 53 deletions
diff --git a/gdb/config/ns32k/tm-merlin.h b/gdb/config/ns32k/tm-merlin.h
index d5864307162..9a3edb9cc8a 100644
--- a/gdb/config/ns32k/tm-merlin.h
+++ b/gdb/config/ns32k/tm-merlin.h
@@ -192,30 +192,8 @@ extern CORE_ADDR merlin_skip_prologue PARAMS ((CORE_ADDR));
/* Return number of args passed to a frame.
Can return -1, meaning no way to tell. */
-#define FRAME_NUM_ARGS(numargs, fi) \
-{ CORE_ADDR pc; \
- int insn; \
- int addr_mode; \
- int width; \
- \
- pc = FRAME_SAVED_PC (fi); \
- insn = read_memory_integer (pc,2); \
- addr_mode = (insn >> 11) & 0x1f; \
- insn = insn & 0x7ff; \
- if ((insn & 0x7fc) == 0x57c \
- && addr_mode == 0x14) /* immediate */ \
- { if (insn == 0x57c) /* adjspb */ \
- width = 1; \
- else if (insn == 0x57d) /* adjspw */ \
- width = 2; \
- else if (insn == 0x57f) /* adjspd */ \
- width = 4; \
- numargs = read_memory_integer (pc+2,width); \
- if (width > 1) \
- flip_bytes (&numargs, width); \
- numargs = - sign_extend (numargs, width*8) / 4; } \
- else numargs = -1; \
-}
+extern int merlin_frame_num_args PARAMS ((struct frame_info *fi));
+#define FRAME_NUM_ARGS (merlin_frame_num_args ((fi)))
/* Return number of bytes at start of arglist that are not really args. */
diff --git a/gdb/config/ns32k/tm-umax.h b/gdb/config/ns32k/tm-umax.h
index 925a3e97b24..d4ea4edfcd0 100644
--- a/gdb/config/ns32k/tm-umax.h
+++ b/gdb/config/ns32k/tm-umax.h
@@ -271,35 +271,8 @@ extern CORE_ADDR ns32k_get_enter_addr ();
ways in the stack frame. sp is even more special:
the address we return for it IS the sp for the next frame. */
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ \
- register int regmask, regnum; \
- int localcount; \
- register CORE_ADDR enter_addr; \
- register CORE_ADDR next_addr; \
- \
- memset (&(frame_saved_regs), '\0', sizeof (frame_saved_regs)); \
- enter_addr = ns32k_get_enter_addr ((frame_info)->pc); \
- if (enter_addr > 1) \
- { \
- regmask = read_memory_integer (enter_addr+1, 1) & 0xff; \
- localcount = ns32k_localcount (enter_addr); \
- next_addr = (frame_info)->frame + localcount; \
- for (regnum = 0; regnum < 8; regnum++, regmask >>= 1) \
- (frame_saved_regs).regs[regnum] = (regmask & 1) ? \
- (next_addr -= 4) : 0; \
- (frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame + 4;\
- (frame_saved_regs).regs[PC_REGNUM] = (frame_info)->frame + 4;\
- (frame_saved_regs).regs[FP_REGNUM] = \
- (read_memory_integer ((frame_info)->frame, 4));\
- } \
- else if (enter_addr == 1) \
- { \
- CORE_ADDR sp = read_register (SP_REGNUM); \
- (frame_saved_regs).regs[PC_REGNUM] = sp; \
- (frame_saved_regs).regs[SP_REGNUM] = sp + 4; \
- } \
-}
+extern int umax_frame_num_args PARAMS ((struct frame_info *fi));
+#define FRAME_NUM_ARGS (umax_frame_num_args ((fi)))
/* Things needed for making the inferior call functions. */