[PATCH] kernel32: Save xmm0 - 3 to work around a Delphi bug on x86_64.

Stefan Dösinger stefandoesinger at gmail.com
Tue Feb 6 04:45:32 CST 2018



> Am 06.02.2018 um 11:26 schrieb Huw Davies <huw at codeweavers.com>:
> 
> When delay loading a symbol, Delphi saves rcx, rdx, r8 and r9 to the
> stack.  It then calls GetProcAddress(), pops the saved registers and
> calls the function.  This works fine if all of the parameters are
> ints.  However, since it does not save xmm0 - 3, it relies on
> GetProcAddress() preserving these registers if the function takes
> floating point parameters.
This is mostly for me trying to understand things: What would make changes to those registers inside GetProcAddress? Afaics this function shouldn’t do anything floating point related.




More information about the wine-devel mailing list