fix fesetenv(FE_DFL_ENV) on i386

the default fenv was not set up properly, in particular the
tag word that indicates the contents of the x87 registers was
set to 0 (used) instead of 0xffff (empty)

this could cause random crashes after setting the default fenv
because it corrupted the fpu stack and then any float computation
gives NaN result breaking the program logic (usually after a
float to integer conversion).
This commit is contained in:
Szabolcs Nagy 2014-02-09 18:19:03 +01:00
parent 758ab35a16
commit 929729d430

View File

@ -126,7 +126,7 @@ fesetenv:
push %eax
push %eax
push %eax
push %eax
pushl $0xffff
push %eax
pushl $0x37f
fldenv (%esp)