[PATCH 0/3] MR375: ntdll: Fixes for runtime 64-bit shift functions.

Zebediah Figura zfigura at codeweavers.com
Tue Jul 5 21:42:02 CDT 2022


On 7/5/22 05:28, Jacek Caban (@jacek) wrote:
> Jacek Caban (@jacek) commented about dlls/ntdll/large_int.c:
>>       return udivmod(a, b, NULL);
>>   }
>>   
>> +
>> +LONGLONG __regs__allshl( LONGLONG a, unsigned char b )
>> +{
>> +    return a << b;
> It's a preexisting problem, but I think that doing this entirely in assembly would be safer. _allshl is an internal compiler function and a compiler may implement this statement by emitting _allshl function call here. GCC doesn't do that, because it emits calls to libgcc instead, but clang in msvc mode is free to do so.
> 

I've attempted to address this by adding a patch to use 32-bit 
arithmetic instead.



More information about the wine-devel mailing list