Alexandre Julliard : msvcrt: The floating point adjust functions only make sense on i386.

Alexandre Julliard julliard at winehq.org
Mon Aug 24 10:08:52 CDT 2009


Module: wine
Branch: master
Commit: f2b3df6371a0326b5de2ef7d4da662b1af39842c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f2b3df6371a0326b5de2ef7d4da662b1af39842c

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon Aug 24 12:50:46 2009 +0200

msvcrt: The floating point adjust functions only make sense on i386.

---

 dlls/msvcrt/main.c      |    6 ------
 dlls/msvcrt/math.c      |   10 ++++++++++
 dlls/msvcrt/msvcrt.spec |   36 ++++++++++++++++++------------------
 3 files changed, 28 insertions(+), 24 deletions(-)

diff --git a/dlls/msvcrt/main.c b/dlls/msvcrt/main.c
index 96ad792..b42b64a 100644
--- a/dlls/msvcrt/main.c
+++ b/dlls/msvcrt/main.c
@@ -126,9 +126,3 @@ void CDECL MSVCRT_I10_OUTPUT(void)
   /* also known as 80 bit floating point (long double */
   /* for some compilers, not MSVC) */
 }
-
-/*********************************************************************
- *		_adjust_fdiv (MSVCRT.@)
- * Used by the MSVC compiler to work around the Pentium FDIV bug.
- */
-int MSVCRT__adjust_fdiv = 0;
diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c
index 862d8d0..010e1a6 100644
--- a/dlls/msvcrt/math.c
+++ b/dlls/msvcrt/math.c
@@ -1030,6 +1030,14 @@ MSVCRT_ldiv_t CDECL MSVCRT_ldiv(MSVCRT_long num, MSVCRT_long denom)
 }
 #endif /* ifdef __i386__ */
 
+#ifdef __i386__
+
+/*********************************************************************
+ *		_adjust_fdiv (MSVCRT.@)
+ * Used by the MSVC compiler to work around the Pentium FDIV bug.
+ */
+int MSVCRT__adjust_fdiv = 0;
+
 /***********************************************************************
  *		_adj_fdiv_m16i (MSVCRT.@)
  *
@@ -1252,3 +1260,5 @@ void _safe_fprem1(void)
 {
   TRACE("(): stub\n");
 }
+
+#endif  /* __i386__ */
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 8cfcd3d..fd03647 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -160,20 +160,20 @@
 @ cdecl _abnormal_termination()
 @ cdecl _access(str long) MSVCRT__access
 @ extern _acmdln MSVCRT__acmdln
-@ stdcall _adj_fdiv_m16i(long)
-@ stdcall _adj_fdiv_m32(long)
-@ stdcall _adj_fdiv_m32i(long)
-@ stdcall _adj_fdiv_m64(double)
-@ cdecl _adj_fdiv_r()
-@ stdcall _adj_fdivr_m16i(long)
-@ stdcall _adj_fdivr_m32(long)
-@ stdcall _adj_fdivr_m32i(long)
-@ stdcall _adj_fdivr_m64(double)
-@ cdecl _adj_fpatan()
-@ cdecl _adj_fprem()
-@ cdecl _adj_fprem1()
-@ cdecl _adj_fptan()
-@ extern _adjust_fdiv MSVCRT__adjust_fdiv 
+@ stdcall -arch=i386 _adj_fdiv_m16i(long)
+@ stdcall -arch=i386 _adj_fdiv_m32(long)
+@ stdcall -arch=i386 _adj_fdiv_m32i(long)
+@ stdcall -arch=i386 _adj_fdiv_m64(double)
+@ cdecl -arch=i386 _adj_fdiv_r()
+@ stdcall -arch=i386 _adj_fdivr_m16i(long)
+@ stdcall -arch=i386 _adj_fdivr_m32(long)
+@ stdcall -arch=i386 _adj_fdivr_m32i(long)
+@ stdcall -arch=i386 _adj_fdivr_m64(double)
+@ cdecl -arch=i386 _adj_fpatan()
+@ cdecl -arch=i386 _adj_fprem()
+@ cdecl -arch=i386 _adj_fprem1()
+@ cdecl -arch=i386 _adj_fptan()
+@ extern -arch=i386 _adjust_fdiv MSVCRT__adjust_fdiv
 # extern _aexit_rtn
 @ cdecl _aligned_free(ptr)
 @ cdecl _aligned_malloc(long long)
@@ -453,10 +453,10 @@
 @ cdecl _rmtmp()
 @ cdecl _rotl(long long)
 @ cdecl _rotr(long long)
-@ cdecl _safe_fdiv()
-@ cdecl _safe_fdivr()
-@ cdecl _safe_fprem()
-@ cdecl _safe_fprem1()
+@ cdecl -arch=i386 _safe_fdiv()
+@ cdecl -arch=i386 _safe_fdivr()
+@ cdecl -arch=i386 _safe_fprem()
+@ cdecl -arch=i386 _safe_fprem1()
 @ cdecl _scalb( double long)
 @ cdecl _searchenv(str str ptr)
 @ stdcall -i386 _seh_longjmp_unwind(ptr)




More information about the wine-cvs mailing list