Subject: Re: Patches to make the tree cross-compilable
To: None <cjs@portal.ca, skippy@macro.stanford.edu>
From: Wolfgang Solfrank <ws@tools.de>
List: tech-toolchain
Date: 02/17/1998 15:13:06
> Not specifically. My main test was a make build. Though I think it'd be
> fine. My sh patches are to the Makefile, and are:
> 
> +mkinit: mkinit.c
> +       ${HOST_CC} -o mkinit ${.CURDIR}/mkinit.c
> +
> +mknodes: mknodes.c
> +       ${HOST_CC} -o mknodes ${.CURDIR}/mknodes.c
> +
> +mksyntax: mksyntax.c
> +       ${HOST_CC} -o mksyntax ${.CURDIR}/mksyntax.c
> +

This doesn't work in all cases.

In particular, mksyntax is used to generate some include files and tables
that are used in the parsing process.  The characteristics of the tables
depend on the machine that is used to compile mksyntax (obviously), but
they are intended to eliminate some hardware/compiler dependency for the
machine they are used on, i.e. the machine where /bin/sh is run.  They depend
on whether the machine in use has signed or unsigned characters, and on the
number of bits in a character.

It should be obvious that this wouldn't work if the characteristics of the
machine used for compiling and the machine used to run the compiled /bin/sh
differ in this respect.

Yes, this _is_ considered a bug in the /bin/sh source (and I intend to fix
it when I get some spare time again (and noone beats me to it)).

Ciao,
Wolfgang
-- 
ws@TooLs.DE     (Wolfgang Solfrank, TooLs GmbH) 	+49-228-985800