[PATCH v2 0/4] MR375: ntdll: Fixes for runtime 64-bit shift functions.
Jinoh Kang (@iamahuman)
wine at gitlab.winehq.org
Wed Jul 6 10:50:54 CDT 2022
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.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/375#note_3465
More information about the wine-devel
mailing list