On 27.04.2020 12:14, Martin Storsjö wrote:
On Mon, 27 Apr 2020, Jacek Caban wrote:

On 27.04.2020 11:46, Steve Lhomme wrote:
On 2020-04-24 14:44, Jacek Caban wrote:
On 24.04.2020 13:43, Steve Lhomme wrote:
It's needed by:
- __delayLoadHelper2() in mingwex


I'm not sure what are the exact compatibility considerations here, but for win8+ builds we could just use LdrResolveDelayLoadedAPI and make __delayLoadHelper2 just a thin wrapper. See how Wine handles it:

https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/winecrt0/delay_load.c#l38 If we consider UCRT builds to be win8+, we could do the same for UCRT builds.

I tried to play with that. But in the end that means building mingwex that can only be used with win8+ or not pass the store.


We would need to move __delayLoadHelper2 to be defined in msvcrt importlib first. Then we could use different implementation for different crts. UCRT could use LdrResolveDelayLoadedAPI, but other msvcrt version could keep using the existing implementation.

Wasn't LdrResolveDelayLoadedAPI only available since Win 8? UCRT is runnable on Win 7, and I don't think we want to drop support for that combination. (Not that most users use delay loading, but anyway...)


Yes. That's also where separate crt would be handy again: we could change it only for UWP builds. I'm not sure it's a big deal to limit support for win7 in UCRT in general, but if you prefer to support that, that's fine with me. We will need a compat stub then.


Thanks,

Jacek



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to