9fans archive / 1996 / 03 / 28 / prev next
From: Ken Thompson ken@pla...
Subject: No subject
Date: Sun, 10 Mar 1996 19:22:08 -0500
> Compiling gs, I ran cross a bug, distilled down to the
> following:
>
> term% cat x.c
> void foo()
> {
> char a;
> int b;
> char d[1];
> long e = a | (1 << b);
>
> while (1) d[b] = e;
> }
>
> term% 8c x.c && 8l x.8
> foo: doasm: notfound (6) SALL BX,AX
>
> foo: doasm: notfound (6) SALL BX,AX
>
> foo: doasm: notfound (6) SALL BX,AX
the fix is to add the following lines.
in /sys/src/cmd/8c/peep.c
165a166,177
> case AROLB:
> case AROLL:
> case AROLW:
> case ARORB:
> case ARORL:
> case ARORW:
> case ASALB:
> case ASALL:
> case ASALW:
> case ASARB:
> case ASARL:
> case ASARW: