[comp.unix.xenix] TeX compile bug on Xenix?

chip@ateng.ateng.com (Chip Salzenberg) (02/04/89)

According to tony@ajfcal.UUCP (Tony Field):
>I am attempting to build TeX 2.9 in C from the University of Washington
>distribution files. My system is Xenix 2.2.3/386 with a 2.2.1/386
>development system (i.e. reasonably recent).
>
>For some reason *tangle* does not seem to execute correctly when:
>                tangle tex.web ctex.ch
>is executed.  I therefore cannot build the tex.pool file.
>
>I believe that this is a result of a *broken compiler* [...]

Yes, it is a broken compiler.

I had a similar problem, but now I have a working TeX under Xenix. (But see
below.) The Microsoft compiler is broken in several ways when it comes to
using 8-bit and 16-bit quantities.  For example:

	char a;
	unsigned short b;
	char c[3][50000];

	main()
	{
	    /* ... */
	    c[a][b] = 1;
	}

is broken.  Incorrect code is generated when generating the intermediate
value "a * 50000": a signed 16x16 multiply is used, instead of an unsigned
multiply.

My "solution" was this:  change the definitions of "integer" and "schar",
as well as the typedefs in tangle itself, to all be "int" or "unsigned".
(With the exception of "eightbits", which I left as "unsigned char".)
No 16-bit manipulation is required, and tangle works.

My tex passes the trip test, so I guess I've got a working tex.

However -- I can't output!  Does anyone know of a Laserjet driver that
doesn't require a Pascal compiler?  I have no way to output my dvi files!
-- 
Chip Salzenberg             <chip@ateng.com> or <uunet!ateng!chip>
A T Engineering             Me?  Speak for my company?  Surely you jest!
	  "It's no good.  They're tapping the lines."

debra@alice.UUCP (Paul De Bra) (02/05/89)

In article <1989Feb3.130901.2920@ateng.ateng.com> chip@ateng.ateng.com (Chip Salzenberg) writes:
}According to tony@ajfcal.UUCP (Tony Field):
}>I am attempting to build TeX 2.9 in C from the University of Washington
}>distribution files. My system is Xenix 2.2.3/386 with a 2.2.1/386
}>development system (i.e. reasonably recent).
}>
}>For some reason *tangle* does not seem to execute correctly when:
}>                tangle tex.web ctex.ch
>>is executed.  I therefore cannot build the tex.pool file.
}>
}>I believe that this is a result of a *broken compiler* [...]
}
}Yes, it is a broken compiler.
}

The compiler is broken indeed. I got Tex 2.0 way back when there was no
C-version available. (or web2c) Tangled everything to Pascal, then translated
into C using a cross-compiler, then hacked it for a couple of months and
finally got it to work with SCO Xenix 2.2.1 for the 286.

Has been posted on comp.unix.xenix (last december) and is in the queue for
comp.sources.unix (since last september).

Paul.
-- 
------------------------------------------------------
|debra@research.att.com   | uunet!research!debra     |
------------------------------------------------------