[comp.os.minix] Shoelace 1.0a and Bcc

andrew@eleceng.bradford.ac.uk (Andrew G. Minter) (08/02/90)

Many thanks to all those people who sent me advice about obtaining and
installing Bruce Evan's 32-bit upgrade.  I've just about finished installing
it and I'm pleased as punch.  This is a real quality piece of software,
thanks Bruce.

If anyone on JANET could use this stuff and/or some help then I'm willing!

Now a couple of little problems:

I've now running in 32-bit mode and am trying to rebuild shoelace with bcc.
The trouble is that bcc seems to generate code which is a little larger that
that produced by ACK. This means that winiboot is too big by 122 bytes.  Has
anyone seen this problem before?  Any solutions?

Another little problem: I can no longer run the original Minix cpp, so how
do I preprocess the .x files in the kernel?  Right now I've kludged up a
solution, but there must be a better way.

Cheers, Andrew
-- 
##############################################################################
# Andrew G. Minter,                  #  JANET: andrew@brad.eeng              #
# Lecturer in Information Systems,   #  EARN/BITNET: andrew@eeng.brad.ac.uk  # 
# Dept. of Electrical Engineering,   #                                       #
# University of Bradford,            #  Phone: +44.274.733466 ext 347 or 326 #
# Bradford, West Yorkshire, BD7 1DP  #  Telex: 51309 UNIBFD G                #
# United Kingdom                     #  Fax: +44.274.305340                  #
##############################################################################

cechew@bruce.cs.monash.OZ.AU (Earl Chew) (08/03/90)

In <26466@nigel.udel.EDU> andrew@eleceng.bradford.ac.uk (Andrew G. Minter) writes:

>I've now running in 32-bit mode and am trying to rebuild shoelace with bcc.
>The trouble is that bcc seems to generate code which is a little larger that
>that produced by ACK. This means that winiboot is too big by 122 bytes.  Has
>anyone seen this problem before?  Any solutions?

Are you talking about the right thing? Winiboot is written in assembler! Are
you gauging the size of winiboot by using ls -l? If so you may be fooled by the
symbol table that is appended to the end. Try lacing up a floppy disk using
winiboot (as explained in the documentation). Laceup will ignore the symbol
table (I hope).

>do I preprocess the .x files in the kernel?  Right now I've kludged up a

Try getting hold of the Decus cpp that was just posted.

Earl
-- 
Earl Chew, Dept of Computer Science, Monash University, Australia 3168
ARPA: cechew%bruce.cs.monash.oz.au@uunet.uu.net  ACS : cechew@bruce.oz
----------------------------------------------------------------------

brucee@runxtsa.runx.oz.au (Bruce Evans) (08/03/90)

In article <26466@nigel.udel.EDU> andrew@eleceng.bradford.ac.uk (Andrew G. Minter) writes:
>I've now running in 32-bit mode and am trying to rebuild shoelace with bcc.
>The trouble is that bcc seems to generate code which is a little larger that
>that produced by ACK. This means that winiboot is too big by 122 bytes.  Has
>anyone seen this problem before?  Any solutions?

Use ACK cc and asld to build winiboot and bootlace. Use ACK cc or bcc -0 to
build shoelace. Use any cc to build a native laceup.

>Another little problem: I can no longer run the original Minix cpp, so how
>do I preprocess the .x files in the kernel?  Right now I've kludged up a

The Decus cpp posted the other day is probably OK. There is a cpp in the
archives (I think the same one) ported by Andrew Cagney mainly to compile
Minix under DOS.

I use gnu cpp. This can be compiled with bcc after changing one function to
get around bcc's limit of no structure parameter passing/return. You also
have to split up writes to get around Minix's limit of writing only 7K to
pipes. Finally, it is usually best to give cpp the `-traditional' flag. I
do this by normally executing /lib/cpp which is

	exec /usr/local/bin/cpp -traditional $*

where the real cpp is in /usr/local/bin. This flag must be given to cppmake
too.
-- 
Bruce Evans
Internet: brucee@runxtsa.runx.oz.au    UUCP: uunet!runxtsa.runx.oz.au!brucee
(My other address (evans@ditsyda.oz.au) no longer works)