From 8c985b2b66754335b13e170f91733f5408e828e5 Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Wed, 3 Feb 2021 13:00:06 +0300 Subject: [PATCH] ntdll: Exclude large integer APIs from relay tracing. 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 Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard (cherry picked from commit 8d7ec7968df1750c9c525817f1366b57fa72d839) Signed-off-by: Michael Stefaniuc --- 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 8ffef6b5f7d..cb6b7b12dad 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