Author: tkreuzer
Date: Sat Nov 20 16:38:45 2010
New Revision: 49669
URL:
http://svn.reactos.org/svn/reactos?rev=49669&view=rev
Log:
[CRT]
- Add __readcr4 to crt to compensate for MSVC bug
- Compile strnset with MSVC
Added:
branches/cmake-bringup/lib/sdk/crt/misc/i386/ (with props)
branches/cmake-bringup/lib/sdk/crt/misc/i386/readcr4.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/string/strset.c
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] Sat Nov 20 16:38:45 2010
@@ -283,12 +283,9 @@
unsigned long __readcr0(void);
unsigned long __readcr2(void);
unsigned long __readcr3(void);
-//unsigned long __readcr4(void);
+unsigned long __readcr4(void);
//#pragma intrinsic(__readcr4)
-// HACK: MSVC is broken
-unsigned long ___readcr4(void);
-#define __readcr4 ___readcr4
-
+#pragma function(__readcr4) // HACK: MSVC is broken
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] Sat Nov 20 16:38:45
2010
@@ -336,6 +336,7 @@
mem/i386/memchr_asm.s
mem/i386/memmove_asm.s
mem/i386/memset_asm.s
+ misc/i386/readcr4.S
string/i386/strcat_asm.s
string/i386/strchr_asm.s
string/i386/strcmp_asm.s
Propchange: branches/cmake-bringup/lib/sdk/crt/misc/i386/
------------------------------------------------------------------------------
--- bugtraq:logregex (added)
+++ bugtraq:logregex Sat Nov 20 16:38:45 2010
@@ -1,0 +1,2 @@
+([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))?
+(\d+)
Propchange: branches/cmake-bringup/lib/sdk/crt/misc/i386/
------------------------------------------------------------------------------
bugtraq:message = See issue #%BUGID% for more details.
Propchange: branches/cmake-bringup/lib/sdk/crt/misc/i386/
------------------------------------------------------------------------------
bugtraq:url =
http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: branches/cmake-bringup/lib/sdk/crt/misc/i386/
------------------------------------------------------------------------------
tsvn:logminsize = 10
Added: 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 (added)
+++ branches/cmake-bringup/lib/sdk/crt/misc/i386/readcr4.S [iso-8859-1] Sat Nov 20
16:38:45 2010
@@ -1,0 +1,12 @@
+
+#include <asm.inc>
+
+.code
+
+PUBLIC ___readcr4
+___readcr4:
+ mov eax, cr4
+ ret
+
+END
+
Propchange: branches/cmake-bringup/lib/sdk/crt/misc/i386/readcr4.S
------------------------------------------------------------------------------
svn:eol-style = native
Modified: branches/cmake-bringup/lib/sdk/crt/string/strset.c
URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/lib/sdk/crt/strin…
==============================================================================
--- branches/cmake-bringup/lib/sdk/crt/string/strset.c [iso-8859-1] (original)
+++ branches/cmake-bringup/lib/sdk/crt/string/strset.c [iso-8859-1] Sat Nov 20 16:38:45
2010
@@ -8,10 +8,10 @@
* 25/11/05: Added license header
*/
-#ifndef _MSC_VER
-
#if defined(__GNUC__) && !defined(__clang__)
#define __int64 long long
+#elif defined(_MSC_VER)
+#pragma function(_strset)
#endif
#ifdef _WIN64
@@ -52,4 +52,3 @@
return t;
}
-#endif