was moved back here from tm-m68k.h. FIXME? */
extern CORE_ADDR
-altos_skip_prologue (pc)
- CORE_ADDR pc;
+altos_skip_prologue (CORE_ADDR pc)
{
register int op = read_memory_integer (pc, 2);
if (op == P_LINKW_FP)
was moved back here from tm-m68k.h. FIXME? */
extern CORE_ADDR
-isi_skip_prologue (pc)
- CORE_ADDR pc;
+isi_skip_prologue (CORE_ADDR pc)
{
register int op = read_memory_integer (pc, 2);
if (op == P_LINKW_FP)
}
int
-delta68_in_sigtramp (pc, name)
- CORE_ADDR pc;
- char *name;
+delta68_in_sigtramp (CORE_ADDR pc, char *name)
{
if (name != NULL)
return strcmp (name, "_sigcode") == 0;
}
CORE_ADDR
-delta68_frame_args_address (frame_info)
- struct frame_info * frame_info;
+delta68_frame_args_address (struct frame_info *frame_info)
{
/* we assume here that the only frameless functions are the system calls
or other functions who do not put anything on the stack. */
}
CORE_ADDR
-delta68_frame_saved_pc (frame_info)
- struct frame_info * frame_info;
+delta68_frame_saved_pc (struct frame_info *frame_info)
{
return read_memory_integer (delta68_frame_args_address (frame_info) + 4, 4);
}
Can return -1, meaning no way to tell. */
int
-isi_frame_num_args (fi)
- struct frame_info *fi;
+isi_frame_num_args (struct frame_info *fi)
{
int val;
CORE_ADDR pc = FRAME_SAVED_PC (fi);
}
int
-delta68_frame_num_args (fi)
- struct frame_info *fi;
+delta68_frame_num_args (struct frame_info *fi)
{
int val;
CORE_ADDR pc = FRAME_SAVED_PC (fi);
}
int
-news_frame_num_args (fi)
- struct frame_info *fi;
+news_frame_num_args (struct frame_info *fi)
{
int val;
CORE_ADDR pc = FRAME_SAVED_PC (fi);
/* Push an empty stack frame, to record the current PC, etc. */
void
-m68k_push_dummy_frame ()
+m68k_push_dummy_frame (void)
{
register CORE_ADDR sp = read_register (SP_REGNUM);
register int regnum;
restoring all saved registers. */
void
-m68k_pop_frame ()
+m68k_pop_frame (void)
{
register struct frame_info *frame = get_current_frame ();
register CORE_ADDR fp;
*/
CORE_ADDR
-m68k_skip_prologue (ip)
- CORE_ADDR ip;
+m68k_skip_prologue (CORE_ADDR ip)
{
register CORE_ADDR limit;
struct symtab_and_line sal;
}
void
-m68k_find_saved_regs (frame_info, saved_regs)
- struct frame_info *frame_info;
- struct frame_saved_regs *saved_regs;
+m68k_find_saved_regs (struct frame_info *frame_info,
+ struct frame_saved_regs *saved_regs)
{
register int regnum;
register int regmask;
register values. */
void
-supply_gregset (gregsetp)
- gregset_t *gregsetp;
+supply_gregset (gregset_t *gregsetp)
{
register int regi;
register greg_t *regp = (greg_t *) gregsetp;
}
void
-fill_gregset (gregsetp, regno)
- gregset_t *gregsetp;
- int regno;
+fill_gregset (gregset_t *gregsetp, int regno)
{
register int regi;
register greg_t *regp = (greg_t *) gregsetp;
idea of the current floating point register values. */
void
-supply_fpregset (fpregsetp)
- fpregset_t *fpregsetp;
+supply_fpregset (fpregset_t *fpregsetp)
{
register int regi;
char *from;
them all. */
void
-fill_fpregset (fpregsetp, regno)
- fpregset_t *fpregsetp;
- int regno;
+fill_fpregset (fpregset_t *fpregsetp, int regno)
{
int regi;
char *to;
#endif /* USE_PROC_FS */
-#ifdef GET_LONGJMP_TARGET
/* Figure out where the longjmp will land. Slurp the args out of the stack.
We expect the first arg to be a pointer to the jmp_buf structure from which
we extract the pc (JB_PC) that we will land at. The pc is copied into PC.
This routine returns true on success. */
+/* NOTE: cagney/2000-11-08: For this function to be fully multi-arched
+ the macro's JB_PC and JB_ELEMENT_SIZE would need to be moved into
+ the ``struct gdbarch_tdep'' object and then set on a target ISA/ABI
+ dependant basis. */
+
int
-get_longjmp_target (pc)
- CORE_ADDR *pc;
+m68k_get_longjmp_target (CORE_ADDR *pc)
{
- char buf[TARGET_PTR_BIT / TARGET_CHAR_BIT];
+#if defined (JB_PC) && defined (JB_ELEMENT_SIZE)
+ char *buf;
CORE_ADDR sp, jb_addr;
+ buf = alloca (TARGET_PTR_BIT / TARGET_CHAR_BIT);
sp = read_register (SP_REGNUM);
if (target_read_memory (sp + SP_ARG0, /* Offset of first arg on stack */
*pc = extract_address (buf, TARGET_PTR_BIT / TARGET_CHAR_BIT);
return 1;
+#else
+ internal_error ("m68k_get_longjmp_target: not implemented");
+ return 0;
+#endif
}
-#endif /* GET_LONGJMP_TARGET */
/* Immediately after a function call, return the saved pc before the frame
is setup. For sun3's, we check for the common case of being inside of a
prior to doing the trap. */
CORE_ADDR
-m68k_saved_pc_after_call (frame)
- struct frame_info *frame;
+m68k_saved_pc_after_call (struct frame_info *frame)
{
#ifdef SYSCALL_TRAP
int op;
void
-_initialize_m68k_tdep ()
+_initialize_m68k_tdep (void)
{
tm_print_insn = print_insn_m68k;
}