aboutsummaryrefslogtreecommitdiff
path: root/gdb/config
diff options
context:
space:
mode:
authorGrace Sainsbury <graces@redhat.com>2002-07-02 18:13:54 +0000
committerGrace Sainsbury <graces@redhat.com>2002-07-02 18:13:54 +0000
commit103a159751711c8107b23f11317ce7f17bb902a7 (patch)
treea1dd7f641e2e4b816322ae61583c232ce9e1fe75 /gdb/config
parent7a5a05349e7ea7749d253dc1f201f7aea5497b79 (diff)
downloadgdb-103a159751711c8107b23f11317ce7f17bb902a7.zip
gdb-103a159751711c8107b23f11317ce7f17bb902a7.tar.gz
gdb-103a159751711c8107b23f11317ce7f17bb902a7.tar.bz2
* m68k-tdep.c (m68k_remote_breakpoint_from_pc): Add. Currently not
used in architecture vector. The default is m68k_local_breakpoint_from_pc. (m68k_local_breakpoint_from_pc): Add. (enum): Add register numbers from tm-m68k.h. (m68k_gdbarch_init): Add breakpoint_from_pc to architecture vector. * config/m68k/tm-m68k.h (GDB_MULTI_ARCH): Set to GDB_MULTI_ARCH_PARTIAL. (BPT_VECTOR, REGISTER_BYTES_FP, REGISTER_BYTES_NOFP) (NUM_FREGS, SIG_PC_FP_OFFSET, SP_ARG0, REMOTE_BPT_VECTOR): Move to m68k-tdep.c. (BREAKPOINT, REMOTE_BREAKPOINT): Remove. (A1_REGNUM, FP0_REGNUM, FPC_REGNUM, FPS_REGNUM, FPI_REGNUM): Move to enum in m68k-tdep.c
Diffstat (limited to 'gdb/config')
-rw-r--r--gdb/config/m68k/tm-m68k.h33
1 files changed, 21 insertions, 12 deletions
diff --git a/gdb/config/m68k/tm-m68k.h b/gdb/config/m68k/tm-m68k.h
index fd86564..0c97c50 100644
--- a/gdb/config/m68k/tm-m68k.h
+++ b/gdb/config/m68k/tm-m68k.h
@@ -21,17 +21,24 @@
#include "regcache.h"
-#define GDB_MULTI_ARCH 0
+#define GDB_MULTI_ARCH GDB_MULTI_ARCH_PARTIAL
/* Generic 68000 stuff, to be included by other tm-*.h files. */
-struct frame_info;
+/* struct frame_info; */
+
+/* D0_REGNM and A0_REGNUM must be defined here because they are
+ used by the monitor. */
+
+#define D0_REGNUM 0
+#define A0_REGNUM 8
/* Sequence of bytes for breakpoint instruction.
This is a TRAP instruction. The last 4 bits (0xf below) is the
vector. Systems which don't use 0xf should define BPT_VECTOR
themselves before including this file. */
+#if !GDB_MULTI_ARCH
#if !defined (BPT_VECTOR)
#define BPT_VECTOR 0xf
#endif
@@ -45,17 +52,22 @@ struct frame_info;
#if !defined (REMOTE_BPT_VECTOR)
#define REMOTE_BPT_VECTOR 1
#endif
+#endif
+#if !GDB_MULTI_ARCH
#if !defined (REMOTE_BREAKPOINT)
#define REMOTE_BREAKPOINT {0x4e, (0x40 | REMOTE_BPT_VECTOR)}
#endif
+#endif
+#if !GDB_MULTI_ARCH
#define REGISTER_BYTES_FP (16*4 + 8 + 8*12 + 3*4)
#define REGISTER_BYTES_NOFP (16*4 + 8)
#define NUM_FREGS (NUM_REGS-24)
+
/* This was determined by experimentation on hp300 BSD 4.3. Perhaps
it corresponds to some offset in /usr/include/sys/user.h or
something like that. Using some system include file would
@@ -70,7 +82,7 @@ struct frame_info;
#define SP_ARG0 (1 * 4)
#define TARGET_M68K
-
+#endif
#if !GDB_MULTI_ARCH
#define TARGET_LONG_DOUBLE_FORMAT &floatformat_m68881_ext
@@ -147,7 +159,7 @@ extern CORE_ADDR m68k_saved_pc_after_call (struct frame_info *);
#ifndef REGISTER_BYTES
#define REGISTER_BYTES (16*4 + 8 + 8*12 + 3*4)
#endif
-#endif //multi-arch
+#endif /* multi-arch */
/* Index within `registers' of the first byte of the space for
register N. */
@@ -180,7 +192,7 @@ extern CORE_ADDR m68k_saved_pc_after_call (struct frame_info *);
/* Largest value REGISTER_VIRTUAL_SIZE can have. */
#define MAX_REGISTER_VIRTUAL_SIZE 12
-#endif //multi-arch
+#endif /* multi-arch */
/* Return the GDB type object for the "standard" data type of data
in register N. This should be int for D0-D7, long double for FP0-FP7,
@@ -214,21 +226,18 @@ extern CORE_ADDR m68k_saved_pc_after_call (struct frame_info *);
to be actual register numbers as far as the user is concerned
but do serve to get the desired values when passed to read_register. */
+#if !GDB_MULTI_ARCH
-#define D0_REGNUM 0
-#define A0_REGNUM 8
#define A1_REGNUM 9
-#if !GDB_MULTI_ARCH
#define FP_REGNUM 14 /* Contains address of executing stack frame */
#define SP_REGNUM 15 /* Contains address of top of stack */
#define PS_REGNUM 16 /* Contains processor status */
#define PC_REGNUM 17 /* Contains program counter */
#define FP0_REGNUM 18 /* Floating point register 0 */
-#endif
#define FPC_REGNUM 26 /* 68881 control register */
#define FPS_REGNUM 27 /* 68881 status register */
#define FPI_REGNUM 28 /* 68881 iaddr register */
-
+#endif
/* Store the address of the place in which to copy the structure the
subroutine will return. This is called from call_function. */
@@ -248,7 +257,7 @@ extern CORE_ADDR m68k_saved_pc_after_call (struct frame_info *);
(TYPE_LENGTH(TYPE) >= 4 ? 0 : 4 - TYPE_LENGTH(TYPE)), \
TYPE_LENGTH(TYPE))
#endif
-#endif //multi-arch
+#endif /* multi-arch */
/* Write into appropriate registers a function return value
of type TYPE, given in virtual format. Assumes floats are passed
@@ -265,7 +274,7 @@ extern CORE_ADDR m68k_saved_pc_after_call (struct frame_info *);
as a CORE_ADDR (or an expression that can be used as one). */
#define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(CORE_ADDR *)(REGBUF))
-#endif //multi-arch
+#endif /* multi-arch */
/* Describe the pointer in each stack frame to the previous stack frame
(its caller). */