diff --git a/lisp/coreparse.c b/lisp/coreparse.c index 3029c6b15c8579607efb17ae6da5aebc3f7cbada..8d0c8879675d3856b7603f04a0609d6b8c0d57dd 100644 --- a/lisp/coreparse.c +++ b/lisp/coreparse.c @@ -1,8 +1,13 @@ -/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/coreparse.c,v 1.3 1994/03/27 15:26:25 hallgren Exp $ */ +/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/coreparse.c,v 1.4 1994/07/05 16:06:45 hallgren Exp $ */ #include <stdio.h> #include <sys/types.h> #include <sys/file.h> +#ifdef irix +#include <fcntl.h> +#include <stdlib.h> +#endif + #include "os.h" #include "lisp.h" #include "globals.h" diff --git a/lisp/gc.c b/lisp/gc.c index 856390f55152fb3ba32e5e50af73f2d06286d7da..a3c7f3a2d7e17d10f80e2d2b5aac793478d95161 100644 --- a/lisp/gc.c +++ b/lisp/gc.c @@ -1,7 +1,7 @@ /* * Stop and Copy GC based on Cheney's algorithm. * - * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/gc.c,v 1.7 1994/03/27 15:17:01 hallgren Exp $ + * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/gc.c,v 1.8 1994/07/05 16:07:20 hallgren Exp $ * * Written by Christopher Hoover. */ @@ -466,8 +466,13 @@ static void scavenge_interrupt_context(struct sigcontext *context) /* Scanvenge all boxed registers in the context. */ for (i = 0; i < (sizeof(boxed_registers) / sizeof(int)); i++) { int index; + lispobj foo; index = boxed_registers[i]; + foo = SC_REG(context,index); + scavenge((lispobj *) &foo, 1); + SC_REG(context,index) = foo; + scavenge((lispobj *) &(SC_REG(context, index)), 1); } @@ -682,7 +687,7 @@ trans_code(struct code *code) prev_pointer = &nfheaderp->next; } -#ifdef hpux +#ifndef MACH os_flush_icache((os_vm_address_t) (((int *)new_code) + nheader_words), ncode_words * sizeof(int)); #endif diff --git a/lisp/interrupt.c b/lisp/interrupt.c index 28738babd995fda508feed65f9ed1235dd1236a8..91e8e8fb92e213f2fc9bed26eb29ae755be342ae 100644 --- a/lisp/interrupt.c +++ b/lisp/interrupt.c @@ -1,13 +1,15 @@ -/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/interrupt.c,v 1.3 1994/03/27 15:32:03 hallgren Exp $ */ +/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/interrupt.c,v 1.4 1994/07/05 16:08:03 hallgren Exp $ */ /* Interrupt handing magic. */ #include <stdio.h> #include <signal.h> +#ifdef mach #ifdef mips #include <mips/cpu.h> #endif +#endif #include "lisp.h" #include "internals.h" diff --git a/lisp/lisp.c b/lisp/lisp.c index 3f5e1dc27df68707e5c236d5b1494fe58efc7151..0ad18c18d77bf0e24d222e84da1fb6cc8dabd487 100644 --- a/lisp/lisp.c +++ b/lisp/lisp.c @@ -1,7 +1,7 @@ /* * main() entry point for a stand alone lisp image. * - * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/lisp.c,v 1.6 1994/03/10 16:34:14 wlott Exp $ + * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/lisp.c,v 1.7 1994/07/05 16:10:16 hallgren Exp $ * */ @@ -29,6 +29,11 @@ #include "save.h" #include "lispregs.h" +#ifdef irix +#include <string.h> +#include "interr.h" +#endif + /* SIGINT handler that invokes the monitor. */ @@ -110,7 +115,9 @@ void main(int argc, char *argv[], char *envp[]) default_core = "lisp.core"; if (core == NULL) { +#ifndef irix extern char *getenv(char *var); +#endif static char buf[MAXPATHLEN]; char *lib = getenv("CMUCLLIB"); diff --git a/lisp/lispregs.h b/lisp/lispregs.h index e7071dfc89916fa90f4ba3e19a12760c0f3c3ae0..5a912967918e0e1f972ac3442ad134dc77f5a68a 100644 --- a/lisp/lispregs.h +++ b/lisp/lispregs.h @@ -1,6 +1,6 @@ -/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/lispregs.h,v 1.2 1994/03/27 15:20:39 hallgren Exp $ */ +/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/lispregs.h,v 1.3 1994/07/05 16:10:38 hallgren Exp $ */ -#ifdef mips +#if defined(mips) || defined(irix) #include "mips-lispregs.h" #endif diff --git a/lisp/os.h b/lisp/os.h index cca772966fba46a00b1f97ced4d677559db0fa93..ac18e2af025dd84b581cdc11f5bcbe5cf85d69a3 100644 --- a/lisp/os.h +++ b/lisp/os.h @@ -1,5 +1,5 @@ /* - * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/os.h,v 1.3 1994/03/27 15:22:39 hallgren Exp $ + * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/os.h,v 1.4 1994/07/05 16:11:22 hallgren Exp $ * * Common interface for os-dependent functions. * @@ -22,6 +22,10 @@ #else #ifdef osf1 #include "osf1-os.h" +#else +#ifdef irix +#include "irix-os.h" +#endif #endif #endif #endif diff --git a/lisp/undefineds.h b/lisp/undefineds.h index 3d2c59e70dd4db3215e3ac9bced00952615b845a..8c6c9dc522190f162c715e352514807244925688 100644 --- a/lisp/undefineds.h +++ b/lisp/undefineds.h @@ -1,5 +1,5 @@ /* Routines that must be linked into the core for lisp to work. */ -/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/undefineds.h,v 1.3 1994/03/27 15:24:12 hallgren Exp $ */ +/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/undefineds.h,v 1.4 1994/07/05 16:11:04 hallgren Exp $ */ /* Pick up all the syscalls. */ accept, @@ -71,7 +71,7 @@ open, pipe, profil, ptrace, -#if !defined(SUNOS) && !defined(parisc) && !defined(osf1) +#if !defined(SUNOS) && !defined(parisc) && !defined(osf1) && !defined(irix) quota, #endif read, @@ -96,7 +96,7 @@ sethostname, setitimer, setpgrp, setpriority, -#if !defined(SUNOS) && !defined(parisc) && !defined(osf1) +#if !defined(SUNOS) && !defined(parisc) && !defined(osf1) && !defined(irix) setquota, #endif #ifndef hpux @@ -109,7 +109,7 @@ settimeofday, shutdown, sigblock, sigpause, -#if !defined(ibmrt) && !defined(hpux) +#if !defined(ibmrt) && !defined(hpux) && !defined(irix) sigreturn, #endif sigsetmask, @@ -118,7 +118,9 @@ sigvec, socket, socketpair, stat, +#ifndef irix swapon, +#endif symlink, sync, syscall, @@ -126,6 +128,8 @@ syscall, closedir, opendir, readdir, +#endif +#if defined(hpux) || defined(irix) tcgetattr, tcsetattr, #endif @@ -138,7 +142,9 @@ unlink, #ifndef hpux utimes, #endif +#ifndef irix vfork, +#endif #ifndef osf1 vhangup, #endif @@ -187,3 +193,6 @@ gethostbyaddr, getwd, ttyname +#ifdef irix +,_getpty +#endif