DCHAPMAN@utkvx.utk.edu (Don Chapman) (06/12/91)
For those who have gotten V1.6.16,
Things missing:
From Post1:
amoeba_00.uue contained only amoeba.crc and it shows
00000 0
lib_00.uue contained only lib.crc and it shows
00000 0
and /usr/include/minix is missing entirely in Post1..Post23.
They are probably on their way.
Here are the changes (mostly in makefiles) I used to compile
mm/fs/kernel/tools using K&R-ACK compiler, V1.6.15 libc.a
(essentially V1.5 libc.a plus a few) and no need for
xenix_to_asld. The few new lib files are needed.
I added -D_EM_WSIZE=2 to the makefile in mm. (16-bit machine)
Most of the Makefiles needed LIB to be rewritten as something like
LIB=$l/libc.a or
LIB=$l/libc.a $l/end.$O
In a number of instances I changed .o to .$O in the Makefiles and
generally substituted asld for LD CV.
All four of mm/fs/kernel/tools were giving 'multiply defined: _exit'
errors when linking. Well I took printk.c from the lib/ansi and
put it the kernel, fs, mm and tools directories, added them to
the makefile obj's and changed (them) to use putk.
(usually by -Dputc=putk in the makefile, I suspect that printk.c.
changes are to be in lib_00.uue) The _exit problem was fixed.
The menu.c had some "\n" that needed to be "\r\n" or some such.
I kludged fs/pipe.c using a define at its top to
#define PIPE_DEV rfp->fp_workdir->i_dev or if you prefer
#define PIPE_DEV rfp->fp_rootdir->i_dev (likely faster!)
And now V1.6.16 is working here.
I have decided to use rfp->fp_rootdir->i_dev until I see
what/where it should be.
How I survived without xenix_to_asld:
I renamed bootblok.s to be bootblok.x for uniformity.
I wrote -Defines for the conversion of the assembler using the
pre-processor. Also I used tr \! \| to finish the conversion.
That was needed in both kernel and tools.
Example scraps of my K&R-ACK kernel/Makefile:
----------------
O=s
# Here is half of .x to .s (kinda tricky)
CPPFLAGS =-P -Ddata2=word -Ddata1=byte -Dstos=stow \
-Dcseg=seg\ cs -Dlods=lodw -Dcallf=calli -Djmpf=jmpi \
-Deseg=seg\ es -Dsseg=seg\ ss
CFLAGS =-I$i -m -Dputc=putk
KEROBJS =[what was there plus...] printk.$O
# Rules.
.SUFFIXES: .x # .x to .s substitute... the other half.
.x.$O:
$(CPP) $(CPPFLAGS) $< | tr \! \| > $@
# the LD CV substitute...
$(BIN)/kernel: $(START) $(KEROBJS) $(LIB) $(END)
asld $(LDFLAGS) -o $(BIN)/kernel $(START) $(KEROBJS) \
$(LIB) $(END) > symbol.out
ast -X kernel
@rm -f symbol.out
printk.$O: $a
printk.$O: $i/stdarg.h
--------
Looking forward to seeing the files that mis-packed.
Don Chapman <dchapman@utkvx.utk.edu>