1.0.12.23: Optimize STRING-*-TRIM
[sbcl.git] / src / runtime / backtrace.c
index 07114aa..98189b9 100644 (file)
 #include "thread.h"
 
 #ifdef LISP_FEATURE_OS_PROVIDES_DLADDR
+# ifndef __USE_GNU
 /* __USE_GNU needed if we want dladdr() and Dl_Info from glibc. */
-#define __USE_GNU
-#include "dlfcn.h"
+# define __USE_GNU
+# endif
+# include "dlfcn.h"
 #endif
 
 #if !(defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64))
@@ -285,11 +287,15 @@ backtrace(int nframes)
 
 static int
 altstack_pointer_p (void *p) {
-    char* stack_start = ((char *) arch_os_get_current_thread())
-        + dynamic_values_bytes;
-    char* stack_end = stack_start + 32*SIGSTKSZ;
+#ifndef LISP_FEATURE_WIN32
+    void* stack_start = arch_os_get_current_thread() + dynamic_values_bytes;
+    void* stack_end = stack_start + 32*SIGSTKSZ;
 
     return (p > stack_start && p <= stack_end);
+#else
+    /* Win32 doesn't do altstack */
+    return 0;
+#endif
 }
 
 static int
@@ -573,7 +579,6 @@ void
 backtrace(int nframes)
 {
   void *fp;
-  int i;
 
 #if defined(LISP_FEATURE_X86)
   asm("movl %%ebp,%0" : "=g" (fp));