Mail Archives: djgpp-workers/1997/01/04/12:34:32
> No further work is being done with DJGPP version 1. Does this problem
> exist in DJGPP version 2 also?
Yes. We tinker with the FPU state using the DPMI 1.0 EXTENSIONS. Instead
of just returning a carry flag to indicate this function isn't supported,
I'll guess they don't expect any function number this high and puke?
In any case, we could add a switch to the "387" environment variable, like
"Y" to bypass all of this code, and hopefully let it work.
> Workers: Can we reliably detect the Novell EMM386 and work around
> this? Sounds like a kludge, but the whole fpu emulation with DPMI has
> been a trifle sneaky from the beginning.
I would say first before trying to detect it, to see if the above hack
works at all on one of these boxes. I never had access to one of these
boxes to debug the problem (much less code a fix). Rainer seems to have
found the problem. Adding the following lines to npxsetup.c MIGHT be a
way to test for the problem:
*** npxsetup.c Sun Jan 14 01:56:16 1996
--- npxset2.c Sat Jan 4 10:25:14 1997
***************
*** 66,69 ****
--- 66,71 ----
cp = getenv("387");
+ if (cp && (tolower(cp[0]) == 'y'))
+ return;
if (cp && (tolower(cp[0]) == 'n'))
have_80387 = 0;
If doing this, linking to it before the libc, and "set 387=y" works around
the problem, then I'd worry about auto detection code. In any case, this
code might be useful for debugging/diagnosis reasons.
- Raw text -