Mesa (master): util: __builtin_frame_address() doesn't work on mingw.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Thu Dec 2 15:15:09 UTC 2010
Module: Mesa
Branch: master
Commit: 50a52ba67e06fa00e06d19370a0478a85f9011be
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=50a52ba67e06fa00e06d19370a0478a85f9011be
Author: José Fonseca <jfonseca at vmware.com>
Date: Thu Dec 2 15:14:07 2010 +0000
util: __builtin_frame_address() doesn't work on mingw.
---
src/gallium/auxiliary/util/u_debug_stack.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/src/gallium/auxiliary/util/u_debug_stack.c b/src/gallium/auxiliary/util/u_debug_stack.c
index 528a1c3..24e039f 100644
--- a/src/gallium/auxiliary/util/u_debug_stack.c
+++ b/src/gallium/auxiliary/util/u_debug_stack.c
@@ -48,7 +48,10 @@ debug_backtrace_capture(struct debug_stack_frame *backtrace,
if(!nr_frames)
return;
-#if defined(PIPE_CC_GCC)
+#if defined(PIPE_CC_GCC) && defined(PIPE_ARCH_X86)
+ __asm__ __volatile__("mov (%%ebp),%0": "=r" (frame_pointer));
+ frame_pointer = (const void **)frame_pointer[0];
+#elif defined(PIPE_CC_GCC)
frame_pointer = ((const void **)__builtin_frame_address(1));
#elif defined(PIPE_CC_MSVC) && defined(PIPE_ARCH_X86)
__asm {
More information about the mesa-commit
mailing list