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"]):
env.Append(CPPFLAGS=['-fopenmp'])
env.Append(LIBS=['gomp'])
env.Append(LINKFLAGS=['-fopenmp'])
## Compile flags

View file

@ -394,8 +394,10 @@ namespace
#pragma warning(disable:4748)
static NV_NOINLINE int backtrace(void * trace[], int maxcount) {
CONTEXT ctx = { 0 };
// -- GODOT start --
#if NV_CPU_X86 && !NV_CPU_X86_64
ctx.ContextFlags = CONTEXT_CONTROL;
#if NV_CC_MSVC
_asm {
call x
x: pop eax
@ -403,6 +405,13 @@ namespace
mov ctx.Ebp, ebp
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
RtlCaptureContext(&ctx); // Not implemented correctly in x86.
#endif