ISIS is a system for building reliable, distributed systems. It is available from ftp.cs.cornell.edu as /pub/ISISV21.TAR.Z. To build it, apply these diffs, and then type 'make LINUX'. After it has built, you will need to modify LINUX/run_demos/sites in order to get it to run at your site. Note: there is a problem if you use optimization with gcc 2.4.5 in clib/ and protos/. The threads library does not work with optimiztion on. I have not looked into the reason it fails, I have just turned optimization off in these modules. Building: Get distribution from ftp.cs.cornell.edu. % zcat ISISV21.TAR.Z | tar xvf - % patch < this_patch_filename % cd isisv2.1 % make LINUX Gordon Chaffee chaffee@bugs-bunny.cs.berkeley.edu -------------------- Patch Begins Here ----------------------------------- diff -u --recursive --new-file isisv2.1.orig/BINARY-TEMPLATE/clib/makefile isisv2.1/BINARY-TEMPLATE/clib/makefile --- isisv2.1.orig/BINARY-TEMPLATE/clib/makefile Wed Sep 12 17:26:00 1990 +++ isisv2.1/BINARY-TEMPLATE/clib/makefile Wed Dec 1 17:49:01 1993 @@ -1,6 +1,8 @@ # $RCSfile: makefile,v $ $Revision: 2.104 $ $Date: 90/09/12 13:25:58 $ SHELL = /bin/sh -CFLAGS = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) $(OPTIM) +#CFLAGS = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) $(OPTIM) +# gcc produces bad code in the Threads section when optimization is on +CFLAGS = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) CFLAGSNOOPT = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) CPPFLAGS = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) DBGCFLAGS = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) -g diff -u --recursive --new-file isisv2.1.orig/BINARY-TEMPLATE/protos/makefile isisv2.1/BINARY-TEMPLATE/protos/makefile --- isisv2.1.orig/BINARY-TEMPLATE/protos/makefile Tue Sep 18 12:38:24 1990 +++ isisv2.1/BINARY-TEMPLATE/protos/makefile Wed Dec 1 17:49:19 1993 @@ -2,7 +2,9 @@ SHELL=/bin/sh S = ../../protos DFLAGS = -CFLAGS = -I../../include $(OPTIM) -D$(MCHTYPE) $(MCHDEPCFLAGS) +#CFLAGS = -I../../include $(OPTIM) -D$(MCHTYPE) $(MCHDEPCFLAGS) +# gcc produces bad code in the Threads section when optimization is on +CFLAGS = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) CFLAGSNOOPT = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) CPPFLAGS = -I../../include -D$(MCHTYPE) LIBFILES = ../mlib/libisism.a $(OPLIBS) diff -u --recursive --new-file isisv2.1.orig/FILES/LINUX.MAKEFILE isisv2.1/FILES/LINUX.MAKEFILE --- isisv2.1.orig/FILES/LINUX.MAKEFILE +++ isisv2.1/FILES/LINUX.MAKEFILE Thu Oct 7 15:57:44 1993 @@ -0,0 +1,87 @@ +# $RCSfile: makefile,v $ $Revision: 1.6 $ $Date: 90/08/07 09:21:57 $ +SHELL = /bin/sh +MCH = MCHTYPE=i386 + +MCHDEP = $(MCH) MCHDEPCFLAGS="" OPLIBS= +# Use the following line if you want to use Sun lightweight tasks. +#MCHDEP = $(MCH) MCHDEPCFLAGS="-DSUNLWP" OPLIBS=-llwp +# Use the following line if you want to enable bypass communication mode. +#MCHDEP = $(MCH) MCHDEPCFLAGS="-DNOSUNLWP -DBYPASS" OPLIBS= + +# The following lines define useful sets of options for using either the +# gcc compiler or the standard C compiler on your system. +OPTIMSTD = CC=cc OPTIM="-O3" +DEBUGSTD = CC=cc OPTIM="-g" +OPTIMGCC = CC=gcc OPTIM="-g -O" +DEBUGGCC = CC=gcc OPTIM="-g" +WARNGCC = CC=gcc OPTIM="-g -O -W" +WALLGCC = CC=gcc OPTIM="-g -Wall -O" +NOWARNGCC = CC=gcc OPTIM="-g -w -O" + +#ALLEGRO_DIR = /usr/u/isis/allegro4/run/ +#ALLEGRO_DEP = $(MCH) MCHDEPCFLAGS="-DALLEGRO_CL -DNOALARMS -I$(ALLEGRO_DIR)lib/misc" OPTIM=-g + +#LUCID_DEP = $(MCH) MCHDEPCFLAGS="-DLUCID_CL" OPTIM=-g + +all: readme mlib clib protos util demos + +readme: + @cat README + +allegro: allegro_action +lucid: lucid_action +protos: pr_action +clib: cl_action +mlib: ml_action +util: ut_action +demos: de_action + +allegro_action: + cd allegro_clib; make allegro_clib $(ALLEGRO_DEP) ; cd .. +lucid_action: + cd lucid_clib; make lucid_clib $(LUCID_DEP) ; cd .. +pr_action: + cd protos; make $(MCHDEP) $(OPTIMSTD) ; cd .. +cl_action: + cd clib; make $(MCHDEP) $(OPTIMSTD) ; cd .. +ml_action: + cd mlib; make $(MCHDEP) $(OPTIMSTD) ; cd .. +ut_action: + cd util; make $(MCHDEP) $(OPTIMSTD) ; cd .. +de_action: + cd demos; make $(MCHDEP) $(OPTIMSTD) ; cd .. + +UTILPROGS = cmd isis lmgr news prstat rexec \ + rmgr rmgr_cmd spooler tabex xmgr +DEMOPROGS = bank fortran_test grid lh_sp_test lisp_test \ + qa selftest silentjoins sun_grid teller testjoins \ + testtasks twenty wanClient wanServer spread + +install: + (cd bin; /bin/rm -f protos $(UTILPROGS) $(DEMOPROGS) ) + - (cd demos/pmk; make install ) + ln protos/protos bin + (cd util; ln $(UTILPROGS) ../bin ) + - (cd demos; ln $(DEMOPROGS) ../bin ) + /bin/rm -f lib/libisis1.a lib/libisis2.a lib/libisism.a + ln clib/libisis1.a clib/libisis2.a mlib/libisism.a lib + +clean: + /bin/rm -f protos/*.[os] clib/*.[os] mlib/*.o util/*.o demos/*.o + /bin/rm -f util/cmd[ly].[ch] + - (cd demos/pmk; make clean ) + - /bin/rm -f allegro_clib/*.[os] lucid_clib/*.[os] + +realclean: clean + - (cd demos/pmk; make realclean ) + /bin/rm -f protos/protos + (cd util; /bin/rm -f $(UTILPROGS) ) + (cd demos; /bin/rm -f $(DEMOPROGS) ) + /bin/rm -f bin/* + /bin/rm -f clib/libisis1.a clib/libisis2.a mlib/libisism.a + /bin/rm -f lib/*.a + - (cd allegro_clib; /bin/rm -f *.fasl libisis1.a libisis2.a libisism.a *.a ) + - (cd lucid_clib; /bin/rm -f *.sbin libisis1.a libisis2.a libisism.a *.a ) + (cd run_demos; /bin/rm -f *.log core ) + (cd run_isis; /bin/rm -f *.log core ) + diff -u --recursive --new-file isisv2.1.orig/FILES/LINUX.MAKEFILE~ isisv2.1/FILES/LINUX.MAKEFILE~ --- isisv2.1.orig/FILES/LINUX.MAKEFILE~ +++ isisv2.1/FILES/LINUX.MAKEFILE~ Thu Oct 7 14:55:59 1993 @@ -0,0 +1,87 @@ +# $RCSfile: makefile,v $ $Revision: 1.6 $ $Date: 90/08/07 09:21:57 $ +SHELL = /bin/sh +MCH = MCHTYPE=SUN4 + +MCHDEP = $(MCH) MCHDEPCFLAGS="" OPLIBS= +# Use the following line if you want to use Sun lightweight tasks. +#MCHDEP = $(MCH) MCHDEPCFLAGS="-DSUNLWP" OPLIBS=-llwp +# Use the following line if you want to enable bypass communication mode. +#MCHDEP = $(MCH) MCHDEPCFLAGS="-DNOSUNLWP -DBYPASS" OPLIBS= + +# The following lines define useful sets of options for using either the +# gcc compiler or the standard C compiler on your system. +OPTIMSTD = CC=cc OPTIM="-O3" +DEBUGSTD = CC=cc OPTIM="-g" +OPTIMGCC = CC=gcc OPTIM="-g -O" +DEBUGGCC = CC=gcc OPTIM="-g" +WARNGCC = CC=gcc OPTIM="-g -O -W" +WALLGCC = CC=gcc OPTIM="-g -Wall -O" +NOWARNGCC = CC=gcc OPTIM="-g -w -O" + +#ALLEGRO_DIR = /usr/u/isis/allegro4/run/ +#ALLEGRO_DEP = $(MCH) MCHDEPCFLAGS="-DALLEGRO_CL -DNOALARMS -I$(ALLEGRO_DIR)lib/misc" OPTIM=-g + +#LUCID_DEP = $(MCH) MCHDEPCFLAGS="-DLUCID_CL" OPTIM=-g + +all: readme mlib clib protos util demos + +readme: + @cat README + +allegro: allegro_action +lucid: lucid_action +protos: pr_action +clib: cl_action +mlib: ml_action +util: ut_action +demos: de_action + +allegro_action: + cd allegro_clib; make allegro_clib $(ALLEGRO_DEP) ; cd .. +lucid_action: + cd lucid_clib; make lucid_clib $(LUCID_DEP) ; cd .. +pr_action: + cd protos; make $(MCHDEP) $(OPTIMSTD) ; cd .. +cl_action: + cd clib; make $(MCHDEP) $(OPTIMSTD) ; cd .. +ml_action: + cd mlib; make $(MCHDEP) $(OPTIMSTD) ; cd .. +ut_action: + cd util; make $(MCHDEP) $(OPTIMSTD) ; cd .. +de_action: + cd demos; make $(MCHDEP) $(OPTIMSTD) ; cd .. + +UTILPROGS = cmd isis lmgr news prstat rexec \ + rmgr rmgr_cmd spooler tabex xmgr +DEMOPROGS = bank fortran_test grid lh_sp_test lisp_test \ + qa selftest silentjoins sun_grid teller testjoins \ + testtasks twenty wanClient wanServer spread + +install: + (cd bin; /bin/rm -f protos $(UTILPROGS) $(DEMOPROGS) ) + - (cd demos/pmk; make install ) + ln protos/protos bin + (cd util; ln $(UTILPROGS) ../bin ) + - (cd demos; ln $(DEMOPROGS) ../bin ) + /bin/rm -f lib/libisis1.a lib/libisis2.a lib/libisism.a + ln clib/libisis1.a clib/libisis2.a mlib/libisism.a lib + +clean: + /bin/rm -f protos/*.[os] clib/*.[os] mlib/*.o util/*.o demos/*.o + /bin/rm -f util/cmd[ly].[ch] + - (cd demos/pmk; make clean ) + - /bin/rm -f allegro_clib/*.[os] lucid_clib/*.[os] + +realclean: clean + - (cd demos/pmk; make realclean ) + /bin/rm -f protos/protos + (cd util; /bin/rm -f $(UTILPROGS) ) + (cd demos; /bin/rm -f $(DEMOPROGS) ) + /bin/rm -f bin/* + /bin/rm -f clib/libisis1.a clib/libisis2.a mlib/libisism.a + /bin/rm -f lib/*.a + - (cd allegro_clib; /bin/rm -f *.fasl libisis1.a libisis2.a libisism.a *.a ) + - (cd lucid_clib; /bin/rm -f *.sbin libisis1.a libisis2.a libisism.a *.a ) + (cd run_demos; /bin/rm -f *.log core ) + (cd run_isis; /bin/rm -f *.log core ) + diff -u --recursive --new-file isisv2.1.orig/FILES/LINUX.README isisv2.1/FILES/LINUX.README --- isisv2.1.orig/FILES/LINUX.README +++ isisv2.1/FILES/LINUX.README Thu Oct 7 14:47:44 1993 @@ -0,0 +1,9 @@ +How to enable BYPASS communication: + + Release 2.1 of ISIS provides the "BYPASS" communication mode which + can speed up multicast up to 10 times over normal ISIS multicasts. + To enable this, uncomment the appropriate line that defines the MCHDEP + compiler option, near the beginning of this makefile. + This will supply the -DBYPASS option to the compiler. + +Ken diff -u --recursive --new-file isisv2.1.orig/FILES/LINUX.README~ isisv2.1/FILES/LINUX.README~ --- isisv2.1.orig/FILES/LINUX.README~ +++ isisv2.1/FILES/LINUX.README~ Thu Oct 7 14:47:38 1993 @@ -0,0 +1,14 @@ +How to enable BYPASS communication: + + Release 2.1 of ISIS provides the "BYPASS" communication mode which + can speed up multicast up to 10 times over normal ISIS multicasts. + To enable this, uncomment the appropriate line that defines the MCHDEP + compiler option, near the beginning of this makefile. + This will supply the -DBYPASS option to the compiler. + +Note to SUN4 ISISV2.1 users: + + We have begun to disable lwp by default to save on code size and improve + performance. You are free to do otherwise. + +Ken diff -u --recursive --new-file isisv2.1.orig/Makefile isisv2.1/Makefile --- isisv2.1.orig/Makefile Wed Sep 12 17:15:22 1990 +++ isisv2.1/Makefile Thu Oct 7 14:55:35 1993 @@ -1,5 +1,5 @@ HOSTS = AIX-RS AIX-RT AIX-RT43 APOLLO AUX DEC2100 DEC3100 GOULD HPSPECT \ - HPUX MACH MIPS NEXT SGI SUN3 SUN4 VAX CONVEX + HPUX LINUX MACH MIPS NEXT SGI SUN3 SUN4 VAX CONVEX help: @cat README @@ -73,6 +73,12 @@ @cp FILES/MACH.README MACH/README @cp FILES/MACH.MAKEFILE MACH/makefile @date > MACH_DIR_MADE +LINUX_DIR_MADE: + @echo "Creating binary area..." + @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir LINUX; cd LINUX; tar -xf -) + @cp FILES/LINUX.README LINUX/README + @cp FILES/LINUX.MAKEFILE LINUX/makefile + @date > LINUX_DIR_MADE MIPS_DIR_MADE: @echo "Creating binary area..." @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir MIPS; cd MIPS; tar -xf -) @@ -140,6 +146,8 @@ cd HPSPECT; make; make install; date > HPSPECT_LAST_MAKE HPUX: HPUX_DIR_MADE HPUX_LAST_MAKE cd HPUX; make; make install; date > HPUX_LAST_MAKE +LINUX: LINUX_DIR_MADE LINUX_LAST_MAKE + cd LINUX; make; make install; date > LINUX_LAST_MAKE MACH: MACH_DIR_MADE MACH_LAST_MAKE cd MACH; make; make install; date > MACH_LAST_MAKE MIPS: MIPS_DIR_MADE MIPS_LAST_MAKE @@ -165,6 +173,7 @@ GOULD_LAST_MAKE: HPSPECT_LAST_MAKE: HPUX_LAST_MAKE: +LINUX_LAST_MAKE: MACH_LAST_MAKE: MIPS_LAST_MAKE: NEXT_LAST_MAKE: diff -u --recursive --new-file isisv2.1.orig/Makefile.orig isisv2.1/Makefile.orig --- isisv2.1.orig/Makefile.orig Mon Aug 27 20:44:38 1990 +++ isisv2.1/Makefile.orig @@ -1,159 +0,0 @@ -HOSTS = AIX-RS AIX-RT AIX-RT43 APOLLO AUX DEC2100 DEC3100 GOULD HPSPECT \ - HPUX MACH MIPS NEXT SUN3 SUN4 VAX - -help: - @cat README - @echo "Normal usage: \"make MCHTYPE\"" - @echo "Valid types: " $(HOSTS) - -AIX-RS_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir AIX-RS; cd AIX-RS; tar -xf -) - @cp FILES/AIX-RS.README AIX-RS/README - @cp FILES/AIX-RS.MAKEFILE AIX-RS/makefile - @date > AIX-RS_DIR_MADE -AIX-RT_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir AIX-RT; cd AIX-RT; tar -xf -) - @cp FILES/AIX-RT.README AIX-RT/README - @cp FILES/AIX-RT.MAKEFILE AIX-RT/makefile - @cp FILES/remake-links AIX-RT - @date > AIX-RT_DIR_MADE -AIX-RT43_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir AIX-RT43; cd AIX-RT43; tar -xf -) - @cp FILES/AIX-RT43.README AIX-RT43/README - @cp FILES/AIX-RT43.MAKEFILE AIX-RT43/makefile - @date > AIX-RT43_DIR_MADE -APOLLO_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir APOLLO; cd APOLLO; tar -xf -) - @cp FILES/APOLLO.README APOLLO/README - @cp FILES/APOLLO.MAKEFILE APOLLO/makefile - @date > APOLLO_DIR_MADE -AUX_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir AUX; cd AUX; tar -xf -) - @cp FILES/AUX.README AUX/README - @cp FILES/AUX.MAKEFILE AUX/makefile - @date > AUX_DIR_MADE -DEC2100_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir DEC2100; cd DEC2100; tar -xf -) - @cp FILES/DEC2100.README DEC2100/README - @cp FILES/DEC2100.MAKEFILE DEC2100/makefile - @date > DEC2100_DIR_MADE -DEC3100_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir DEC3100; cd DEC3100; tar -xf -) - @cp FILES/DEC3100.README DEC3100/README - @cp FILES/DEC3100.MAKEFILE DEC3100/makefile - @date > DEC3100_DIR_MADE -GOULD_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir GOULD; cd GOULD; tar -xf -) - @cp FILES/GOULD.README GOULD/README - @cp FILES/GOULD.MAKEFILE GOULD/makefile - @date > GOULD_DIR_MADE -HPSPECT_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir HPSPECT; cd HPSPECT; tar -xf -) - @cp FILES/HPSPECT.README HPSPECT/README - @cp FILES/HPSPECT.MAKEFILE HPSPECT/makefile - @date > HPSPECT_DIR_MADE -HPUX_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir HPUX; cd HPUX; tar -xf -) - @cp FILES/HPUX.README HPUX/README - @cp FILES/HPUX.MAKEFILE HPUX/makefile - @date > HPUX_DIR_MADE -MACH_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir MACH; cd MACH; tar -xf -) - @cp FILES/MACH.README MACH/README - @cp FILES/MACH.MAKEFILE MACH/makefile - @date > MACH_DIR_MADE -MIPS_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir MIPS; cd MIPS; tar -xf -) - @cp FILES/MIPS.README MIPS/README - @cp FILES/MIPS.MAKEFILE MIPS/makefile - @date > MIPS_DIR_MADE -NEXT_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir NEXT; cd NEXT; tar -xf -) - @cp FILES/NEXT.README NEXT/README - @cp FILES/NEXT.MAKEFILE NEXT/makefile - @date > NEXT_DIR_MADE -SUN3_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir SUN3; cd SUN3; tar -xf -) - @cp FILES/SUN3.README SUN3/README - @cp FILES/SUN3.MAKEFILE SUN3/makefile - @csh FILES/make-lisp-dirs SUN3 - @date > SUN3_DIR_MADE - @ln -s SUN3 mach-mc68020 -SUN4_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir SUN4; cd SUN4; tar -xf -) - @cp FILES/SUN4.README SUN4/README - @cp FILES/SUN4.MAKEFILE SUN4/makefile - @csh FILES/make-lisp-dirs SUN4 - @ln -s SUN4 mach-sparc - @date > SUN4_DIR_MADE -VAX_DIR_MADE: - @echo "Creating binary area..." - @(cd BINARY-TEMPLATE; tar -cf - .) | (mkdir VAX; cd VAX; tar -xf -) - @cp FILES/VAX.README VAX/README - @cp FILES/VAX.MAKEFILE VAX/makefile - @date > VAX_DIR_MADE - -AIX-RS: AIX-RS_DIR_MADE AIX-RS_LAST_MAKE - cd AIX-RS; make; make install; date > AIX-RS_LAST_MAKE -AIX-RT: AIX-RT_DIR_MADE AIX-RT_LAST_MAKE - cd AIX-RT; make; make install; date > AIX-RT_LAST_MAKE -AIX-RT43: AIX-RT43_DIR_MADE AIX-RT43_LAST_MAKE - cd AIX-RT43; make; make install; date > AIX-RT43_LAST_MAKE -APOLLO: APOLLO_DIR_MADE APOLLO_LAST_MAKE - cd APOLLO; make; make install; date > APOLLO_LAST_MAKE -AUX: AUX_DIR_MADE AUX_LAST_MAKE - cd AUX; make; make install; date > AUX_LAST_MAKE -DEC2100: DEC2100_DIR_MADE DEC2100_LAST_MAKE - cd DEC2100; make; make install; date > DEC2100_LAST_MAKE -DEC3100: DEC3100_DIR_MADE DEC3100_LAST_MAKE - cd DEC3100; make; make install; date > DEC3100_LAST_MAKE -GOULD: GOULD_DIR_MADE GOULD_LAST_MAKE - cd GOULD; make; make install; date > GOULD_LAST_MAKE -HPSPECT: HPSPECT_DIR_MADE HPSPECT_LAST_MAKE - cd HPSPECT; make; make install; date > HPSPECT_LAST_MAKE -HPUX: HPUX_DIR_MADE HPUX_LAST_MAKE - cd HPUX; make; make install; date > HPUX_LAST_MAKE -MACH: MACH_DIR_MADE MACH_LAST_MAKE - cd MACH; make; make install; date > MACH_LAST_MAKE -MIPS: MIPS_DIR_MADE MIPS_LAST_MAKE - cd MIPS; make; make install; date > MIPS_LAST_MAKE -NEXT: NEXT_DIR_MADE NEXT_LAST_MAKE - cd NEXT; make; make install; date > NEXT_LAST_MAKE -SUN3: SUN3_DIR_MADE SUN3_LAST_MAKE - cd SUN3; make; make install; date > SUN3_LAST_MAKE -SUN4: SUN4_DIR_MADE SUN4_LAST_MAKE - cd SUN4; make; make install; date > SUN4_LAST_MAKE -VAX: VAX_DIR_MADE VAX_LAST_MAKE - cd VAX; make; make install; date > VAX_LAST_MAKE - -AIX-RS_LAST_MAKE: -AIX-RT_LAST_MAKE: -AIX-RT43_LAST_MAKE: -APOLLO_LAST_MAKE: -AUX_LAST_MAKE: -DEC2100_LAST_MAKE: -DEC3100_LAST_MAKE: -GOULD_LAST_MAKE: -HPSPECT_LAST_MAKE: -HPUX_LAST_MAKE: -MACH_LAST_MAKE: -MIPS_LAST_MAKE: -NEXT_LAST_MAKE: -SUN3_LAST_MAKE: -SUN4_LAST_MAKE: -VAX_LAST_MAKE: diff -u --recursive --new-file isisv2.1.orig/clib/cl_task.c isisv2.1/clib/cl_task.c --- isisv2.1.orig/clib/cl_task.c Fri Sep 14 02:40:08 1990 +++ isisv2.1/clib/cl_task.c Mon Oct 11 21:41:24 1993 @@ -45,10 +45,10 @@ /* On some machine setjmp and longjmp work fine for ISIS */ #ifndef THREADS -# if (AIXRS|GOULD|hp9000s800|NEXT|MIPS|RT43|SGI|CONVEX) +# if (AIXRS|GOULD|hp9000s800|NEXT|MIPS|RT43|SGI|CONVEX|linux) # define isis_setjmp _setjmp # define isis_longjmp _longjmp -# endif (AIXRS|GOULD|hp9000s800|NEXT|MIPS|RT43|SGI|CONVEX) +# endif (AIXRS|GOULD|hp9000s800|NEXT|MIPS|RT43|SGI|CONVEX|linux) # if (AIX) # define isis_setjmp setjmp # define isis_longjmp longjmp @@ -442,6 +442,13 @@ stackp = &tp->task_stack[STACKLEN-(2 words)]; stackp = (char*)((int)stackp & ~0x3); asm("movl _stackp,sp"); + } +# endif +# if(linux) + { + stackp = &tp->task_stack[STACKLEN-(2 words)]; + stackp = (char*)((int)stackp & ~0x3); + asm("movl _stackp,%esp"); } # endif # if(GOULD) diff -u --recursive --new-file isisv2.1.orig/clib/isis.h isisv2.1/clib/isis.h --- isisv2.1.orig/clib/isis.h Wed Sep 12 17:25:58 1990 +++ isisv2.1/clib/isis.h Wed Oct 20 21:10:12 1993 @@ -512,6 +512,7 @@ void t_printable_name(char *str, VOID *arg); void isis_timeout_cancel (int tid); +int isis_next_timeout (); int alist_len (address *alist); char *cl_getrname (int entry); int isis_init (int CLIENT_PORT); @@ -542,6 +543,7 @@ #else void isis_timeout_cancel (); +int isis_next_timeout (); event_id *bc_getevent(); sview *site_getview(); /* Gets a site-view */ diff -u --recursive --new-file isisv2.1.orig/clib/makefile isisv2.1/clib/makefile --- isisv2.1.orig/clib/makefile Wed Sep 12 17:26:00 1990 +++ isisv2.1/clib/makefile Wed Dec 1 17:49:01 1993 @@ -1,6 +1,8 @@ # $RCSfile: makefile,v $ $Revision: 2.104 $ $Date: 90/09/12 13:25:58 $ SHELL = /bin/sh -CFLAGS = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) $(OPTIM) +#CFLAGS = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) $(OPTIM) +# gcc produces bad code in the Threads section when optimization is on +CFLAGS = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) CFLAGSNOOPT = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) CPPFLAGS = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) DBGCFLAGS = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) -g diff -u --recursive --new-file isisv2.1.orig/demos/spread.h isisv2.1/demos/spread.h --- isisv2.1.orig/demos/spread.h Mon Sep 17 15:24:00 1990 +++ isisv2.1/demos/spread.h Thu Oct 7 16:35:37 1993 @@ -215,7 +215,7 @@ #ifdef HPUX long time(); #else -# ifndef MACH +# if !(defined(MACH) || defined(linux)) int time(); # endif MACH #endif HPUX diff -u --recursive --new-file isisv2.1.orig/include/cmdy.h isisv2.1/include/cmdy.h --- isisv2.1.orig/include/cmdy.h Fri Sep 7 20:40:08 1990 +++ isisv2.1/include/cmdy.h Thu Oct 7 17:14:22 1993 @@ -1,31 +1,20 @@ -/* $RCSfile: cmdy.h,v $ $Revision: 2.0 $ $Date: 90/05/04 15:23:39 $ */ -/* - * - * ISIS release V2.0, May 1990 - * Export restrictions apply - * - * The contents of this file are subject to a joint, non-exclusive - * copyright by members of the ISIS Project. Permission is granted for - * use of this material in unmodified form in commercial or research - * settings. Creation of derivative forms of this software may be - * subject to restriction; obtain written permission from the ISIS Project - * in the event of questions or for special situations. - * -- Copyright (c) 1990, The ISIS PROJECT - */ -# define SITES 257 -# define GROUP 258 -# define SEND 259 -# define DUMP 260 -# define PR_DUMP 261 -# define SHUTDOWN 262 -# define HELP 263 -# define PLUS_V 264 -# define MINUS_V 265 -# define STATUS 266 -# define QUIT 267 -# define NAME 268 -# define NUMBER 269 -# define STRING 270 -# define CR 271 -# define ARG 272 -# define ERROR 273 +#define SITES 257 +#define LIST 258 +#define GROUP 259 +#define SEND 260 +#define DUMP 261 +#define PR_DUMP 262 +#define PR_SNAP 263 +#define PR_RESCAN 264 +#define SHUTDOWN 265 +#define HELP 266 +#define PLUS_V 267 +#define MINUS_V 268 +#define STATUS 269 +#define QUIT 270 +#define NAME 271 +#define NUMBER 272 +#define STRING 273 +#define CR 274 +#define ARG 275 +#define ERROR 276 diff -u --recursive --new-file isisv2.1.orig/include/spread.h isisv2.1/include/spread.h --- isisv2.1.orig/include/spread.h Mon Sep 17 15:24:00 1990 +++ isisv2.1/include/spread.h Thu Oct 7 16:35:37 1993 @@ -215,7 +215,7 @@ #ifdef HPUX long time(); #else -# ifndef MACH +# if !(defined(MACH) || defined(linux)) int time(); # endif MACH #endif HPUX diff -u --recursive --new-file isisv2.1.orig/protos/makefile isisv2.1/protos/makefile --- isisv2.1.orig/protos/makefile Tue Sep 18 12:38:24 1990 +++ isisv2.1/protos/makefile Wed Dec 1 17:49:19 1993 @@ -2,7 +2,9 @@ SHELL=/bin/sh S = ../../protos DFLAGS = -CFLAGS = -I../../include $(OPTIM) -D$(MCHTYPE) $(MCHDEPCFLAGS) +#CFLAGS = -I../../include $(OPTIM) -D$(MCHTYPE) $(MCHDEPCFLAGS) +# gcc produces bad code in the Threads section when optimization is on +CFLAGS = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) CFLAGSNOOPT = -I../../include -D$(MCHTYPE) $(MCHDEPCFLAGS) CPPFLAGS = -I../../include -D$(MCHTYPE) LIBFILES = ../mlib/libisism.a $(OPLIBS) diff -u --recursive --new-file isisv2.1.orig/protos/pr_client.c isisv2.1/protos/pr_client.c --- isisv2.1.orig/protos/pr_client.c Tue Sep 18 18:33:43 1990 +++ isisv2.1/protos/pr_client.c Thu Oct 7 16:28:01 1993 @@ -174,7 +174,9 @@ # endif if(snum >= MAXBITS) panic("socket_no > MAXBITS"); +#ifndef linux fcntl(snum, F_SETFL, FNDELAY); +#endif if(snum == 0 || snum > 127) panic("Unexpected fdes %d in client_accept", snum); diff -u --recursive --new-file isisv2.1.orig/protos/pr_task.c isisv2.1/protos/pr_task.c --- isisv2.1.orig/protos/pr_task.c Wed Sep 12 17:28:00 1990 +++ isisv2.1/protos/pr_task.c Mon Oct 11 21:40:14 1993 @@ -28,7 +28,7 @@ /* On some machine setjmp and longjmp work fine for ISIS */ #ifndef THREADS -# if (AIXRS|GOULD|hp9000s800|NEXT|MIPS|RT43|SGI|CONVEX) +# if (AIXRS|GOULD|hp9000s800|NEXT|MIPS|RT43|SGI|CONVEX|linux) # define isis_setjmp _setjmp # define isis_longjmp _longjmp # endif (AIXRS|GOULD|hp9000s800|NEXT|MIPS|RT43|SGI|CONVEX) @@ -295,6 +295,13 @@ stackp = (char*)((((int)stackp+7) & ~0x7)+ 48); set_sp(stackp); #endif hp9000s800 + } +# endif +# if(linux) + { + stackp = &ctp->task_stack[STACKLEN-(2 words)]; + stackp = (char*)((int)stackp & ~0x3); + asm("movl _stackp,%esp"); } # endif # if(MIPS|AIX|RT43|SGI) diff -u --recursive --new-file isisv2.1.orig/util/cmdl.l isisv2.1/util/cmdl.l --- isisv2.1.orig/util/cmdl.l Fri Sep 7 20:40:07 1990 +++ isisv2.1/util/cmdl.l Mon Oct 11 13:39:36 1993 @@ -15,6 +15,59 @@ #define retcmd(x) if (cmd) { cmd=0; return x; } else return NAME +/* int yywrap() { return 1;} */ +%} + +/*****************************************************************************/ +/* lexical definitions +/*****************************************************************************/ + +%% + +sites | +si { ypush(); retcmd(SITES); } +list | +l { ypush(); retcmd(LIST); } +group | +g { ypush(); retcmd(GROUP); } +send | +s { ypush(); retcmd(SEND); } +dump | +d { ypush(); retcmd(DUMP); } +pr_dump | +pd { ypush(); retcmd(PR_DUMP); } +rescan | +re { ypush(); retcmd(PR_RESCAN); } +shutdown | +sd { ypush(); retcmd(SHUTDOWN); } +snapshot | +snap { ypush(); retcmd(PR_SNAP); } +help | +h | +"?" { ypush(); retcmd(HELP); } +"+v" { ypush(); retcmd(PLUS_V); } +"-v" { ypush(); retcmd(MINUS_V); } +status | +st { ypush(); retcmd(STATUS); } +quit | +q { ypush(); retcmd(QUIT); } + +[a-zA-Z_$][a-zA-Z0-9_$]* { ypush(); return NAME; } +("+"|"-")?[0-9]+ { ypush(); return NUMBER; } + +\"[^\"]*\" { ypushs(); return STRING; } +\"[^\"\n]*/\n { printf(" *** missing \"\n"); return ERROR; } + +":" { ypush(); return ':'; } +"@" { ypush(); return '@'; } +\n { ypush(); return CR; } +";" { ypush(); cmd = 1; return ';'; } +[ \t]+ ; +[^\":@\n; \t]+ { ypush(); return ARG; } + + + +%% cmdl_reset(argv) char *argv[]; { @@ -66,55 +119,5 @@ return; } -int yywrap() { return 1;} - - -%} - -/*****************************************************************************/ -/* lexical definitions -/*****************************************************************************/ - -%% - -sites | -si { ypush(); retcmd(SITES); } -list | -l { ypush(); retcmd(LIST); } -group | -g { ypush(); retcmd(GROUP); } -send | -s { ypush(); retcmd(SEND); } -dump | -d { ypush(); retcmd(DUMP); } -pr_dump | -pd { ypush(); retcmd(PR_DUMP); } -rescan | -re { ypush(); retcmd(PR_RESCAN); } -shutdown | -sd { ypush(); retcmd(SHUTDOWN); } -snapshot | -snap { ypush(); retcmd(PR_SNAP); } -help | -h | -"?" { ypush(); retcmd(HELP); } -"+v" { ypush(); retcmd(PLUS_V); } -"-v" { ypush(); retcmd(MINUS_V); } -status | -st { ypush(); retcmd(STATUS); } -quit | -q { ypush(); retcmd(QUIT); } - -[a-zA-Z_$][a-zA-Z0-9_$]* { ypush(); return NAME; } -("+"|"-")?[0-9]+ { ypush(); return NUMBER; } - -\"[^\"]*\" { ypushs(); return STRING; } -\"[^\"\n]*/\n { printf(" *** missing \"\n"); return ERROR; } -":" { ypush(); return ':'; } -"@" { ypush(); return '@'; } -\n { ypush(); return CR; } -";" { ypush(); cmd = 1; return ';'; } -[ \t]+ ; -[^\":@\n; \t]+ { ypush(); return ARG; } diff -u --recursive --new-file isisv2.1.orig/util/cmdy.h isisv2.1/util/cmdy.h --- isisv2.1.orig/util/cmdy.h Fri Sep 7 20:40:08 1990 +++ isisv2.1/util/cmdy.h Thu Oct 7 17:14:22 1993 @@ -1,31 +1,20 @@ -/* $RCSfile: cmdy.h,v $ $Revision: 2.0 $ $Date: 90/05/04 15:23:39 $ */ -/* - * - * ISIS release V2.0, May 1990 - * Export restrictions apply - * - * The contents of this file are subject to a joint, non-exclusive - * copyright by members of the ISIS Project. Permission is granted for - * use of this material in unmodified form in commercial or research - * settings. Creation of derivative forms of this software may be - * subject to restriction; obtain written permission from the ISIS Project - * in the event of questions or for special situations. - * -- Copyright (c) 1990, The ISIS PROJECT - */ -# define SITES 257 -# define GROUP 258 -# define SEND 259 -# define DUMP 260 -# define PR_DUMP 261 -# define SHUTDOWN 262 -# define HELP 263 -# define PLUS_V 264 -# define MINUS_V 265 -# define STATUS 266 -# define QUIT 267 -# define NAME 268 -# define NUMBER 269 -# define STRING 270 -# define CR 271 -# define ARG 272 -# define ERROR 273 +#define SITES 257 +#define LIST 258 +#define GROUP 259 +#define SEND 260 +#define DUMP 261 +#define PR_DUMP 262 +#define PR_SNAP 263 +#define PR_RESCAN 264 +#define SHUTDOWN 265 +#define HELP 266 +#define PLUS_V 267 +#define MINUS_V 268 +#define STATUS 269 +#define QUIT 270 +#define NAME 271 +#define NUMBER 272 +#define STRING 273 +#define CR 274 +#define ARG 275 +#define ERROR 276