
This directory contains patches to Minix 1.5 386 to allow
gnu format a.out files to be run directly *as well as*
minix format a.out files

This is part of Alan and Richard's gcc port for Minix 386.

In the original port a program was provided for translating gnu a.out
format to minix format (gcc2minix).  These patches make the kernel
(actually mm) load the gnu format directly.

There are two parts to these patches 

   exec.cdiff  which patches mm/exec.c to understand gnu format
   chmem.cdiff which patches commands/chmem.c to add mem size
               information to gnu a.out files
   file.cdiff  which patches commands/file.c to recognise GNU
               format a.out and GNU .o files

In both cases the patches make no changes to the resultant .o files
unless the symbol GNU_AOUT_TOO is defined (i.e. add -DGNU_AOUT_TOO to
CFLAGS in the appropriate makefiles).

The standard gnu header does not include any memory size so we extend
the header to hold an extra two fields, a magic number and a memory
size.  The patches make the kernel check for this magic number if it
exists then the following memory size is used, if it doesn't exist a
default size of 64k is used.  That is a program compiled with gcc will
have a default memory size of 64k even without and change to that
header -- actual changes can then made with chmem.

Note that gnu binaries require the gnu binutils (i.e. nm size strip
etc) and old minix binaries require the minix binary utilities, you
have use the right ones.

Alan W Black
awb@ed.ac.uk
