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-0564
mike@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.org
nvk@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