nvk@ddsw1.MCS.COM (Norman Kohn) (01/07/90)
Microport's dos merge kernel seems to have some problem with
80387 emulation. On a machine with no math coprocessor the code
#define MATHTYPE int
main()
{
MATHTYPE x;int j;
j=2;
x=(MATHTYPE) j;
j=(int) x;
printf("%d\n",j);
}
fails (produces results of 0) if MATHTYPE is float or double.
sdb confirms that the conversions are failing.
This may suggest why awk, which uses floating point heavily, gets very confused
under DOSMERGE.
The good news is that someone actually answers the phone at microport,
and claims to have a newer merge kernel: maybe :) they'll have
a fix for it. (A machine with 80287 does ok: at least an
80387 is cheaper than buying Interactive's unix.)
--
Norman Kohn | ...ddsw1!nvk
Chicago, Il. | days/ans svc: (312) 650-6840
| eves: (312) 373-0564mike@cimcor.MN.ORG (Michael Grenier) (01/08/90)
From article <1990Jan6.230548.23780@ddsw1.MCS.COM>, by nvk@ddsw1.MCS.COM (Norman Kohn):
% Microport's dos merge kernel seems to have some problem with
% 80387 emulation. On a machine with no math coprocessor the code
% #define MATHTYPE int
% main()
% {
% MATHTYPE x;int j;
% j=2;
% x=(MATHTYPE) j;
% j=(int) x;
% printf("%d\n",j);
% }
% fails (produces results of 0) if MATHTYPE is float or double.
% sdb confirms that the conversions are failing.
% This may suggest why awk, which uses floating point heavily, gets very confused
% under DOSMERGE.
Strange, the above code worked fine on this machine. The previously
posted awk script also ran fine on this 386 DosMerge Kernel
without an FP. I strongly suggest a CPU board problem is
at fault here.
-Mike Grenier
mike@cimcor.mn.orgnvk@ddsw1.MCS.COM (Norman Kohn) (01/11/90)
In article <10@cimcor.MN.ORG> mike@cimcor.MN.ORG (Michael Grenier) writes: >From article <1990Jan6.230548.23780@ddsw1.MCS.COM>, by nvk@ddsw1.MCS.COM (Norman Kohn): >% Microport's dos merge kernel seems to have some problem with >% 80387 emulation. On a machine with no math coprocessor the code >% #define MATHTYPE int >% main() >% { >% MATHTYPE x;int j; >% j=2; >% x=(MATHTYPE) j; >% j=(int) x; >% printf("%d\n",j); >% } >% fails (produces results of 0) if MATHTYPE is float or double. >% sdb confirms that the conversions are failing. >% This may suggest why awk, which uses floating point heavily, gets very confused >% under DOSMERGE. > >Strange, the above code worked fine on this machine. The previously >posted awk script also ran fine on this 386 DosMerge Kernel >without an FP. I strongly suggest a CPU board problem is >at fault here. > It would seem so, yet everything works fine with the 3.0e kernel. I have the first post-beta MERGE release (I don't know its number) and am awaiting uport's more recent update. Perhaps you're running a more recent version? -- Norman Kohn | ...ddsw1!nvk Chicago, Il. | days/ans svc: (312) 650-6840 | eves: (312) 373-0564