Hello. Bart Oldeman wrote: >> functionality. Then you can safely >> remove the "BUG" stuff I think. > Yes, that looks like the proper fix to me. We probably have to contact Alberto to find out if his tests are passed with that patches because my testcase for the "BUG" includes only FoxPro...
>> > Would you accept such a patch? > That would be me. Well together with Stas' patch I would accept it. But that was: > But I do have time to > create a patch to allow people to enable the BUG: code from > dosemu.conf. and this patch we don't need anymore. The attached patch removes the "BUG" stuff leaving it only for the dosemu flags. It is always a good idea to have dosemu flags protected I think. How they got infected is still unclear however this doesn't seem to happen with my patches.
--- src/arch/linux/async/sigsegv.c Sun Jul 28 10:51:57 2002 +++ src/arch/linux/async/sigsegv.c Sun Jul 28 10:52:23 2002 @@ -99,8 +99,10 @@ pushl %%eax\n \ popfl" \ : : "i"(~(AC|ID)) : "%eax"); +#if 0 _eflags &= ~(AC|ID); REG(eflags) &= ~(AC|ID); +#endif if (in_vm86) { in_vm86 = 0; --- src/dosext/dpmi/dpmi.c Sun Jul 28 10:51:02 2002 +++ src/dosext/dpmi/dpmi.c Sun Jul 28 10:51:30 2002 @@ -2172,12 +2172,14 @@ retval=DO_VM86(&vm86s); in_vm86=0; +#if 0 /* This will let foxpro run with cpu>=486 */ if (_EFLAGS & (AC|ID)) { _EFLAGS &= ~(AC|ID); if (debug_level('M')>3) D_printf("BUG: AC,ID set; flags changed to %08x\n",_EFLAGS); } +#endif if ( #ifdef TRACE_DPMI --- src/emu-i386/do_vm86.c Sun Jul 28 10:49:48 2002 +++ src/emu-i386/do_vm86.c Sun Jul 28 10:50:23 2002 @@ -474,12 +474,15 @@ } #endif /* USE_NEW_INT */ +#if 0 /* This will protect us from Mr.Norton's bugs */ if (_EFLAGS & (AC|ID)) { _EFLAGS &= ~(AC|ID); if (debug_level('g')>3) dbug_printf("BUG: AC,ID set; flags changed to %08x\n",_EFLAGS); } +#endif + if ( #ifdef X86_EMULATOR (debug_level('e')>1)||