projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.9.2.14:
[sbcl.git]
/
src
/
runtime
/
interr.c
diff --git
a/src/runtime/interr.c
b/src/runtime/interr.c
index
a5f8650
..
8d3b3b0
100644
(file)
--- a/
src/runtime/interr.c
+++ b/
src/runtime/interr.c
@@
-15,15
+15,19
@@
#include <stdio.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdarg.h>
+#include <stdlib.h>
+#include "sbcl.h"
#include "arch.h"
#include "signal.h"
#include "runtime.h"
#include "arch.h"
#include "signal.h"
#include "runtime.h"
-#include "sbcl.h"
#include "interr.h"
#include "print.h"
#include "lispregs.h"
#include "interr.h"
#include "print.h"
#include "lispregs.h"
+#include "genesis/static-symbols.h"
+#include "genesis/vector.h"
+#include "thread.h"
\f
/* the way that we shut down the system on a fatal error */
\f
/* the way that we shut down the system on a fatal error */
@@
-43,7
+47,10
@@
never_returns
lose(char *fmt, ...)
{
va_list ap;
lose(char *fmt, ...)
{
va_list ap;
- fprintf(stderr, "fatal error encountered in SBCL runtime system");
+ fprintf(stderr, "fatal error encountered in SBCL pid %d",getpid());
+#if defined(LISP_FEATURE_SB_THREAD)
+ fprintf(stderr, "(tid %ld)",thread_self());
+#endif
if (fmt) {
fprintf(stderr, ":\n");
va_start(ap, fmt);
if (fmt) {
fprintf(stderr, ":\n");
va_start(ap, fmt);
@@
-99,9
+106,9
@@
describe_internal_error(os_context_t *context)
brief_print(*os_context_register_addr(context, offset));
break;
brief_print(*os_context_register_addr(context, offset));
break;
- case sc_BaseCharReg:
+ case sc_CharacterReg:
ch = *os_context_register_addr(context, offset);
ch = *os_context_register_addr(context, offset);
-#ifdef __i386__
+#ifdef LISP_FEATURE_X86
if (offset&1)
ch = ch>>8;
ch = ch & 0xff;
if (offset&1)
ch = ch>>8;
ch = ch & 0xff;
@@
-123,13
+130,13
@@
describe_internal_error(os_context_t *context)
#ifdef sc_WordPointerReg
case sc_WordPointerReg:
#endif
#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:
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:
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:
break;
#ifdef sc_SingleFloatReg
case sc_SingleFloatReg: