- Use ___readcr4 instead of __readcr4, because MSVC doesn't like this intrinsic to be redefined.
- Add _ftol2
svn path=/branches/cmake-bringup/; revision=49679
unsigned long __readcr0(void);
unsigned long __readcr2(void);
unsigned long __readcr3(void);
unsigned long __readcr0(void);
unsigned long __readcr2(void);
unsigned long __readcr3(void);
-unsigned long __readcr4(void);
+//unsigned long __readcr4(void);
//#pragma intrinsic(__readcr4)
//#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
unsigned int __readdr(unsigned int reg);
void __writedr(unsigned reg, unsigned int value);
#endif
math/i386/fabs_asm.s
math/i386/floor_asm.s
math/i386/ftol_asm.s
math/i386/fabs_asm.s
math/i386/floor_asm.s
math/i386/ftol_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/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
+ misc/i386/readcr4.S)
elseif(ARCH MATCHES amd64)
list(APPEND LIBCNTPR_SOURCE
math/cos.c
elseif(ARCH MATCHES amd64)
list(APPEND LIBCNTPR_SOURCE
math/cos.c
--- /dev/null
+/*
+ * 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
-PUBLIC ___readcr4
-___readcr4:
+PUBLIC ____readcr4
+____readcr4: