[PATCH v2] ntdll: Exclude large integer APIs from relay tracing.
According to the comment in large_int.c: These builtin functions use stdcall calling convention, but compilers reference them without stdcall declarations. Otherwise ucrtbase initialization code crashes with +relay enabled when compiled with clang as a PE build. Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru> --- dlls/ntdll/ntdll.spec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 0a2c2493334..185dd6767eb 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -1450,17 +1450,17 @@ @ cdecl __iscsym(long) @ cdecl __iscsymf(long) @ cdecl __toascii(long) -@ cdecl -arch=i386 -ret64 _alldiv(int64 int64) +@ cdecl -norelay -arch=i386 -ret64 _alldiv(int64 int64) @ cdecl -arch=i386 -norelay _alldvrm(int64 int64) -@ cdecl -arch=i386 -ret64 _allmul(int64 int64) +@ cdecl -norelay -arch=i386 -ret64 _allmul(int64 int64) @ cdecl -arch=i386 -norelay _alloca_probe() -@ cdecl -arch=i386 -ret64 _allrem(int64 int64) +@ cdecl -norelay -arch=i386 -ret64 _allrem(int64 int64) @ stdcall -arch=i386 -ret64 _allshl(int64 long) @ stdcall -arch=i386 -ret64 _allshr(int64 long) @ cdecl -ret64 _atoi64(str) -@ cdecl -arch=i386 -ret64 _aulldiv(int64 int64) +@ cdecl -norelay -arch=i386 -ret64 _aulldiv(int64 int64) @ cdecl -arch=i386 -norelay _aulldvrm(int64 int64) -@ cdecl -arch=i386 -ret64 _aullrem(int64 int64) +@ cdecl -norelay -arch=i386 -ret64 _aullrem(int64 int64) @ stdcall -arch=i386 -ret64 _aullshr(int64 long) @ cdecl -arch=i386 -norelay _chkstk() @ stub _fltused -- 2.29.2
participants (2)
-
Dmitry Timoshkov -
Jacek Caban