X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fruntime%2Fmonitor.c;h=dd7808d7b70f5c869957f248401c541424c1c4b6;hb=78fa16bf55be44cc16845be84d98023e83fb14bc;hp=9bddfecdb40b1db2a301d3dba95fa453954c4b65;hpb=f7b3fe1bd86348bfd2a3c506e437084752142c83;p=sbcl.git diff --git a/src/runtime/monitor.c b/src/runtime/monitor.c index 9bddfec..dd7808d 100644 --- a/src/runtime/monitor.c +++ b/src/runtime/monitor.c @@ -18,8 +18,8 @@ #include #include -#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) @@ -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 @@ -326,7 +326,7 @@ print_context(os_context_t *context) brief_print((lispobj)(*os_context_register_addr(context,i))); #endif } -#ifdef DARWIN +#ifdef LISP_FEATURE_DARWIN printf("DAR:\t\t 0x%08lx\n", (unsigned long)(*os_context_register_addr(context, 41))); printf("DSISR:\t\t 0x%08lx\n", (unsigned long)(*os_context_register_addr(context, 42))); #endif @@ -393,7 +393,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 +511,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 }