Revision f7835e1c20836f286f00d6bcc69f154493e01475 authored by Andy Polyakov on 11 September 2014, 22:06:00 UTC, committed by Andy Polyakov on 21 September 2014, 22:07:44 UTC
Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 902b30df193afc3417a96ba72a81ed390bd50de3)
1 parent 11d8abb
ultrixcc.c
#include <stdio.h>
/* This is a cc optimiser bug for ultrix 4.3, mips CPU.
* What happens is that the compiler, due to the (a)&7,
* does
* i=a&7;
* i--;
* i*=4;
* Then uses i as the offset into a jump table.
* The problem is that a value of 0 generates an offset of
* 0xfffffffc.
*/
main()
{
f(5);
f(0);
}
int f(a)
int a;
{
switch(a&7)
{
case 7:
printf("7\n");
case 6:
printf("6\n");
case 5:
printf("5\n");
case 4:
printf("4\n");
case 3:
printf("3\n");
case 2:
printf("2\n");
case 1:
printf("1\n");
#ifdef FIX_BUG
case 0:
;
#endif
}
}

Computing file changes ...