[PATCH] msvcrt: Add __fpe_flt_rounds stub.

Alex Henrie alexhenrie24 at gmail.com
Thu Jun 9 20:12:39 CDT 2016


Cc: Piotr Caban <piotr at codeweavers.com>
Cc: Austin English <austinenglish at gmail.com>

Fixes https://bugs.winehq.org/show_bug.cgi?id=40765 - with this patch,
python.exe starts and can interpret basic commands.

The only thing that MSDN says about this function is that it is "used to
implement the CRT and the C++ Standard Library".[1] The function
prototype can be found in float.h in the Windows 10 SDK.

[1] https://msdn.microsoft.com/en-us/library/dn727675.aspx

Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
---
 .../api-ms-win-crt-runtime-l1-1-0.spec                           | 2 +-
 dlls/msvcrt/math.c                                               | 9 +++++++++
 dlls/ucrtbase/ucrtbase.spec                                      | 2 +-
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec b/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec
index 9864c6c..8d96f98 100644
--- a/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec
@@ -1,7 +1,7 @@
 @ stub _Exit
 @ cdecl -arch=i386 __control87_2(long long ptr ptr) ucrtbase.__control87_2
 @ cdecl __doserrno() ucrtbase.__doserrno
-@ stub __fpe_flt_rounds
+@ cdecl __fpe_flt_rounds() ucrtbase.__fpe_flt_rounds
 @ cdecl __fpecode() ucrtbase.__fpecode
 @ cdecl __p___argc() ucrtbase.__p___argc
 @ cdecl __p___argv() ucrtbase.__p___argv
diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c
index 402e8b2..c2024ae 100644
--- a/dlls/msvcrt/math.c
+++ b/dlls/msvcrt/math.c
@@ -970,6 +970,15 @@ unsigned int CDECL _clearfp(void)
 }
 
 /*********************************************************************
+ *		__fpe_flt_rounds (UCRTBASE.@)
+ */
+int * CDECL __fpe_flt_rounds(void)
+{
+    FIXME( "() stub\n" );
+    return NULL;
+}
+
+/*********************************************************************
  *		__fpecode (MSVCRT.@)
  */
 int * CDECL __fpecode(void)
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index 9d65d3c..14ffa63 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -89,7 +89,7 @@
 @ stub __dcrt_initial_narrow_environment
 @ cdecl __doserrno() MSVCRT___doserrno
 @ cdecl __dstbias() MSVCRT___p__dstbias
-@ stub __fpe_flt_rounds
+@ cdecl __fpe_flt_rounds()
 @ cdecl __fpecode()
 @ stub __initialize_lconv_for_unsigned_char
 @ stub __intrinsic_abnormal_termination
-- 
2.8.3




More information about the wine-patches mailing list