#include "interr.h"
#include "monitor.h"
#include "validate.h"
-#if defined GENCGC
-#include "gencgc.h"
-#endif
#include "core.h"
#include "save.h"
#include "lispregs.h"
lose("more than one core file specified");
} else {
++argi;
- core = copied_string(argv[argi]);
if (argi >= argc) {
lose("missing filename for --core argument");
}
+ core = copied_string(argv[argi]);
++argi;
}
} else if (0 == strcmp(arg, "--end-runtime-options")) {
char *sbcl_home = getenv("SBCL_HOME");
if (sbcl_home) {
char *lookhere;
- lookhere = (char *) calloc(strlen("/sbcl.core") + strlen(sbcl_home) + 1,
- sizeof(char));
- sprintf(lookhere, "%s/sbcl.core", sbcl_home);
+ char *stem = "/sbcl.core";
+ lookhere = (char *) calloc(strlen(sbcl_home) +
+ strlen(stem) +
+ 1,
+ sizeof(char));
+ sprintf(lookhere, "%s%s", sbcl_home, stem);
core = copied_existing_filename_or_null(lookhere);
free(lookhere);
} else {
core = copied_existing_filename_or_null("/usr/lib/sbcl.core");
if (!core) {
- core = copied_existing_filename_or_null("/usr/local/lib/sbcl.core");
+ core =
+ copied_existing_filename_or_null("/usr/local/lib/sbcl.core");
}
}
if (!core) {
if (!noinform) {
printf(
-"This is SBCL " SBCL_VERSION_STRING ", an implementation of ANSI Common Lisp.\n\
+"This is SBCL %s, an implementation of ANSI Common Lisp.\n\
\n\
SBCL is derived from the CMU CL system created at Carnegie Mellon University.\n\
Besides software and documentation originally created at Carnegie Mellon\n\
used under BSD-style licenses allowing copying only under certain conditions.\n\
See the COPYING file in the distribution for more information.\n\
\n\
-More information on SBCL is available at <http://sbcl.sourceforge.net/>.\n\
-");
+More information about SBCL is available at <http://sbcl.sourceforge.net/>.\n\
+", SBCL_VERSION_STRING);
fflush(stdout);
}
set_lossage_handler(monitor_or_something);
-#if 0
- os_init();
- gc_init();
- validate();
-#endif
globals_init();
initial_function = load_core_file(core);
SHOW("freeing core");
free(core);
-#if defined GENCGC
- gencgc_pickup_dynamic();
-#else
-#endif
+ gc_initialize_pointers();
#ifdef BINDING_STACK_POINTER
SetSymbolValue(BINDING_STACK_POINTER, BINDING_STACK_START);
#endif
-#if defined INTERNAL_GC_TRIGGER && !defined __i386__
- SetSymbolValue(INTERNAL_GC_TRIGGER, make_fixnum(-1));
-#endif
interrupt_init();