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