From: huntercr AT cs DOT purdue DOT edu (Charles Hunter) Subject: OS/2 + DJGPP + emu387 = big problems To: DJGPP AT sun DOT soe DOT clarkson DOT edu (djgpp mailing list) Date: Wed, 29 Mar 1995 10:28:23 -0500 (EST) Cc: huntercr AT cs DOT purdue DOT edu (Charles Randolph Hunter) Well, so much for creative subject headers. I have just run into a strange conflict that I think has been going on for quite some time [ just never knew the reason before... see below ] When I run any djgpp app or util that uses FPU instructions under OS/2, emu387 does not work. Under DOS I would have strange crashings all the time and it just so happens that these occur in the same place, when a coprocessor instruction is executed. I never could figure out what was going on before since I had nothing but a hard reset in my future under DOS but OS/2 nicely tells me what happened. My fix before was to not use DPMI, but I cannot do that under OS/2. So what can I do? Thanks in advance, Charles ------------------------------------------------------------------------------ Here's all the information: ------------------------------------------------------------------------------ i386-20sx ATI Mach 32 w/2MB 8 MB RAM 270 MB HDD [ FAT ] OS/2 WARP, MSDOS 6.0 [ MDOS 5.0 ] DJGPP 1.2m4 current versions of gcc, info,binutils etc... ******** config.sys: ****************************************************** [ OS/2 config.sys.. ask me for it if you want it ] current settings for: DMPI= 8MB EMS= 16MB XMS= 8MB DOS in high memory etc ... ***************************************************************************** ******** autoexec.bat ( for os/2 MDOS ): ************************************ @ECHO OFF ECHO. PROMPT $p$g PATH C:\OS2;C:\OS2\MDOS;C:\DOS;C:\DOS\LOCAL;C:\; SET TMP=C:\TMP \os2\mdos\doskey /INSERT ****************************************************************************** ******** djgpp.bat [ my batch file for enabling djgpp settings ] ************ @echo off set dj=e set DJGPP=%dj%:/djgpp/djgpp.env set GO32TMP=c:/temp set emu= e:/djgpp/bin/emu387 PATH = %PATH%;%dj%:\djgpp\bin;%dj%:\djgpp\include if "%1" == "/dos" goto dos if "%1" == "/os2" goto os2 echo autodetecting... if exist c:\os2\system\config.dos goto os2 :dos echo DOS DJGPP settings enabled... set GO32=emu %dj%:\djgpp\bin\emu387 nodpmi topline 2r1 nc 256 goto e :os2 echo OS/2 DJGPP (DPMI) settings enabled... set GO32=emu %dj%:\djgpp\bin\emu387 2r1 nc 256 :e *************************************************************************** ******** djgpp.env: ******************************************************* DJDIR=%:/>DJGPP% +USER=dosuser +TMPDIR=%DJDIR%/tmp +GO32TMP=%DJDIR%/tmp [bison] BISON_HAIRY=%DJDIR%/lib/bison.hairy BISON_SIMPLE=%DJDIR%/lib/bison.simple [cpp] CPLUS_INCLUDE_PATH=%/>;CPLUS_INCLUDE_PATH%%DJDIR%/cplusinc;%DJDIR%/include C_INCLUDE_PATH=%/>;C_INCLUDE_PATH%%DJDIR%/include OBJCPLUS_INCLUDE_PATH=%/>;OBJCPLUS_INCLUDE_PATH%%DJDIR%/include;%DJDIR%/include/objc OBJC_INCLUDE_PATH=%/>;OBJC_INCLUDE_PATH%%DJDIR%/include;%DJDIR%/include/objc [flex] FLEX_SKELETON=%DJDIR%/lib/flex.skeleton [gcc] COMPILER_PATH=%/>;COMPILER_PATH%%DJDIR%/bin LIBRARY_PATH=%/>;LIBRARY_PATH%%DJDIR%/lib [info] INFOPATH=%/>;INFOPATH%%DJDIR%/docs;%DJDIR%/docs/djgpp;%DJDIR%/docs/texinfo *************************************************************************