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/i…
==============================================================================
--- 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/CMake…
==============================================================================
--- 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/…
==============================================================================
--- 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/…
==============================================================================
--- 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