summaryrefslogtreecommitdiff
path: root/gdb/config/sparc/tm-sparclet.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/config/sparc/tm-sparclet.h')
-rw-r--r--gdb/config/sparc/tm-sparclet.h27
1 files changed, 25 insertions, 2 deletions
diff --git a/gdb/config/sparc/tm-sparclet.h b/gdb/config/sparc/tm-sparclet.h
index 2cec5128b08..3684f74f27a 100644
--- a/gdb/config/sparc/tm-sparclet.h
+++ b/gdb/config/sparc/tm-sparclet.h
@@ -18,9 +18,25 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+#define TARGET_SPARCLET 1 /* Still needed for non-multi-arch case */
+
#include "sparc/tm-sparc.h"
-#define TARGET_SPARCLET 1
+/* Note: we are not defining GDB_MULTI_ARCH for the sparclet target
+ at this time, because we have not figured out how to detect the
+ sparclet target from the bfd structure. */
+
+/* Sparclet regs, for debugging purposes. */
+
+enum {
+ CCSR_REGNUM = 72,
+ CCPR_REGNUM = 73,
+ CCCRCR_REGNUM = 74,
+ CCOR_REGNUM = 75,
+ CCOBR_REGNUM = 76,
+ CCIBR_REGNUM = 77,
+ CCIR_REGNUM = 78
+};
/* Select the sparclet disassembler. Slightly different instruction set from
the V8 sparc. */
@@ -38,6 +54,11 @@
#define BIG_BREAKPOINT {0x91, 0xd0, 0x20, 0x01}
#define LITTLE_BREAKPOINT {0x01, 0x20, 0xd0, 0x91}
+#if !defined (GDB_MULTI_ARCH) || (GDB_MULTI_ARCH == 0)
+/*
+ * The following defines must go away for MULTI_ARCH.
+ */
+
#undef NUM_REGS /* formerly "72" */
/* WIN FP CPU CCP ASR AWR APSR */
#define NUM_REGS (32 + 32 + 8 + 8 + 8/*+ 32 + 1*/)
@@ -80,7 +101,7 @@
/* Remove FP dependant code which was defined in tm-sparc.h */
#undef FP0_REGNUM /* Floating point register 0 */
-#undef FPS_REGNUM /* Floating point status register */
+#undef FPS_REGNUM /* Floating point status register */
#undef CPS_REGNUM /* Coprocessor status register */
/* sparclet register numbers */
@@ -103,6 +124,8 @@
TYPE_LENGTH (TYPE)); \
}
+#endif /* GDB_MULTI_ARCH */
+
#undef PRINT_REGISTER_HOOK
#define PRINT_REGISTER_HOOK(regno)