So I've just read the following article:
GCC 4.3.0 exposes a kernel bug http://lwn.net/SubscriberLink/272048/ecf14f359bcdcd15/
And my question is: could this be relevant to Wine? And I don't mean about GCC 4.3.0 but about MSVC.
Here's the core of the issue:
The problem revolves around the x86 direction flag (DF), which governs whether block memory operations operate forward through memory or backwards. GCC [...] 4.3.0, assumes that the direction flag has been cleared [...] at the entry of each function, as is specified by the ABI [...] Prior to 4.3, GCC would emit a cld (clear direction flag) opcode before doing inline string or memory operations.
So any compiler that not clear the direction flag at the start of each function can cause kernel crashes when running on a buggy Linux or BSD kernel.
So the questions are:
Does anyone know if MSVC does a cld in the right places?
What about other popular compilers used to compile Windows applications?
Mac OS X being (loosely) based on the BSD kernels, does it have this issue too?