* Removed deprecated notes from MACHINES
* Added $Id to COPYING and removed date information. git-svn-id: svn://svn.zoy.org/elk/trunk@220 55e467fa-43c5-0310-a8a2-de718669efc6
This commit is contained in:
		
							parent
							
								
									97683acf70
								
							
						
					
					
						commit
						92ba548f50
					
				
							
								
								
									
										5
									
								
								COPYING
								
								
								
								
							
							
						
						
									
										5
									
								
								COPYING
								
								
								
								
							|  | @ -1,3 +1,5 @@ | ||||||
|  | $Id$ | ||||||
|  | 
 | ||||||
| Copyright 1990, 1991, 1992, 1993, 1994, 1995, Oliver Laumann, Berlin | Copyright 1990, 1991, 1992, 1993, 1994, 1995, Oliver Laumann, Berlin | ||||||
| (except for the contents of the directory `doc/usenix'). | (except for the contents of the directory `doc/usenix'). | ||||||
| Copyright 2002, 2003 Sam Hocevar <sam@zoy.org>, Paris | Copyright 2002, 2003 Sam Hocevar <sam@zoy.org>, Paris | ||||||
|  | @ -24,6 +26,3 @@ for any defects of this software. | ||||||
| 
 | 
 | ||||||
| THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. | THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. | ||||||
| 
 | 
 | ||||||
| Berlin, June 20, 1995 |  | ||||||
| 
 |  | ||||||
| Oliver Laumann  <net@informatik.uni-bremen.de> |  | ||||||
|  |  | ||||||
							
								
								
									
										97
									
								
								MACHINES
								
								
								
								
							
							
						
						
									
										97
									
								
								MACHINES
								
								
								
								
							|  | @ -8,10 +8,6 @@ Sun-3 and Sun-4, SunOS 4.1 | ||||||
|    o  For compiling Elk with gcc and the generational garbage collector, |    o  For compiling Elk with gcc and the generational garbage collector, | ||||||
|       see the remark in the file BUGS. |       see the remark in the file BUGS. | ||||||
| 
 | 
 | ||||||
|    o  Dumped executables created on a Sun-4m (SPARCstation 10 or |  | ||||||
|       SPARCstation 600) do not run on other Sun-4 architectures and |  | ||||||
|       vice versa. |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| Sun-4, SunOS 5.2 (Solaris 2.2) | Sun-4, SunOS 5.2 (Solaris 2.2) | ||||||
| 
 | 
 | ||||||
|  | @ -29,43 +25,6 @@ Sun-4, SunOS 5.2 (Solaris 2.2) | ||||||
|       unless -ansi is given.  A possible fix is to add add -D__STDC__=0 |       unless -ansi is given.  A possible fix is to add add -D__STDC__=0 | ||||||
|       to the cflags in the config file. |       to the cflags in the config file. | ||||||
| 
 | 
 | ||||||
|    o  "dump" works, but it doesn't know anything about shared objects |  | ||||||
|       (the dl library doesn't support a way to get hold of the text and |  | ||||||
|       data segments of dlopen()ed shared objects).  Thus it's a bad idea |  | ||||||
|       to invoke "dump" if any object files have been loaded into the |  | ||||||
|       interpreter. |  | ||||||
| 
 |  | ||||||
|    o  Dynamic loading is based on the dlopen() function of the "dl" |  | ||||||
|       library.  Here is a short overview of the implementation of |  | ||||||
|       dlopen-based dynamic loading: |  | ||||||
|     |  | ||||||
|          To load an object file, the linker is called by the interpreter |  | ||||||
|          to produce a shared object from the .o file.  This shared object |  | ||||||
| 	 is then loaded by means of dlopen(). |  | ||||||
| 
 |  | ||||||
|          To allow object files to reference symbols defined by object |  | ||||||
|          files loaded earlier (the standard dynamic loading semantics |  | ||||||
|          of Elk), the interpreter keeps tmp the output files (shared |  | ||||||
|          objects) of all previous linker invocations in /tmp and uses |  | ||||||
| 	 these as input to a each linker invocation.  As a result, one |  | ||||||
| 	 new temp file is created each time an object file is loaded. |  | ||||||
| 
 |  | ||||||
|          As the linker combines dynamically loadable object files and |  | ||||||
|          (optional) libraries into shared objects, all dynamically loadable |  | ||||||
|          files must have been compiled with -fpic or -K PIC (to create |  | ||||||
| 	 position independent code).  Also, all involved libraries must |  | ||||||
| 	 either be shared libraries or must contain position independent |  | ||||||
| 	 code as well.  For example, if you want to use the Motif extension, |  | ||||||
| 	 your Xm library must have been compiled with -fpic. |  | ||||||
| 
 |  | ||||||
|          A bug in Solaris 2.1 causes dlopen() to fail if more than |  | ||||||
|          8 shared objects are loaded (which in turn causes the "load" |  | ||||||
|          primitive of Elk to signal an error).  This restriction doesn't |  | ||||||
|          exist in newer versions of Solaris 2. |  | ||||||
| 
 |  | ||||||
|          You can use the -v option of Elk to see the actual linker options |  | ||||||
|          when an object file is loaded. |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| DECstation 5100, Ultrix 4.2 | DECstation 5100, Ultrix 4.2 | ||||||
| 
 | 
 | ||||||
|  | @ -82,13 +41,10 @@ DECstation 5100, Ultrix 4.2 | ||||||
| DEC/Alpha, OSF/1 | DEC/Alpha, OSF/1 | ||||||
| 
 | 
 | ||||||
|    o  This platform uses ELF and the dlopen()-style linker interface. |    o  This platform uses ELF and the dlopen()-style linker interface. | ||||||
|       See the section on Solaris 2 above for remarks on dynamic loading. |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| SGI IRIS Indy, Irix 5.3 | SGI IRIS Indy, Irix 5.3 | ||||||
| 
 | 
 | ||||||
|    o  See SunOS 5.x above for information about dynamic loading and dump. |  | ||||||
| 
 |  | ||||||
|    o  examples/unix/calc.scm doesn't work, because /usr/bin/dc uses |    o  examples/unix/calc.scm doesn't work, because /usr/bin/dc uses | ||||||
|       buffered output if stdout is not a terminal. |       buffered output if stdout is not a terminal. | ||||||
| 
 | 
 | ||||||
|  | @ -107,11 +63,6 @@ HP 9000/700, HP-UX 9.0 and HP-UX 10.0 | ||||||
|    o  wait3 has been set to `no' in the system file, because this function |    o  wait3 has been set to `no' in the system file, because this function | ||||||
|       has a non-standard third argument in HP-UX 9.0. |       has a non-standard third argument in HP-UX 9.0. | ||||||
| 
 | 
 | ||||||
|    o  The "dump" implementation for HP-UX which used to work well under |  | ||||||
|       HP-UX 8.x doesn't really work any longer, because HP in their |  | ||||||
|       infinite wisdom have removed the MAP_REPLACE flag for mmap() in |  | ||||||
|       HP-UX 9.x. |  | ||||||
| 
 |  | ||||||
|    o  HP-UX 10 does have a stack-extending alloca() (in contrast to |    o  HP-UX 10 does have a stack-extending alloca() (in contrast to | ||||||
|       HP-UX 9.0), but it has a serious bug and therefore is not used |       HP-UX 9.0), but it has a serious bug and therefore is not used | ||||||
|       by Elk (the function overwrites its argument if it is a register |       by Elk (the function overwrites its argument if it is a register | ||||||
|  | @ -119,39 +70,22 @@ HP 9000/700, HP-UX 9.0 and HP-UX 10.0 | ||||||
| 
 | 
 | ||||||
|    o  The incremental garbage collector doesn't work (see the file BUGS). |    o  The incremental garbage collector doesn't work (see the file BUGS). | ||||||
| 
 | 
 | ||||||
|    o  The Athena widgets are not included with HP-UX 9.0; delete "lib/xaw" |    o  The Athena widgets are not included with HP-UX 9.0. | ||||||
|       from the Makefile. |  | ||||||
| 
 |  | ||||||
|    o  You may want to use the HP-UX site file from config/sites. |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| IBM RS/6000, AIX 3.2 | IBM RS/6000, AIX 3.2 | ||||||
| 
 | 
 | ||||||
|    o  Neither "dump" nor dynamic loading work.  It is not clear whether |    o  Dynamic loading does not work.  It is not clear whether the dynamic | ||||||
|       the dynamic loading semantics of Elk can be implemented with the |       loading semantics of Elk can be implemented with the dynamic linker | ||||||
|       dynamic linker interface of AIX at all. |       interface of AIX at all. | ||||||
| 
 |  | ||||||
|    o  To support linking the interpreter with extensions statically, |  | ||||||
|       you *have* to use the $install_dir/lib/linkscheme shell script; |  | ||||||
|       it contains special code to build an `export list' to prevent |  | ||||||
|       the AIX linker from `garbage collecting' the extensions. |  | ||||||
| 
 |  | ||||||
|    o  -O has been omitted from the CFLAGS, as the optimizer seems to |  | ||||||
|       have bugs. |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| PowerPC, AIX 4.1 (xlc and gcc) | PowerPC, AIX 4.1 (xlc and gcc) | ||||||
| 
 | 
 | ||||||
|    o  No dynamic loading, no dump (see AIX 3.2 above). |    o  No dynamic loading. | ||||||
| 
 | 
 | ||||||
|    o  The incremental garbage collector doesn't work (see the file BUGS). |    o  The incremental garbage collector doesn't work (see the file BUGS). | ||||||
| 
 | 
 | ||||||
|    o  If you are using gcc, and if your gcc uses the AIX linker, the |  | ||||||
|       linker prints tons of bogus messages about duplicate symbols; they |  | ||||||
|       can be ignored safely.  You may also have to change the `*-aix4*-cc' |  | ||||||
|       in the shell script `linkscheme' into `*-aix4*-gcc' to enable the |  | ||||||
|       hack involving the linker export list. |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| NeXT workstation, MACH/NeXT-OS 3.3 | NeXT workstation, MACH/NeXT-OS 3.3 | ||||||
| 
 | 
 | ||||||
|  | @ -176,17 +110,6 @@ NeXT workstation, MACH/NeXT-OS 3.3 | ||||||
| 
 | 
 | ||||||
| 386/486-PC, Linux 1.2.8 | 386/486-PC, Linux 1.2.8 | ||||||
| 
 | 
 | ||||||
|    o  Dynamic loading does not work any longer, because the linker has |  | ||||||
|       changed.  It doesn't seem to support incremental loading any more |  | ||||||
|       at all.  dlopen() seems to exist now, but how does one create |  | ||||||
|       a shared object from an ordinary .o file?  Someone who knows |  | ||||||
|       Linux well may want to look into this... |  | ||||||
| 
 |  | ||||||
|    o  `dump' doesn't work either.  It did work in earlier Linux versions. |  | ||||||
| 
 |  | ||||||
|    o  Because of a bug in `make', all Makefiles had to be changed to |  | ||||||
|       explicitly run the shell for invoking the `build' shell scripts. |  | ||||||
| 
 |  | ||||||
|    o  examples/unix/calc.scm doesn't work, because /usr/bin/dc uses |    o  examples/unix/calc.scm doesn't work, because /usr/bin/dc uses | ||||||
|       buffered output if stdout is not a terminal. |       buffered output if stdout is not a terminal. | ||||||
| 
 | 
 | ||||||
|  | @ -210,15 +133,6 @@ NeXT workstation, MACH/NeXT-OS 3.3 | ||||||
|        files needed at runtime, the extensions in lib/misc, and the |        files needed at runtime, the extensions in lib/misc, and the | ||||||
|        localized Makefiles and include files. |        localized Makefiles and include files. | ||||||
| 
 | 
 | ||||||
|     o  There are a few trouble spots you should watch out for.  Some versions |  | ||||||
|        of `make' under DOS (Ndmake?) can't handle the macro $(MAKE) that |  | ||||||
|        is defined at the beginning of all Makefiles.  If this is the case |  | ||||||
|        on your system, forget the Makefiles and run "make -f Makefile.local" |  | ||||||
|        in each directory.  You may have to replace $(O) in src/Makefile.local |  | ||||||
|        by *.o to avoid command lines that are too long for the DOS shell. |  | ||||||
|        You have to delete the line beginning with "../../scripts/makedl" |  | ||||||
|        in misc/Makefile.local. |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| X Window System | X Window System | ||||||
| 
 | 
 | ||||||
|  | @ -245,3 +159,4 @@ Motif Widgets | ||||||
| 
 | 
 | ||||||
|       Make sure that X11 has been compiled with the symbol MotifBC set |       Make sure that X11 has been compiled with the symbol MotifBC set | ||||||
|       to YES in site.def. |       to YES in site.def. | ||||||
|  | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 sam
						sam