perl compilation problems on a fortune 32:16

Bakul Shah bvs at light.uucp
Wed May 18 12:20:58 AEST 1988


In article <11532 at mimsy.UUCP> chris at mimsy.UUCP (Chris Torek) writes:
>In article <240 at sdba.UUCP> stan at sdba.UUCP (Stan Brown) writes:
>>... the machine that I am working on is a Fortune 32:16
>>(a 68000) box.  The error that I am geting occcurs during the compliation
>>of perl.c and is something like:
>>	... compiler error: no table entry for SASG
...
>>	    arg[j++] = node[1];
>>	    ^^^^^^^^^^^^^^^^^^^
>
>This is somewhat curious, as delay() should have deferred the j++.
>But who knows what lurks in the heart of an ancient PCC.

I somehow missed the original article...  Anyway, Fortune's compiler was
hacked quite a bit and in the process the compiler people may have deleted
a table entry or two.  Atleast that is what I have suspected all along.

>At any rate, there is no way to fix this sort of thing without compiler
>sources, and I imagine those are hard to get (did not Fortune quit
>making 32:16s?).  About all you can do is experiment with rephrasing
>the line of code that triggers the compiler bug.

I don't think one can get to Fortune's C compiler sources (and GNU C is
too damn big to fit on a fortune 32:16).

Generally simplifying expressions works on the fortune C compiler.
The following fix worked for me.

diff -r perl/perly.c perl.dist/perly.c
2197,2198c2197
< 	    register ARG * a = &arg[j++];
< 	    *a++ = node[1];
---
> 	    arg[j++] = node[1];
2200c2199
< 		*a = node[2];
---
> 		arg[j] = node[2];

BTW, if ``printf("%.20g", 5.0);'' gives you 5.0000000000000000 instead
of just 5, you may need to patch ecvt.o.  Without this fix perl is not
happy.  Unfortunately I don't remember all the gory details at this
moment and that'll have to wait until I find the original ecvt.o from my
backup floppies (ugh...) and prepare a patch.

Drop me a line if any of you netfolks have any fortune 32:16 related
questions.

-- Bakul Shah <..!{ucbvax,sun}!amdcad!light!bvs>



More information about the Comp.unix.questions mailing list