X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fbacktrace.c;h=1d9b506de84e3723f158a13548aefb966bca605b;hb=ed1910efb36f71b5ebe33b5ffffd7195e15644de;hp=348d2046d5ae40d3803f767b747d79d24f620852;hpb=952d16ab5880823c1864eb9105bb269e2e00760d;p=sbcl.git diff --git a/src/runtime/backtrace.c b/src/runtime/backtrace.c index 348d204..1d9b506 100644 --- a/src/runtime/backtrace.c +++ b/src/runtime/backtrace.c @@ -110,13 +110,13 @@ cs_valid_pointer_p(struct call_frame *pointer) { struct thread *thread=arch_os_get_current_thread(); return (((char *) thread->control_stack_start <= (char *) pointer) && - ((char *) pointer < (char *) current_control_stack_pointer)); + ((char *) pointer < (char *) access_control_stack_pointer(thread))); } static void call_info_from_lisp_state(struct call_info *info) { - info->frame = (struct call_frame *)current_control_frame_pointer; + info->frame = (struct call_frame *)access_control_frame_pointer(arch_os_get_current_thread()); info->interrupted = 0; info->code = NULL; info->lra = 0; @@ -214,7 +214,7 @@ previous_info(struct call_info *info) } void -backtrace(int nframes) +lisp_backtrace(int nframes) { struct call_info info; @@ -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); @@ -523,7 +523,7 @@ describe_thread_state(void) printf("Pending handler = %p\n", data->pending_handler); } -/* This function has been split from backtrace() to enable Lisp +/* This function has been split from lisp_backtrace() to enable Lisp * backtraces from gdb with call backtrace_from_fp(...). Useful for * example when debugging threading deadlocks. */ @@ -571,7 +571,7 @@ backtrace_from_fp(void *fp, int nframes) } void -backtrace(int nframes) +lisp_backtrace(int nframes) { void *fp;