> Pentium Pro 200, the emulator achieves about 1.5-2.5 MIPS (Pentium II
> 400 achieves about 10 MIPS). Once Linux/390 was up with access to the
> Internet, I compiled MUX 2.1 on it -- something which took about 12
> hours.
Ouch 8)
> and then either the compiler or one of the emulation layers is
> performing the operation +(a,b) --> a+a instead of a+b.
>
> It's not a hugely critical request as I don't expect anyone to host MUX
> 2.1 on an hercules-emulated Linux/390. Still, bugs are bugs.
gdb is your friend.
Stick a breakpoint just before the misbehaving code and you can look at the
values before during and after and see what is going on.
If it appears it might be a compiler bug another useful trick is to stick
something like
static void irrelevant(void)
{
static volatile int x;
x++;
}
and call irrelevant() between each stage of the misbehaving code - this
forces the compiler to discard temporaries and other stuff. If it changes the
behaviour you have a good candiate for suspicion.
Alan (who is chasing what looks like an FPU bug in phoon still)