[ros-diffs] [tkreuzer] 49679: [CRT] - Use ___readcr4 instead of __readcr4, because MSVC doesn't like this intrinsic to be redefined. - Add _ftol2

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Sun Nov 21 09:36:27 UTC 2010


Author: tkreuzer
Date: Sun Nov 21 09:36:26 2010
New Revision: 49679

URL: http://svn.reactos.org/svn/reactos?rev=49679&view=rev
Log:
[CRT]
- Use ___readcr4 instead of __readcr4, because MSVC doesn't like this intrinsic to be redefined.
- Add _ftol2

Added:
    branches/cmake-bringup/lib/sdk/crt/math/i386/ftol2_asm.s   (with props)
Modified:
    branches/cmake-bringup/include/crt/msc/intrin.h
    branches/cmake-bringup/lib/sdk/crt/CMakeLists.txt
    branches/cmake-bringup/lib/sdk/crt/misc/i386/readcr4.S

Modified: branches/cmake-bringup/include/crt/msc/intrin.h
URL: http://svn.reactos.org/svn/reactos/branches/cmake-bringup/include/crt/msc/intrin.h?rev=49679&r1=49678&r2=49679&view=diff
==============================================================================
--- branches/cmake-bringup/include/crt/msc/intrin.h [iso-8859-1] (original)
+++ branches/cmake-bringup/include/crt/msc/intrin.h [iso-8859-1] Sun Nov 21 09:36:26 2010
@@ -283,9 +283,12 @@
 unsigned long __readcr0(void);
 unsigned long __readcr2(void);
 unsigned long __readcr3(void);
-unsigned long __readcr4(void);
+//unsigned long __readcr4(void);
 //#pragma intrinsic(__readcr4)
-#pragma function(__readcr4) // HACK: MSVC is broken
+// HACK: MSVC is broken
+unsigned long  ___readcr4(void);
+#define __readcr4 ___readcr4
+
 unsigned int __readdr(unsigned int reg);
 void __writedr(unsigned reg, unsigned int value);
 #endif

Modified: branches/cmake-bringup/lib/sdk/crt/CMakeLists.txt
URL: http://svn.reactos.org/svn/reactos/branches/cmake-bringup/lib/sdk/crt/CMakeLists.txt?rev=49679&r1=49678&r2=49679&view=diff
==============================================================================
--- branches/cmake-bringup/lib/sdk/crt/CMakeLists.txt [iso-8859-1] (original)
+++ branches/cmake-bringup/lib/sdk/crt/CMakeLists.txt [iso-8859-1] Sun Nov 21 09:36:26 2010
@@ -486,12 +486,14 @@
     math/i386/fabs_asm.s
     math/i386/floor_asm.s
     math/i386/ftol_asm.s
+    math/i386/ftol2_asm.s
     math/i386/log_asm.s
     math/i386/pow_asm.s
     math/i386/sin_asm.s
     math/i386/sqrt_asm.s
     math/i386/tan_asm.s
-    math/i386/ci.c)
+    math/i386/ci.c
+    misc/i386/readcr4.S)
 elseif(ARCH MATCHES amd64)
 list(APPEND LIBCNTPR_SOURCE
     math/cos.c

Added: branches/cmake-bringup/lib/sdk/crt/math/i386/ftol2_asm.s
URL: http://svn.reactos.org/svn/reactos/branches/cmake-bringup/lib/sdk/crt/math/i386/ftol2_asm.s?rev=49679&view=auto
==============================================================================
--- branches/cmake-bringup/lib/sdk/crt/math/i386/ftol2_asm.s (added)
+++ branches/cmake-bringup/lib/sdk/crt/math/i386/ftol2_asm.s [iso-8859-1] Sun Nov 21 09:36:26 2010
@@ -1,0 +1,28 @@
+/*
+ * COPYRIGHT:         See COPYING in the top level directory
+ * PROJECT:           ReactOS kernel
+ * PURPOSE:           Run-Time Library
+ * FILE:              lib/rtl/i386/ftol2.S
+ * PROGRAMER:         
+ *
+ */
+
+#include <asm.inc>
+
+EXTERN __ftol:PROC
+PUBLIC __ftol2
+PUBLIC __ftol2_sse
+ 
+/* FUNCTIONS ***************************************************************/
+.code
+
+/*
+ * This routine is called by MSVC-generated code to convert from floating point
+ * to integer representation. The floating point number to be converted is
+ * on the top of the floating point stack.
+ */
+__ftol2:
+__ftol2_sse:
+    jmp __ftol
+
+END

Propchange: branches/cmake-bringup/lib/sdk/crt/math/i386/ftol2_asm.s
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: branches/cmake-bringup/lib/sdk/crt/misc/i386/readcr4.S
URL: http://svn.reactos.org/svn/reactos/branches/cmake-bringup/lib/sdk/crt/misc/i386/readcr4.S?rev=49679&r1=49678&r2=49679&view=diff
==============================================================================
--- branches/cmake-bringup/lib/sdk/crt/misc/i386/readcr4.S [iso-8859-1] (original)
+++ branches/cmake-bringup/lib/sdk/crt/misc/i386/readcr4.S [iso-8859-1] Sun Nov 21 09:36:26 2010
@@ -3,8 +3,8 @@
 
 .code
 
-PUBLIC ___readcr4
-___readcr4:
+PUBLIC ____readcr4
+____readcr4:
     mov eax, cr4
     ret
 




More information about the Ros-diffs mailing list