[6051] in Athena Bugs

home help back first fref pref prev next nref lref last post

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.


home help back first fref pref prev next nref lref last post