Work around targets that don't yet define JB_PC or JB_ELEMENT_SIZE.
authorAndrew Cagney <cagney@redhat.com>
Wed, 8 Nov 2000 12:26:15 +0000 (12:26 +0000)
committerAndrew Cagney <cagney@redhat.com>
Wed, 8 Nov 2000 12:26:15 +0000 (12:26 +0000)
gdb/ChangeLog
gdb/m68k-tdep.c

index 00e214d..bf28a84 100644 (file)
@@ -1,3 +1,8 @@
+Wed Nov  8 23:08:48 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * m68k-tdep.c (m68k_get_longjmp_target): Work around targets that
+       don't define JB_PC or JB_ELEMENT_SIZE.
+
 Wed Nov  8 22:46:43 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
        * m68k-tdep.c (m68k_get_longjmp_target): Rename function
index f9b105d..5a77156 100644 (file)
@@ -642,9 +642,15 @@ fill_fpregset (fpregset_t *fpregsetp, int regno)
    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
 m68k_get_longjmp_target (CORE_ADDR *pc)
 {
+#if defined (JB_PC) && defined (JB_ELEMENT_SIZE)
   char *buf;
   CORE_ADDR sp, jb_addr;
 
@@ -665,6 +671,10 @@ m68k_get_longjmp_target (CORE_ADDR *pc)
   *pc = extract_address (buf, TARGET_PTR_BIT / TARGET_CHAR_BIT);
 
   return 1;
+#else
+  internal_error ("m68k_get_longjmp_target: not implemented");
+  return 0;
+#endif
 }
 
 /* Immediately after a function call, return the saved pc before the frame