From 188be44efce85c30e1a7d8a7f580a9f8a61bfcfc Mon Sep 17 00:00:00 2001 From: Alastair Bridgewater Date: Tue, 22 Dec 2009 17:22:50 +0000 Subject: [PATCH] 1.0.33.29: Fix x86oid backtrace on sigaltstack in LDB. * altstack_pointer_p() derives the location of the altstack from the value of arch_os_get_current_thread(), which returns a struct thread *. This caused the subsequent offset calculation to be off by a factor of sizeof(struct thread), thus completely overshooting the altstack area. --- src/runtime/backtrace.c | 2 +- version.lisp-expr | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/runtime/backtrace.c b/src/runtime/backtrace.c index 348d204..996357e 100644 --- a/src/runtime/backtrace.c +++ b/src/runtime/backtrace.c @@ -288,7 +288,7 @@ backtrace(int nframes) static int altstack_pointer_p (void *p) { #ifndef LISP_FEATURE_WIN32 - void* stack_start = arch_os_get_current_thread() + dynamic_values_bytes; + void* stack_start = ((void *)arch_os_get_current_thread()) + dynamic_values_bytes; void* stack_end = stack_start + 32*SIGSTKSZ; return (p > stack_start && p <= stack_end); diff --git a/version.lisp-expr b/version.lisp-expr index 7c5ac2a..fd429e2 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.33.28" +"1.0.33.29" -- 1.7.10.4