Implement attach/detach for multi-threaded programs on Linux.
[deliverable/binutils-gdb.git] / gdb / m88k-tdep.c
index 1cdd4e589929d046a40d9961bed2ffc6b843abd2..195722b2254404d9be523b1317db3bbd7a8738ca 100644 (file)
@@ -1,5 +1,6 @@
 /* Target-machine dependent code for Motorola 88000 series, for GDB.
-   Copyright 1988, 1990, 1991, 1994, 1995 Free Software Foundation, Inc.
+   Copyright 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 2000,
+   2001 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,6 +27,7 @@
 #include "symtab.h"
 #include "setjmp.h"
 #include "value.h"
+#include "regcache.h"
 
 /* Size of an instruction */
 #define        BYTES_PER_88K_INSN      4
@@ -244,7 +246,7 @@ examine_prologue (register CORE_ADDR ip, register CORE_ADDR limit,
 {
   register CORE_ADDR next_ip;
   register int src;
-  unsigned int insn;
+  unsigned long insn;
   int size, offset;
   char must_adjust[32];                /* If set, must adjust offsets in fsr */
   int sp_offset = -1;          /* -1 means not set (valid must be mult of 8) */
@@ -387,7 +389,7 @@ end_of_prologue_found:
   /* (we hope...) */
   if (fsr->regs[SP_REGNUM] != 0
       && fsr->regs[SP_REGNUM] != frame_sp - sp_offset)
-    fprintf_unfiltered (gdb_stderr, "Bad saved SP value %x != %x, offset %x!\n",
+    fprintf_unfiltered (gdb_stderr, "Bad saved SP value %lx != %lx, offset %x!\n",
                        fsr->regs[SP_REGNUM],
                        frame_sp - sp_offset, sp_offset);
 
@@ -401,8 +403,7 @@ end_of_prologue_found:
    prologue.  */
 
 CORE_ADDR
-m88k_skip_prologue (ip)
-CORE_ADDR (ip);
+m88k_skip_prologue (CORE_ADDR ip)
 {
   struct frame_saved_regs saved_regs_dummy;
   struct symtab_and_line sal;
@@ -567,14 +568,12 @@ void
 pop_frame (void)
 {
   register struct frame_info *frame = get_current_frame ();
-  register CORE_ADDR fp;
   register int regnum;
   struct frame_saved_regs fsr;
 
-  fp = FRAME_FP (frame);
   get_frame_saved_regs (frame, &fsr);
 
-  if (PC_IN_CALL_DUMMY (read_pc (), read_register (SP_REGNUM), FRAME_FP (fi)))
+  if (PC_IN_CALL_DUMMY (read_pc (), read_register (SP_REGNUM), frame->frame))
     {
       /* FIXME: I think get_frame_saved_regs should be handling this so
          that we can deal with the saved registers properly (e.g. frame
This page took 0.024134 seconds and 4 git commands to generate.