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

Zebediah Figura (she/her) zfigura at codeweavers.com
Wed Jul 6 21:57:45 CDT 2022


On 7/6/22 10:50, Jinoh Kang (@iamahuman) wrote:
> Jinoh Kang (@iamahuman) commented about dlls/ntdll/tests/large_int.c:
>>   static void test_builtins(void)
>>   {
>>   #ifdef __i386__
>> +    void *code_mem;
>>       ULONGLONG u;
>>       LONGLONG l;
>>   
>> +    static const BYTE call_shift_code[] =
>> +    {
>> +        0x31, 0xc0,             /* xorl %eax,%eax */
>> +        0x31, 0xd2,             /* xorl %edx,%edx */
>> +        0x31, 0xc9,             /* xorl %ecx,%ecx */
>> +        0x87, 0x44, 0x24, 0x08, /* xchgl 8(%esp),%eax */
>> +        0x87, 0x54, 0x24, 0x0c, /* xchgl 12(%esp),%edx */
>> +        0x87, 0x4c, 0x24, 0x10, /* xchgl 16(%esp),%ecx */
>> +        0xff, 0x64, 0x24, 0x04, /* jmp *4(%esp) */
> It might be a good idea to test for difference of `esp` before and after the call.
> 

Yes, that strikes me as a good idea as well.



More information about the wine-devel mailing list