[6051] in Athena Bugs
RT /usr/lib/libfp.a
daemon@ATHENA.MIT.EDU (John Carr)
Mon Sep 17 01:57:41 1990
To: bugs@ATHENA.MIT.EDU
In-Reply-To: bugs[5920]
Date: Mon, 17 Sep 90 01:57:30 EDT
From: John Carr <jfc@ATHENA.MIT.EDU>
An RT floating point operation with an operand which is a single
precision float in a general register can cause invalid 68881 code to
be compiled. This is a fix:
*** /source/bsd-4.3/rt/usr.lib/libfp/genfp/f881gen.c Fri Jun 16 17:35:44 1989
--- f881gen.c Mon Sep 17 01:53:39 1990
***************
*** 309,315 ****
if (is_scratchg(gi, (rr & 0x0f)))
fp_free_genr(gi, (rr & 0x0f));
! if (is_scratchg(gi, (rr >> 4)))
fp_free_genr(gi, (rr >> 4));
return (i);
--- 309,315 ----
if (is_scratchg(gi, (rr & 0x0f)))
fp_free_genr(gi, (rr & 0x0f));
! if (is_double(rr) && is_scratchg(gi, (rr >> 4)))
fp_free_genr(gi, (rr >> 4));
return (i);
This should be forwarded to IBM through official channels.