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@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