In one of the issues (536?) there was some discovery suggesting that certain
compiler flags would fix it. So I wonder if depending on compiler flags FNINIT
is sometimes skipped for optimization reasons. See this from “Simply FPU blog”:
“FINIT / FNINIT (Initialize FPU)
Syntax: finit (no operand)
fninit (no operand)
The FINIT and FNINIT have exactly the same coding except that the FINIT is
automatically preceded by the FWAIT code.
This instruction initializes the FPU by resetting all the registers and flags
to their default values. (Refer to Chap.1 Description of FPU Internals for
default values.)
Due to some of the restrictions of the FPU, it is good programming practice to
take the precaution of initializing it before starting any computation, unless
it is known that data has been left in it for further processing. If several
sections of code use the FPU and the programmer is careless about not leaving
the data registers "empty" in some of them, they can fill up very rapidly.””
--
You received this message because you are subscribed to the Google Groups "OSv
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.