On 27.01.2021 17:19, Dmitry Timoshkov wrote:
Zhiyi Zhang zzhang@codeweavers.com wrote:
This seems to be incorrect. _alldiv() returns a LONGLONG.
I guess by incorrect you mean the expalantion in 9be8c5255bb2c02467373bf373b6eefcfb0337ac about implicit struct being passed in the first parameter. However, the patch fixes the crash with relay debugging enabled while the reason may be different.
I think that the reason this help is that we 'lie' in spec about the calling convention to get a proper importlib. It's a stdcall function that's imported without stdcall decorations. We don't have a way to express that in spec file (and given that those are the only exceptions I know, it's probably not worth extending spec syntax). See [1] for a list of such functions. I think that the fix is right, but we need that for other functions as well. (Another solution would be to provide static versions of them).
Thanks,
Jacek
[1] https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ntdll/large_int.c#l52...