From: A. V. Le Blanc (zlsiial@uts.mcc.ac.uk)
Date: 07/26/92


From: zlsiial@uts.mcc.ac.uk (A. V. Le Blanc)
Subject: compiling bin86
Date: 26 Jul 1992 19:57:52 GMT

Someone recently mentioned that there are difficulties in compiling
the as86 and ld86 contained in the bin86.tar.Z package.

In order to get things to work, I had to make the following changes:

In a.out.h/bsd-a.out.h, delete the line defining getpagesize()
at about line 104.

In as/Makefile, change typeconv.o to ../ld/typeconv.o in the
definition of OBJS. This saves having to copy it across as
described in the README file.

In ld/Makefile, add '-I../a.out.h' to the CFLAGS, and delete the
line 'chmem =232000 ld'.

In ld/type.h, about line 163, delete the line '#undef NULL'.
Further down in the same file, about line 172, delete the prototypes
for 'chmod' and for 'umask'.

In ld/writebin.c, about line 10, in '#define page_size() 4096',
change the 4096 to 0; this seems nonsensical, but makes the binaries
come out the same as those produced by the distributed ld86.
In the same file, about line 50, in '#define FILEHEADERLENGTH 48',
change the 48 to 32. About line 79, before the line beginning with
'#define offsetof(struc,', insert the line '#undef offsetof'.
About line 912, comment out or delete the two lines stating that
'if (uzp) header.a_flags |= A_UZP;'.

After compiling with the above changes, I found that both the
kernel compilation and lilo work correctly; whether there are errors
in the above which will appear in the future, I cannot say.

     -- Owen
     LeBlanc@mcc.ac.uk