[PATCH] msvcrt: Fix lldiv definition in spec files.

Paul Gofman pgofman at codeweavers.com
Thu Jan 21 15:29:10 CST 2021


lldiv returns lldiv_t structure (which includes two int64).
In such case the address of return structure is implicitly
passed as the first parameter.

Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
---
    Fixes No Man's Sky crashig with +relay trace.

 .../api-ms-win-crt-utility-l1-1-0.spec                          | 2 +-
 dlls/msvcr100/msvcr100.spec                                     | 2 +-
 dlls/msvcr110/msvcr110.spec                                     | 2 +-
 dlls/msvcr120/msvcr120.spec                                     | 2 +-
 dlls/msvcr120_app/msvcr120_app.spec                             | 2 +-
 dlls/ucrtbase/ucrtbase.spec                                     | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/dlls/api-ms-win-crt-utility-l1-1-0/api-ms-win-crt-utility-l1-1-0.spec b/dlls/api-ms-win-crt-utility-l1-1-0/api-ms-win-crt-utility-l1-1-0.spec
index c81c3d42127..62e79a35cda 100644
--- a/dlls/api-ms-win-crt-utility-l1-1-0/api-ms-win-crt-utility-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-utility-l1-1-0/api-ms-win-crt-utility-l1-1-0.spec
@@ -22,7 +22,7 @@
 @ cdecl labs(long) ucrtbase.labs
 @ cdecl -ret64 ldiv(long long) ucrtbase.ldiv
 @ cdecl -ret64 llabs(int64) ucrtbase.llabs
-@ cdecl lldiv(int64 int64) ucrtbase.lldiv
+@ cdecl lldiv(ptr int64 int64) ucrtbase.lldiv
 @ cdecl qsort(ptr long long ptr) ucrtbase.qsort
 @ cdecl qsort_s(ptr long long ptr ptr) ucrtbase.qsort_s
 @ cdecl rand() ucrtbase.rand
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index b15a6219c52..e79fa9e3aed 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -1733,7 +1733,7 @@
 @ cdecl ldexp(double long)
 @ cdecl -ret64 ldiv(long long)
 @ cdecl -ret64 llabs(int64)
-@ cdecl lldiv(int64 int64)
+@ cdecl lldiv(ptr int64 int64)
 @ cdecl localeconv()
 @ cdecl log(double)
 @ cdecl -arch=!i386 logf(float)
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index c4782b5977b..8a69cbac82f 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -2091,7 +2091,7 @@
 @ cdecl ldexp(double long)
 @ cdecl -ret64 ldiv(long long)
 @ cdecl -ret64 llabs(int64)
-@ cdecl lldiv(int64 int64)
+@ cdecl lldiv(ptr int64 int64)
 @ cdecl localeconv()
 @ cdecl log(double)
 @ cdecl -arch=!i386 logf(float)
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index b8ba61a2e8c..09a1f99401d 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -2247,7 +2247,7 @@
 @ cdecl lgammaf(float)
 @ cdecl lgammal(double) lgamma
 @ cdecl -ret64 llabs(int64)
-@ cdecl lldiv(int64 int64)
+@ cdecl lldiv(ptr int64 int64)
 @ cdecl -ret64 llrint(double)
 @ cdecl -ret64 llrintf(float)
 @ cdecl -ret64 llrintl(double) llrint
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index b99bb2ee614..7e9d096a8eb 100644
--- a/dlls/msvcr120_app/msvcr120_app.spec
+++ b/dlls/msvcr120_app/msvcr120_app.spec
@@ -1910,7 +1910,7 @@
 @ cdecl lgammaf(float) msvcr120.lgammaf
 @ cdecl lgammal(double) msvcr120.lgammal
 @ cdecl -ret64 llabs(int64) msvcr120.llabs
-@ cdecl lldiv(int64 int64) msvcr120.lldiv
+@ cdecl lldiv(ptr int64 int64) msvcr120.lldiv
 @ cdecl -ret64 llrint(double) msvcr120.llrint
 @ cdecl -ret64 llrintf(float) msvcr120.llrintf
 @ cdecl -ret64 llrintl(double) msvcr120.llrintl
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index b1d6cf992b4..ad6ac73a17e 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -2381,7 +2381,7 @@
 @ cdecl lgammaf(float)
 @ cdecl lgammal(double) lgamma
 @ cdecl -ret64 llabs(int64)
-@ cdecl lldiv(int64 int64)
+@ cdecl lldiv(ptr int64 int64)
 @ cdecl -ret64 llrint(double)
 @ cdecl -ret64 llrintf(float)
 @ cdecl -ret64 llrintl(double) llrint
-- 
2.29.2




More information about the wine-devel mailing list