1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Fix 32bit MingW build for thekla_altas

This commit is contained in:
Hein-Pieter van Braam
2017-12-15 23:16:09 +01:00
parent bca97e33ce
commit 241de95884
2 changed files with 10 additions and 1 deletions

View File

@@ -269,7 +269,7 @@ def configure(env):
if (env["openmp"]): if (env["openmp"]):
env.Append(CPPFLAGS=['-fopenmp']) env.Append(CPPFLAGS=['-fopenmp'])
env.Append(LIBS=['gomp']) env.Append(LINKFLAGS=['-fopenmp'])
## Compile flags ## Compile flags

View File

@@ -394,8 +394,10 @@ namespace
#pragma warning(disable:4748) #pragma warning(disable:4748)
static NV_NOINLINE int backtrace(void * trace[], int maxcount) { static NV_NOINLINE int backtrace(void * trace[], int maxcount) {
CONTEXT ctx = { 0 }; CONTEXT ctx = { 0 };
// -- GODOT start --
#if NV_CPU_X86 && !NV_CPU_X86_64 #if NV_CPU_X86 && !NV_CPU_X86_64
ctx.ContextFlags = CONTEXT_CONTROL; ctx.ContextFlags = CONTEXT_CONTROL;
#if NV_CC_MSVC
_asm { _asm {
call x call x
x: pop eax x: pop eax
@@ -403,6 +405,13 @@ namespace
mov ctx.Ebp, ebp mov ctx.Ebp, ebp
mov ctx.Esp, esp mov ctx.Esp, esp
} }
#else
register long unsigned int ebp asm("ebp");
ctx.Eip = (DWORD) __builtin_return_address(0);
ctx.Ebp = ebp;
ctx.Esp = (DWORD) __builtin_frame_address(0);
#endif
// -- GODOT end --
#else #else
RtlCaptureContext(&ctx); // Not implemented correctly in x86. RtlCaptureContext(&ctx); // Not implemented correctly in x86.
#endif #endif