diff --git a/lisp/backtrace.c b/lisp/backtrace.c index ff2ef82dd08a2ba11762bed9f56157bb10366fe1..c838623aaa8827c693948e7d12d653f978855893 100644 --- a/lisp/backtrace.c +++ b/lisp/backtrace.c @@ -1,4 +1,4 @@ -/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/backtrace.c,v 1.9 2004/05/18 22:41:23 cwang Exp $ +/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/backtrace.c,v 1.10 2004/07/07 22:22:59 rtoy Exp $ * * Simple backtrace facility. More or less from Rob's lisp version. */ @@ -134,7 +134,7 @@ previous_info(struct call_info *info) struct sigcontext *csp; if (!cs_valid_pointer_p(info->frame)) { - printf("Bogus callee value (0x%08x).\n", (unsigned long)info->frame); + printf("Bogus callee value (0x%08lx).\n", (unsigned long)info->frame); return 0; } @@ -182,13 +182,13 @@ backtrace(int nframes) info_from_lisp_state(&info); do { - printf("<Frame 0x%08x%s, ", (unsigned long) info.frame, + printf("<Frame 0x%08lx%s, ", (unsigned long) info.frame, info.interrupted ? " [interrupted]" : ""); if (info.code != (struct code *) 0) { lispobj function; - printf("CODE: 0x%08X, ", (unsigned long) info.code | type_OtherPointer); + printf("CODE: 0x%08lX, ", (unsigned long) info.code | type_OtherPointer); #ifndef alpha function = info.code->entry_points; @@ -231,7 +231,7 @@ backtrace(int nframes) printf("CODE: ???, "); if (info.lra != NIL) - printf("LRA: 0x%08x, ", (unsigned long)info.lra); + printf("LRA: 0x%08lx, ", (unsigned long)info.lra); else printf("<no LRA>, "); diff --git a/lisp/interrupt.h b/lisp/interrupt.h index cad270b2b88221be8144cb1d5b97edd99404392d..1fa1e0422070e74e2df2db6b3266c54d0f4ea05c 100644 --- a/lisp/interrupt.h +++ b/lisp/interrupt.h @@ -1,4 +1,4 @@ -/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/interrupt.h,v 1.7 2004/07/07 15:03:12 rtoy Exp $ */ +/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/interrupt.h,v 1.8 2004/07/07 22:22:59 rtoy Exp $ */ #if !defined(_INCLUDE_INTERRUPT_H_) #define _INCLUDE_INTERRUPT_H_ @@ -27,6 +27,9 @@ extern void interrupt_install_low_level_handler extern unsigned long install_handler(int signal, void handler(HANDLER_ARGS)); +extern void build_fake_control_stack_frame(os_context_t* context); +extern void interrupt_handle_space_overflow(lispobj error, os_context_t *context); + extern union interrupt_handler interrupt_handlers[NSIG]; #ifdef hpux diff --git a/lisp/os-common.c b/lisp/os-common.c index e589c141f4dcfd7c7203a297dfaf529b9aadab6a..fdc4451c88eecfce73e6d80666afad37083dd223 100644 --- a/lisp/os-common.c +++ b/lisp/os-common.c @@ -1,6 +1,6 @@ /* - $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/os-common.c,v 1.15 2004/07/07 20:31:06 rtoy Exp $ + $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/os-common.c,v 1.16 2004/07/07 22:22:59 rtoy Exp $ This code was written as part of the CMU Common Lisp project at Carnegie Mellon University, and has been placed in the public domain. @@ -18,6 +18,7 @@ #include "globals.h" #include "interr.h" #include "arch.h" +#include "interrupt.h" /* Except for os_zero, these routines are only called by Lisp code. These routines may also be replaced by os-dependent versions instead. See diff --git a/lisp/parse.c b/lisp/parse.c index 7acd8fed5d5c5a85d74e9b6fdb7af644640faae7..f7c4832e9a247a73794c465fa12c6b76c5b099d0 100644 --- a/lisp/parse.c +++ b/lisp/parse.c @@ -1,7 +1,9 @@ -/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/parse.c,v 1.5 2004/05/19 23:33:44 cwang Exp $ */ +/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/parse.c,v 1.6 2004/07/07 22:22:59 rtoy Exp $ */ #include <stdio.h> #include <ctype.h> #include <signal.h> +#include <string.h> +#include <stdlib.h> #include "lisp.h" #include "internals.h" diff --git a/lisp/runprog.c b/lisp/runprog.c index 274bf90e7db1d2b44e9f95c9e7672bceaa6c4dcf..59339caf00a4c5a6b9062ca5b04a7b154e8c6d0d 100644 --- a/lisp/runprog.c +++ b/lisp/runprog.c @@ -1,5 +1,5 @@ /* - * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/runprog.c,v 1.3 2000/10/27 19:25:56 dtc Exp $ + * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/runprog.c,v 1.4 2004/07/07 22:22:59 rtoy Exp $ * * Support for run-program. * @@ -11,6 +11,9 @@ #if defined(SVR4) || defined(__linux__) #include <unistd.h> #endif +#if defined(SOLARIS) +#include <fcntl.h> +#endif int spawn(char *program, char *argv[], char *envp[], char *pty_name, int stdin, int stdout, int stderr) diff --git a/lisp/save.c b/lisp/save.c index c8cb1b0e7fd84ec4bb9b68b4b5df3d42913ee745..d609f5bf182a3398d9ffaa91158ceb2e9e213a7e 100644 --- a/lisp/save.c +++ b/lisp/save.c @@ -1,6 +1,6 @@ /* - $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/save.c,v 1.8 2003/08/22 13:20:03 toy Exp $ + $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/save.c,v 1.9 2004/07/07 22:22:59 rtoy Exp $ This code was written as part of the CMU Common Lisp project at Carnegie Mellon University, and has been placed in the public domain. @@ -67,7 +67,7 @@ static void output_space(FILE *file, int id, lispobj *addr, lispobj *end) bytes = words * sizeof(lispobj); - printf("Writing %d bytes from the %s space at 0x%08X.\n", + printf("Writing %d bytes from the %s space at 0x%08lX.\n", bytes, names[id], (unsigned long)addr); data = write_bytes(file, (char *)addr, bytes); diff --git a/lisp/search.c b/lisp/search.c index 8b3a1f39c5195bf14fde18f496d81fd7c62b5977..cd15664fa506578c37f60e6def1776e65e2e7fb2 100644 --- a/lisp/search.c +++ b/lisp/search.c @@ -1,13 +1,13 @@ /* - $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/search.c,v 1.2 1994/10/27 17:13:54 ram Exp $ + $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/search.c,v 1.3 2004/07/07 22:22:59 rtoy Exp $ This code was written as part of the CMU Common Lisp project at Carnegie Mellon University, and has been placed in the public domain. */ - +#include <string.h> #include "lisp.h" #include "internals.h" #include "os.h"