On 19/11/2016 20:24Z,
u-l...@aetey.se wrote:
> Looking at the binary media of Minix-2.0.4 for i86 one can see
> in USR.TAZ the presence of lib/irrel, dated 26th December 2000.
>
> The ack compiler driver uses this file as one of the passes,
> src/commands/i86/cc.c refers to it.
>
> Unfortunately there are no traces of a source file for irrel
> in any of the ack, tack, ackpack source archives which I was able
> to locate.
I do not have the updated version made in 2000 for 2.0.3 (noted in the
changes.txt file); I guess Kees or perhaps Philip _could_ have it in
their backups; but I do not know if they are reading this list.
I once spotted a version of it in the ACK (5.2) source; it is a version
from 1991 (probably the same as used for MINIX 1.6, 2.0.2 and 2.0.2: the
CVS tree it came with was dated 1996.) Attached.
> Is it possible to recover this missing piece of the source? It looks
> necessary to be able to run ack on 16-bit hardware, a comment in cc.c says
> /* A .c file must always be mishandled by irrel. */
It is not *necessary*, just helpful. The purpose of irrel is to remove
the "irrelevant" prototypes. That way, you can feed to the (K&R) 16-bit
compiler with sources having prototypes in the headers.
That trick was proposed IIUC by Wietse Venema (of Postfix fame), which
later developed the unproto package which is standalone. The MINIX guys
(AST according to the source) picked up the idea and integrated it
inside the compiler, calling the irrel pass on the fly between
preprocessor (which does understand ANSI CC even in its 16-bit
implementation) and the 'ccom' main compiler (which in its 16-bit
compiled form cannot understand the full standard while staying inside
the 64KB frame, at least for not-trivial source files.)
Once you are running ACK on any 32-bit platform, irrel is completely
unnecessary; unless you plan to use the unsupported "old" compiler, but
I do not believe the complete source for it have been made available.
And even if you are on the MINIX-86 platform, perhaps planning to
rebuild MINIX 2.0.x *from scratch* (M86FS.org, sounds nice ;-) ), then I
guess you'll find more required stuff is missing: last time I tried, I
was not able to rebuild a i86-on-i86 ACK compiler with the public
sources salvaged in 2005; and ackpack specifically targets 32-bit
machines (mainly 2.0.x, 3.0.x or 3.1.x MINIX-386.)
> I hope the persons who were involved in building the named installation
> media are possibly reading this forum or can be reached, somehow.
>
> Which source was the irrel pass binary built from? Can it be recovered?
It is my understanding Kees' hard disk suffered a serious failure at one
point, and some content were definitively lost then; I do not know if it
applies to ACK sources as used for MINIX 1.6-to-2.0.4 (or VMD). Perhaps
I am wrong (I hope so!) and all that stuff can be resurfaced.
Antoine