0.9.0.8:
[sbcl.git] / src / runtime / monitor.c
index cae927b..222d27e 100644 (file)
@@ -18,8 +18,8 @@
 #include <signal.h>
 #include <unistd.h>
 
-#include "runtime.h"
 #include "sbcl.h"
+#include "runtime.h"
 
 /* Almost all of this file can be skipped if we're not supporting LDB. */
 #if defined(LISP_FEATURE_SB_LDB)
@@ -132,13 +132,13 @@ dump_cmd(char **ptr)
     }
 
     while (count-- > 0) {
-#ifndef alpha
+#ifndef LISP_FEATURE_ALPHA
         printf("0x%08lX: ", (unsigned long) addr);
 #else
         printf("0x%08X: ", (u32) addr);
 #endif
         if (is_valid_lisp_addr((os_vm_address_t)addr)) {
-#ifndef alpha
+#ifndef LISP_FEATURE_ALPHA
             unsigned long *lptr = (unsigned long *)addr;
 #else
             u32 *lptr = (u32 *)addr;
@@ -176,17 +176,17 @@ regs_cmd(char **ptr)
 {
     printf("CSP\t=\t0x%08lX\n", (unsigned long)current_control_stack_pointer);
     printf("FP\t=\t0x%08lX\n", (unsigned long)current_control_frame_pointer);
-#if !defined(LISP_FEATURE_X86)
+#if !(defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64))
     printf("BSP\t=\t0x%08X\n", (unsigned long)current_binding_stack_pointer);
 #endif
 #if 0
-#ifdef LISP_FEATURE_X86
+#if (defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64))
     printf("BSP\t=\t0x%08lx\n",
           (unsigned long)SymbolValue(BINDING_STACK_POINTER));
 #endif
 
     printf("DYNAMIC\t=\t0x%08lx\n", (unsigned long)DYNAMIC_SPACE_START);
-#if defined(LISP_FEATURE_X86)
+#if (defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64))
     printf("ALLOC\t=\t0x%08lx\n",
           (unsigned long)SymbolValue(ALLOCATION_POINTER));
 #else
@@ -199,9 +199,6 @@ regs_cmd(char **ptr)
     printf("RDONLY\t=\t0x%08lx\n",
           (unsigned long)SymbolValue(READ_ONLY_SPACE_FREE_POINTER));
 #endif /* 0 */
-#ifdef MIPS
-    printf("FLAGS\t=\t0x%08x\n", current_flags_register);
-#endif
 }
 
 static void
@@ -393,7 +390,7 @@ catchers_cmd(char **ptr)
         printf("There are no active catchers!\n");
     else {
         while (catch != NULL) {
-#ifndef LISP_FEATURE_X86
+#if !(defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64))
             printf("0x%08lX:\n\tuwp: 0x%08lX\n\tfp: 0x%08lX\n\tcode: 0x%08lx\n\tentry: 0x%08lx\n\ttag: ",
                   (unsigned long)catch, (unsigned long)(catch->current_uwp),
                   (unsigned long)(catch->current_cont),
@@ -511,7 +508,11 @@ monitor_or_something()
 #if defined(LISP_FEATURE_SB_LDB)
     ldb_monitor();
 #else
-    fprintf(stderr, "There's no LDB in this build; exiting.\n");
+     fprintf(stderr,
+"The system is too badly corrupted or confused to continue at the Lisp\n\
+level. If the system had been compiled with the SB-LDB feature, we'd drop\n\
+into the LDB low-level debugger now. But there's no LDB in this build, so\n\
+we can't really do anything but just exit, sorry.\n");
     exit(1);
 #endif
 }