Jinoh Kang (@iamahuman) commented about dlls/ntdll/large_int.c:
- Shift a 64 bit integer to the left.
- PARAMS
- a [I] Initial number.
- b [I] Number to shift a by to the left.
- RETURNS
*/
- The left-shifted value.
-LONGLONG WINAPI _allshl( LONGLONG a, LONG b ) +__ASM_GLOBAL_FUNC( _allshl,
"xchgl (%esp),%ecx\n\t"
"pushl %edx\n\t"
"pushl %eax\n\t"
"pushl %ecx\n\t"
"jmp " __ASM_NAME("__regs__allshl") )
We need to either drop the tail call or switch `__regs__allshl` to stdcall.
It might not have been caught by the test due to use of frame pointer.
(Ditto for other functions.)