128 lines
5.0 KiB
Plaintext
128 lines
5.0 KiB
Plaintext
|
|
Announcing gcc 1.37.1 and Gnu emacs 18.55 for MINIX 1.5.10 386
|
|
|
|
After some time of playing with the source we think it is in a
|
|
state suitable for other people to use. Our distribution includes
|
|
binaries for
|
|
|
|
gcc (gcc gcc-ld gcc-cc1 gcc-cpp) 1.37.1
|
|
gas (gcc-as) 1.37
|
|
make 3.57
|
|
utilities, ar nm size
|
|
libraries - libc.a (minix) libm.a (pml) gnulib
|
|
gcc include files
|
|
GNUemacs 18.55, (including sub-processes and dumping)
|
|
Patches to recompile all the above
|
|
|
|
You will need the following to run the binaries:
|
|
|
|
MINIX 1.5.10
|
|
Bruce Evans' 386 Patches
|
|
A 386 with at least 4M of memory (emacs alone should work in 2M)
|
|
A 2-line patch to klib386.x (included)
|
|
|
|
If you want to recompile you will also need the following sources
|
|
|
|
gcc.1.37.1.tar.Z
|
|
gas1.37.tar.Z
|
|
estdio21.tar.Z
|
|
emacs-18.55.tar.Z
|
|
make-3.57.tar.Z
|
|
pml.tar.Z
|
|
|
|
These are not included in this distribution but are available from a
|
|
number of different archives. GNU software is available by anonymous
|
|
ftp from a number of sites including prep.ai.mit.edu (18.71.0.38 in
|
|
u2/emacs). estdio is available from plains.nodak.edu (134.129.111.64
|
|
in pub/Minix/oz) and sirius.ucs.adelaide (129.127.40.3 in
|
|
pub/minix/local). And pml is available from the atari archive
|
|
(formerly terminator) atari.archive.umich.edu (141.211.164.8 in
|
|
atari/gnustuff/minix). Please only use ftp sites during off-peak hours.
|
|
|
|
It is interesting to note that gcc and gas effectively require
|
|
no patches at all to compile under MINIX. Gas requires a change to
|
|
the make file while the gcc diffs simply include a modified config file
|
|
for the 386. Our problem was bootstraping the first copy of gcc.
|
|
|
|
Availability
|
|
------------
|
|
|
|
The following files are available on plains.nodak.ed (134.129.111.64
|
|
in pub/Minix/uk). Also they are available for anonymous hhcp over
|
|
JANET the uk X25 network contact me (awb@ed.ac.uk) for more details.
|
|
Note the dates etc may by different on archive machines.
|
|
|
|
-rwxr-xr-x 1 awb 17676 Oct 30 10:07 16bcompress
|
|
-rw-r--r-- 1 awb 2906 Nov 10 15:51 README
|
|
-rw-r--r-- 1 awb 98089 Oct 28 17:22 binutils.tar.Z
|
|
-rw-r--r-- 1 awb 477002 Nov 10 16:28 emacs.tar.Z
|
|
-rw-r--r-- 1 awb 23183 Nov 10 16:29 emacsdif.tar.Z
|
|
-rw-r--r-- 1 awb 1803 Nov 10 16:30 gasdiff.tar.Z
|
|
-rw-r--r-- 1 awb 407 Oct 30 10:17 gcc.test
|
|
-rw-r--r-- 1 awb 628027 Nov 10 16:31 gccbin.tar.Z
|
|
-rw-r--r-- 1 awb 17806 Nov 10 16:34 gccdiff.tar.Z
|
|
-rw-r--r-- 1 awb 16915 Oct 28 17:26 gccinc.tar.Z
|
|
-rw-r--r-- 1 awb 80923 Nov 10 14:05 gcclib.tar.Z
|
|
-rw-r--r-- 1 awb 39305 Nov 10 16:35 libdiff.tar.Z
|
|
-rw-r--r-- 1 awb 6590 Oct 30 10:08 makediff.tar.Z
|
|
-rw-r--r-- 1 awb 3578 Nov 10 14:08 pmldiff.tar.Z
|
|
|
|
These are compressed (16bit) tar files. The binary 16bcompress
|
|
is a 16 bit compress for MINIX-386, if you are still using
|
|
a 13 bit compress.
|
|
|
|
Comment about gcc implementation
|
|
--------------------------------
|
|
|
|
The a.out format produced by gcc is not understood by MINIX and so has
|
|
to be converted using the program gcc2minix (which is provided) It was
|
|
considered that ld could do this conversion but that would require
|
|
fairly major changes to ld and would stop other programs like size,
|
|
nm, dumping and undumping from working so we decided on a special
|
|
conversion program. Ideally we should modify the MINIX kernel to
|
|
recognised gcc a.out format.
|
|
|
|
Floating point is done in an interesting though inefficient way. The
|
|
loader adds a floating point signal handler to the output file so that
|
|
when floating point instructions occur the signal is caught and that
|
|
instruction is decoded in software. This is inefficient but without a
|
|
gcc machine description that does not depend on a 387 it is unclear
|
|
what to do. Note that when soft-float is used (as it is by default)
|
|
very few 387 instructions are actually generated. This method of fp
|
|
does require a minor change to you kernel to note that there is no 387
|
|
processor.
|
|
|
|
---------
|
|
|
|
Much of this code is copywritten. Please read the the appropriate
|
|
copyright messages. It however the case that all the copyright's
|
|
allow these files to be copied with few restrictions. The GNU
|
|
licence is probably the strictest. Basically you can copy these
|
|
files and give them to whoever you want, but you can't restrict
|
|
them from passing the files on to others.
|
|
|
|
No guarantee is given with these patches, but I hope
|
|
you find them useful. If you find any bugs please let
|
|
us know but we don't guarantee we'll have the time to
|
|
fix them.
|
|
|
|
Thanks go to:
|
|
Richard Stallman and FSF for the GNU software
|
|
Andy Tanenbaum for MINIX
|
|
Bruce Evans for his 386 patches
|
|
Earl Chew for estdio
|
|
Fred Fish for pml
|
|
Richard Tobin for doing the difficult bits
|
|
Dept of AI and AIAI, University of Edinburgh for
|
|
providing machines used in bootstraping this software.
|
|
And others that I have forgotten about
|
|
|
|
|
|
Alan W Black awb@ed.ac.uk
|
|
Richard Tobin richard@aiai.ed.ac.uk
|
|
Oct 1990
|
|
|
|
|
|
|
|
|