Wine 64 bit

Ken Thomases ken at codeweavers.com
Thu Feb 20 10:20:49 CST 2014


On Feb 20, 2014, at 7:28 AM, Stefan Dösinger wrote:

> I don’t know the exact details myself (Ken is the expert), but the answer is that it does not work, and probably never will. OSX has a ABI incompatibility with Win64 - OSX overwrites a CPU register that Win64 applications expect to remain untouched. Apple can’t change the ABI because there are already 64 bit OSX apps that expect things to work that way. A potential workaround may be to run Wine inside a CPU emulator like qemu, but that is anything but easy.

Actually, Alexandre is the expert, but this is my understanding as well.

Besides running under an emulator, it may be possible to wrap every call out to system libraries with code to save and restore the register.  Or, if you prefer to think of it this way, the wrapper would be on exit from and entry back into native Windows binary code.  This would be somewhat similar to what we do with stack alignment, although we have compiler help for that.  Either way, that would probably impose a significant performance penalty.

-Ken




More information about the wine-devel mailing list