* 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