diff --git a/reactos/ReactOS-generic.rbuild b/reactos/ReactOS-generic.rbuild index fd5357025ec..86d3a2df237 100644 --- a/reactos/ReactOS-generic.rbuild +++ b/reactos/ReactOS-generic.rbuild @@ -95,6 +95,7 @@ __inline + 1 /Zl /Zi /W1 diff --git a/reactos/lib/3rdparty/mingw/gs_support.c b/reactos/lib/3rdparty/mingw/gs_support.c index f7cdf6a94ee..90bd8831cf9 100644 --- a/reactos/lib/3rdparty/mingw/gs_support.c +++ b/reactos/lib/3rdparty/mingw/gs_support.c @@ -108,12 +108,22 @@ __report_gsfailure (ULONGLONG StackCookie) 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 }