X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Finterr.c;h=8d3b3b079be420cc146aa33bf5bb9cdb84ab7a3c;hb=df61d054712f14fda874034fde70a269a76c792b;hp=7de06f06d67126b6b6e3ed5757beb742ead00401;hpb=f7b3fe1bd86348bfd2a3c506e437084752142c83;p=sbcl.git diff --git a/src/runtime/interr.c b/src/runtime/interr.c index 7de06f0..8d3b3b0 100644 --- a/src/runtime/interr.c +++ b/src/runtime/interr.c @@ -17,11 +17,11 @@ #include #include +#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: