On 9/10/21 9:48 PM, Piotr Caban wrote:
Hi Francois,
The patch is already in wine but it breaks Rémi's change:
commit a24ad51e3f2515c1970b56f8dfe2206e2b282dc9 Author: Rémi Bernon rbernon@codeweavers.com Date: Tue Nov 10 16:58:37 2020 +0100
msvcrt: Make locale and thread helper functions CDECL.
This prevent callers from having to save SSE registers to the stack.
It is for instance the case in MSVCRT__towlower_l, which is called on every character by MSVCRT__wcsicmp_l.
Maybe it's better to use CDECL on all internal static functions instead? This change probably deserves a comment so it's not removed in future.
Things may have changed now that msvcrt is built as PE, as all the functions should be ms_abi by default, while they were sysv_abi by default at the time of that change (causing an abi change and register spilling between the exported functions and any internal helpers).