[PATCH] msvcrt: Remove CDECL on static functions where not needed.

Rémi Bernon rbernon at codeweavers.com
Fri Sep 10 15:02:16 CDT 2021


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 at 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).
-- 
Rémi Bernon <rbernon at codeweavers.com>



More information about the wine-devel mailing list