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
--- /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