First a problem I forgot in my last letter: the 386/ix cc produces
a wrong assembler instruction at constructions like

        void foo()
            char ch_array[SIZE], ch = 0;
            ch_array[ch] = ch;
        

Therefor I have to change the lines 106 to 108 in `itex.c' from

    register integer for_end; i = 0 ; for_end = 31 ; if ( i <= for_end) do
      xchr[ i ] = chr( i ) ;
    while ( i++ < for_end ) ; 
to
    register integer for_end; register char j; i = 0 ; for_end = 31 ;
    if ( i <= for_end) do 
      j = i; xchr[ j ] = chr( i ) ; 
    while ( i++ < for_end ) ; 

as a work around. I wrote a shell script to do this exchange and extended
`texdir/convert' by a call of `fix386ixccbug'. You will find this script
in this directory.

I compiled TeX again with `regfix' enabled. It causes no problem and
increases speed about 13%.

The following doesn't belong direct to `web2c', so I'll send this to the
UNIX TeX coordinator too (hello Pierre).

A first try to produce a preloaded TeX with the `undump.SYS_V.c' program
fails. `undump' didn't detect any errors and the new a.out looks fine,
but `exec(2)' didn't recognize it as *executable* though all magic
numbers are correct and in the right place. It was executed like a
shell script and died with a syntax error.
Running `undump' in sdb shows that 386/ix COFFs contain .text, .data and
bss sections plus an additional .comment section. This section contains
a lot of strings with SCCS identification stuff, but seems to be required
and not only a comment as its name says. (A can't find any documentation
about this in my manuals.) After copying this section into the new a.out
too, it starts up right. Inserting just a `.comment' section header
with `s_scnptr' and `s_size' set to zero doesn't work. I don't know for
what this 2 kb of stuff is good for.

The diffs to undump.SYS_V.c are included in the shell archive at the end
of this mail. I inserted things necessary for 386/ix with `#ifdefs' and
added `-DISC_386ix' to the CFLAGS in the ./undump/Makefile. This is not
the best solution, undump.SYS_V.c should be rewritten to handle COFF
in a more general way. Maybe I'll find some time to do it in the future.
I tested the 386/ix undump with the stripped version of TeX (-s ld flag)
only, I can't guarantee that it works correct with linenumbers and symbolic
information included!

The preloaded version of latex starts up in 5 seconds vs. 15 seconds
for 'virtex \&lplain'. Because of the tremendous size of preloaded TeXs,
I produced them only for the often used ones. The other ones are called
through a general interface shell script, which I included in the
archive below.

-- reiner
----------------------------------------------------------------------
BITNET: reiner at db0tui62                           Reiner Petersen
        PETERSEN at DB0TUI11                         TU-Berlin, FR 5-9
UUCP:   ...!pyramid!tub!coma!reiner (overseas)       Franklinstr. 28/29
        ...!unido!tub!coma!reiner   (Europe)         D-1000 Berlin 10
                                                     +49 30 314-73419
