0.9.2.14:
[sbcl.git] / src / runtime / interr.c
index 7de06f0..8d3b3b0 100644 (file)
 #include <stdarg.h>
 #include <stdlib.h>
 
+#include "sbcl.h"
 #include "arch.h"
 #include "signal.h"
 
 #include "runtime.h"
-#include "sbcl.h"
 #include "interr.h"
 #include "print.h"
 #include "lispregs.h"
@@ -48,15 +48,9 @@ lose(char *fmt, ...)
 {
     va_list ap;
     fprintf(stderr, "fatal error encountered in SBCL pid %d",getpid());
-    /* freeze all the other threads, so we have a chance of debugging them 
-     */
-    if(all_threads) {
-       struct thread *th1,*th=arch_os_get_current_thread();
-       for_each_thread(th1) {
-           if(th1!=th) kill(th1->pid,SIGSTOP);
-       }
-    }
-
+#if defined(LISP_FEATURE_SB_THREAD)
+    fprintf(stderr, "(tid %ld)",thread_self());
+#endif
     if (fmt) {
        fprintf(stderr, ":\n");
        va_start(ap, fmt);
@@ -112,7 +106,7 @@ describe_internal_error(os_context_t *context)
            brief_print(*os_context_register_addr(context, offset));
            break;
 
-       case sc_BaseCharReg:
+       case sc_CharacterReg:
            ch = *os_context_register_addr(context, offset);
 #ifdef LISP_FEATURE_X86
            if (offset&1)
@@ -136,13 +130,13 @@ describe_internal_error(os_context_t *context)
 #ifdef sc_WordPointerReg
        case sc_WordPointerReg:
 #endif
-           printf("\t0x%08x\n", *os_context_register_addr(context, offset));
+           printf("\t0x%08lx\n", (unsigned long) *os_context_register_addr(context, offset));
            break;
        case sc_SignedReg:
-           printf("\t%d\n", *os_context_register_addr(context, offset));
+           printf("\t%ld\n", (long) *os_context_register_addr(context, offset));
            break;
        case sc_UnsignedReg:
-           printf("\t%u\n", *os_context_register_addr(context, offset));
+           printf("\t%lu\n", (unsigned long) *os_context_register_addr(context, offset));
            break;
 #ifdef sc_SingleFloatReg
        case sc_SingleFloatReg: