Update of /cvsroot/sbcl/sbcl/src/runtime
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24895/src/runtime
Modified Files:
backtrace.c gc-common.c interrupt.c monitor.c validate.c
Log Message:
0.9.4.53:
Hunt down compiler warnings.
Index: backtrace.c
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/runtime/backtrace.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- backtrace.c 31 Aug 2005 14:52:22 -0000 1.25
+++ backtrace.c 9 Sep 2005 11:39:33 -0000 1.26
@@ -133,15 +133,16 @@
/* We tried to call a function, but crapped out before $CODE could
* be fixed up. Probably an undefined function. */
info->frame =
- (struct call_frame *)(*os_context_register_addr(context,
- reg_OCFP));
+ (struct call_frame *)(unsigned long)
+ (*os_context_register_addr(context, reg_OCFP));
info->lra = (lispobj)(*os_context_register_addr(context, reg_LRA));
info->code = code_pointer(info->lra);
pc = (unsigned long)native_pointer(info->lra);
}
else {
info->frame =
- (struct call_frame *)(*os_context_register_addr(context, reg_CFP));
+ (struct call_frame *)(unsigned long)
+ (*os_context_register_addr(context, reg_CFP));
info->code =
code_pointer(*os_context_register_addr(context, reg_CODE));
info->lra = NIL;
@@ -184,8 +185,8 @@
while (free-- > 0) {
os_context_t *context =
thread->interrupt_contexts[free];
- if ((struct call_frame *)(*os_context_register_addr(context,
- reg_CFP))
+ if ((struct call_frame *)(unsigned long)
+ (*os_context_register_addr(context, reg_CFP))
== info->frame) {
call_info_from_context(info, context);
break;
Index: gc-common.c
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/runtime/gc-common.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- gc-common.c 26 Aug 2005 20:30:05 -0000 1.28
+++ gc-common.c 9 Sep 2005 11:39:33 -0000 1.29
@@ -1491,7 +1491,7 @@
gc_assert(widetag_of(wp->header)==WEAK_POINTER_WIDETAG);
/* Push the weak pointer onto the list of weak pointers. */
- wp->next = LOW_WORD(weak_pointers);
+ wp->next = (struct weak_pointer *)LOW_WORD(weak_pointers);
weak_pointers = wp;
#endif
return copy;
Index: interrupt.c
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/runtime/interrupt.c,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -d -r1.91 -r1.92
--- interrupt.c 29 Aug 2005 14:30:46 -0000 1.91
+++ interrupt.c 9 Sep 2005 11:39:33 -0000 1.92
@@ -180,8 +180,10 @@
/* Build a fake stack frame or frames */
current_control_frame_pointer =
- (lispobj *)(*os_context_register_addr(context, reg_CSP));
- if ((lispobj *)(*os_context_register_addr(context, reg_CFP))
+ (lispobj *)(unsigned long)
+ (*os_context_register_addr(context, reg_CSP));
+ if ((lispobj *)(unsigned long)
+ (*os_context_register_addr(context, reg_CFP))
== current_control_frame_pointer) {
/* There is a small window during call where the callee's
* frame isn't built yet. */
@@ -233,7 +235,8 @@
/* Get current Lisp state from context. */
#ifdef reg_ALLOC
dynamic_space_free_pointer =
- (lispobj *)(*os_context_register_addr(context, reg_ALLOC));
+ (lispobj *)(unsigned long)
+ (*os_context_register_addr(context, reg_ALLOC));
#if defined(LISP_FEATURE_ALPHA)
if ((long)dynamic_space_free_pointer & 1) {
lose("dead in fake_foreign_function_call, context = %x", context);
@@ -242,7 +245,8 @@
#endif
#ifdef reg_BSP
current_binding_stack_pointer =
- (lispobj *)(*os_context_register_addr(context, reg_BSP));
+ (lispobj *)(unsigned long)
+ (*os_context_register_addr(context, reg_BSP));
#endif
build_fake_control_stack_frames(thread,context);
@@ -858,11 +862,12 @@
#else
/* this much of the calling convention is common to all
non-x86 ports */
- *os_context_pc_addr(context) = (os_context_register_t)code;
+ *os_context_pc_addr(context) = (os_context_register_t)(unsigned long)code;
*os_context_register_addr(context,reg_NARGS) = 0;
- *os_context_register_addr(context,reg_LIP) = (os_context_register_t)code;
+ *os_context_register_addr(context,reg_LIP) =
+ (os_context_register_t)(unsigned long)code;
*os_context_register_addr(context,reg_CFP) =
- (os_context_register_t)current_control_frame_pointer;
+ (os_context_register_t)(unsigned long)current_control_frame_pointer;
#endif
#ifdef ARCH_HAS_NPC_REGISTER
*os_context_npc_addr(context) =
@@ -962,8 +967,6 @@
interrupt_maybe_gc(int signal, siginfo_t *info, void *void_context)
{
os_context_t *context=(os_context_t *) void_context;
- struct thread *th=arch_os_get_current_thread();
- struct interrupt_data *data=th->interrupt_data;
if(!foreign_function_call_active && gc_trigger_hit(signal, info, context)){
struct thread *thread=arch_os_get_current_thread();
Index: monitor.c
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/runtime/monitor.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- monitor.c 2 Aug 2005 15:56:44 -0000 1.29
+++ monitor.c 9 Sep 2005 11:39:33 -0000 1.30
@@ -179,7 +179,7 @@
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) || defined(LISP_FEATURE_X86_64))
- printf("BSP\t=\t0x%08X\n", (unsigned long)current_binding_stack_pointer);
+ printf("BSP\t=\t0x%08lX\n", (unsigned long)current_binding_stack_pointer);
#endif
#if 0
#if (defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64))
@@ -392,20 +392,18 @@
printf("There are no active catchers!\n");
else {
while (catch != NULL) {
-#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),
+ printf("0x%08lX:\n\tuwp: 0x%08lX\n\tfp: 0x%08lX\n\t"
+ "code: 0x%08lX\n\tentry: 0x%08lX\n\ttag: ",
+ (unsigned long)catch,
+ (unsigned long)(catch->current_uwp),
(unsigned long)(catch->current_cont),
- catch->current_code,
- catch->entry_pc);
+#if defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64)
+ (unsigned long)component_ptr_from_pc((void*)catch->entry_pc)
+ + OTHER_POINTER_LOWTAG,
#else
- 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),
- (unsigned long)component_ptr_from_pc((void*)catch->entry_pc) +
- OTHER_POINTER_LOWTAG,
- (unsigned long)catch->entry_pc);
+ (unsigned long)(catch->current_code),
#endif
+ (unsigned long)(catch->entry_pc));
brief_print((lispobj)catch->tag);
catch = catch->previous_catch;
}
Index: validate.c
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/runtime/validate.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- validate.c 14 Jul 2005 15:41:21 -0000 1.26
+++ validate.c 9 Sep 2005 11:39:33 -0000 1.27
@@ -20,6 +20,7 @@
#include "runtime.h"
#include "os.h"
#include "globals.h"
+#include "interr.h"
#include "validate.h"
static void
|