[ros-diffs] [tkreuzer] 46539: [MINGW] Apply MSVC compilation fixes

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Mon Mar 29 01:34:21 CEST 2010


Author: tkreuzer
Date: Mon Mar 29 01:34:21 2010
New Revision: 46539

URL: http://svn.reactos.org/svn/reactos?rev=46539&view=rev
Log:
[MINGW]
Apply MSVC compilation fixes

Modified:
    branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/CRT_fp10.c
    branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/CRT_fp8.c
    branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/crtexe.c
    branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/gs_support.c

Modified: branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/CRT_fp10.c
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/CRT_fp10.c?rev=46539&r1=46538&r2=46539&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/CRT_fp10.c [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/CRT_fp10.c [iso-8859-1] Mon Mar 29 01:34:21 2010
@@ -7,6 +7,16 @@
 void _fpreset (void);
 
 void _fpreset (void)
-  { __asm__ ("fninit" ) ;}
+{ 
+#ifdef __GNUC__
+    __asm__ ("fninit" );
+#else
+    __asm fninit;
+#endif
+}
 
+#ifdef __GNUC__
 void __attribute__ ((alias ("_fpreset"))) fpreset(void);
+#else
+void fpreset(void) { _fpreset(); }
+#endif

Modified: branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/CRT_fp8.c
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/CRT_fp8.c?rev=46539&r1=46538&r2=46539&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/CRT_fp8.c [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/CRT_fp8.c [iso-8859-1] Mon Mar 29 01:34:21 2010
@@ -14,4 +14,8 @@
   (* __MINGW_IMP_SYMBOL(_fpreset))();
 }
 
+#ifdef __GNUC__
 void __attribute__ ((alias ("_fpreset"))) fpreset(void);
+#else
+void fpreset(void) { _fpreset(); }
+#endif

Modified: branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/crtexe.c
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/crtexe.c?rev=46539&r1=46538&r2=46539&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/crtexe.c [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/crtexe.c [iso-8859-1] Mon Mar 29 01:34:21 2010
@@ -20,6 +20,7 @@
 #include <tchar.h>
 #include <sect_attribs.h>
 #include <locale.h>
+#include <intrin.h>
 
 #ifndef __winitenv
 extern wchar_t *** __MINGW_IMP_SYMBOL(__winitenv);
@@ -51,7 +52,11 @@
 #define _commode (* __MINGW_IMP_SYMBOL(_commode))
 extern int _dowildcard;
 
+#if defined(__GNUC__)
 int _MINGW_INSTALL_DEBUG_MATHERR __attribute__((weak)) = 0;
+#else
+int _MINGW_INSTALL_DEBUG_MATHERR = 0;
+#endif
 extern int __defaultmatherr;
 extern _CRTIMP void __cdecl _initterm(_PVFV *, _PVFV *);
 

Modified: branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/gs_support.c
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/gs_support.c?rev=46539&r1=46538&r2=46539&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/gs_support.c [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/lib/3rdparty/mingw/gs_support.c [iso-8859-1] Mon Mar 29 01:34:21 2010
@@ -112,12 +112,22 @@
   else
 #endif
     {
+#ifdef __GNUC__
 #ifdef _WIN64
       GS_ContextRecord.Rip = (ULONGLONG) __builtin_return_address (0);
       GS_ContextRecord.Rsp = (ULONGLONG) __builtin_frame_address (0) + 8;
 #else
       GS_ContextRecord.Eip = (DWORD) __builtin_return_address (0);
       GS_ContextRecord.Esp = (DWORD) __builtin_frame_address (0) + 4;
+#endif
+#else
+#ifdef _WIN64
+      GS_ContextRecord.Rip = (ULONGLONG) _ReturnAddress();
+      GS_ContextRecord.Rsp = (ULONGLONG) _AddressOfReturnAddress();
+#else
+      GS_ContextRecord.Eip = (DWORD) _ReturnAddress();
+      GS_ContextRecord.Esp = (DWORD) _AddressOfReturnAddress();
+#endif
 #endif
     }
 




More information about the Ros-diffs mailing list