[TUHS] Typesetter C Compiler and Troff (Re: Re: v6 Unix Documents)

Dan Plassche boomer3200 at gmail.com
Thu Dec 5 16:38:34 AEST 2024



On Sat, 30 Nov 2024, Noel Chiappa wrote:

> 
>     > I was able to rebuild both the UNSW and the native PWB compiler on PWB
>     > 1.0, but not to backport either to vanilla v6.
> 
> Any idea what the problem was? I'm curious, because we ran a version of the
> Typesetter compiler on the MIT systems, which ran an enhanced V6.
> 
> 	   Noel

Yes, I have a general sense after making some progress building 
on v6 and further exploring the PWB 1.0 and UNSW sets as noted 
below.  Would be interested to complete the process and add any 
details I am missing.

I had to use the new c compiler and assembler from the Shoppa 
disk (nix_v6.rl02.gz) to bootstrap the build using the UNSW files 
on v6.

The original typesetter c distribution was supposed to be for v6, 
which is my intended use case, but it appears the third-party 
copies we have available drifted:

- the stock v6 compiler could not build the new "Portable I/O 
  Library" (/lib/libS.a supporting stdio) from UNSW or PWB as the 
  pre-requisite to building the new compiler.  The code is almost 
  all the same in both, although UNSW is missing tmpnam.c.
 
- "old" cc gave a lot of basic syntax errors from the 
  included stdio.h and the library files with some of the most 
  common issues being redeclared items and classes.

- I had to adjust the UNSW includes to point to the 
  in-directory stdio.h file rather than the to be created include 
  path (/usr/include/stdio.h from #include <stdio.h>) that 
  was assumed to already exist (not on v6).

- table.o for the stdio library appears to require the new as

- PWB 1.0 builds already have ncc and are straightforward, but 
  rely on makefiles and use syscalls that are not available on 
  v6

- UNSW's set provides traditional run shell scripts, but 
  incorporates features -- the Bourne shell colon no-op and as 
  with an -o flag -- that are not on v6

- everything for stdio and the new compiler apart from c1 built 
  cleanly using ncc with /xlib

I am still tracking down why building c1 lead to an error (_itol 
undefined).  I think the build is getting close.  Also, I suspect 
that the typesetter c distribution from AT&T differed from what 
we have in terms of the build scripts and likely included 
binaries with the source: it seems that at some point ncc became 
necessary to build later verison of ncc.


Thanks,

Dan



More information about the TUHS mailing list