On Fri Feb 17 06:41:18 2023 +0000, Nikolay Sivov wrote:
I don't remember why it was done like that, maybe for testing purposes, maybe there is some connection to mingw-w64. Tests are built with msvcrt, so that we can run them on any clean Windows installation. You don't have to know which one to use, as long as you use common subset that both crts provide.
Never mind, I just found Jacek's explanation at https://bugs.winehq.org/show_bug.cgi?id=51465#c28:
It's not clear to me that linking to msvcrt.dll would make things much better. We would then be possibly missing ucrtbase.dll being loaded. On Windows, ucrtbase.dll ends up being used in quite some cases and I think that usually both msvcrt.dll and ucrtbase.dll end up being loaded.
For each DLL where _recalloc would be nice, I checked its dependencies on Windows 11 with Dependency Walker. All of them had msvcrt as a dependency and not ucrtbase. Even user32 had msvcrt as a dependency. So, it seems to me that ucrtbase being loaded instead of or in addition to msvcrt is the exception rather than the rule, and it would be better to make msvcrt the default in Wine.