0.6.10:
[sbcl.git] / src / runtime / runtime.c
index b572391..e4ce0d8 100644 (file)
  * files for more information.
  */
 
-/*
- * $Header$
- */
-
 #include <stdio.h>
 #include <sys/types.h>
 #include <stdlib.h>
@@ -36,6 +32,7 @@
 #include "interrupt.h"
 #include "arch.h"
 #include "gc.h"
+#include "interr.h"
 #include "monitor.h"
 #include "validate.h"
 #if defined GENCGC
@@ -54,7 +51,8 @@
 
 static void sigint_handler(int signal, siginfo_t *info, void *void_context)
 {
-    printf("\nSIGINT hit at 0x%08lX\n", *os_context_pc_addr(void_context));
+    printf("\nSIGINT hit at 0x%08lX\n", 
+          (unsigned long) *os_context_pc_addr(void_context));
     ldb_monitor();
 }
 
@@ -78,6 +76,7 @@ successful_malloc(size_t size)
     } else {
        return result;
     }
+    return (void *) NULL; /* dummy value: return something ... */
 }
 
 char *
@@ -188,7 +187,9 @@ main(int argc, char *argv[], char *envp[])
        char *sbcl_home = getenv("SBCL_HOME");
        if (sbcl_home) {
            char *lookhere;
-           asprintf(&lookhere, "%s/sbcl.core", sbcl_home);
+           lookhere = (char *) calloc(strlen("/sbcl.core") + strlen(sbcl_home) + 1,
+                                       sizeof(char));
+           sprintf(lookhere, "%s/sbcl.core", sbcl_home);
            core = copied_existing_filename_or_null(lookhere);
            free(lookhere);
        } else {
@@ -268,7 +269,7 @@ More information on SBCL is available at <http://sbcl.sourceforge.net/>.
 #endif
 
 #ifdef BINDING_STACK_POINTER
-    SetSymbolValue(BINDING_STACK_POINTER, (lispobj)binding_stack);
+    SetSymbolValue(BINDING_STACK_POINTER, BINDING_STACK_START);
 #endif
 #if defined INTERNAL_GC_TRIGGER && !defined __i386__
     SetSymbolValue(INTERNAL_GC_TRIGGER, make_fixnum(-1));
@@ -296,4 +297,6 @@ More information on SBCL is available at <http://sbcl.sourceforge.net/>.
 
     /* initial_function() is not supposed to return. */
     lose("Lisp initial_function gave up control.");
+    return 0; /* dummy value: return something */
 }
+