X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fmonitor.c;h=30f9fc74f427be8ebf7b9452e71cd00c16aefdef;hb=cd1b14acf6f548b28b8a14e554d779f0473122ec;hp=6920df4e47fbe795e868742902abc884ffef5db8;hpb=9ee246f59019b776b38f6c09b2ce730cd0b32844;p=sbcl.git diff --git a/src/runtime/monitor.c b/src/runtime/monitor.c index 6920df4..30f9fc7 100644 --- a/src/runtime/monitor.c +++ b/src/runtime/monitor.c @@ -138,7 +138,7 @@ dump_cmd(char **ptr) while (count-- > 0) { #ifndef LISP_FEATURE_ALPHA - printf("0x%08lX: ", (unsigned long) addr); + printf("0x%p: ", (os_vm_address_t) addr); #else printf("0x%08X: ", (u32) addr); #endif @@ -190,11 +190,13 @@ regs_cmd(char **ptr) { struct thread *thread=arch_os_get_current_thread(); - printf("CSP\t=\t0x%08lx ", (unsigned long)current_control_stack_pointer); - printf("CFP\t=\t0x%08lx ", (unsigned long)current_control_frame_pointer); + printf("CSP\t=\t0x%p ", access_control_stack_pointer(thread)); +#if !defined(LISP_FEATURE_X86) && !defined(LISP_FEATURE_X86_64) + printf("CFP\t=\t0x%p ", access_control_frame_pointer(thread)); +#endif #ifdef reg_BSP - printf("BSP\t=\t0x%08lx\n", (unsigned long)current_binding_stack_pointer); + printf("BSP\t=\t0x%p\n", get_binding_stack_pointer(thread)); #else /* printf("BSP\t=\t0x%08lx\n", (unsigned long)SymbolValue(BINDING_STACK_POINTER)); */ @@ -204,8 +206,8 @@ regs_cmd(char **ptr) #ifdef LISP_FEATURE_GENCGC /* printf("DYNAMIC\t=\t0x%08lx\n", DYNAMIC_SPACE_START); */ #else - printf("STATIC\t=\t0x%08lx ", - (unsigned long)SymbolValue(STATIC_SPACE_FREE_POINTER, thread)); + printf("STATIC\t=\t0x%p ", + SymbolValue(STATIC_SPACE_FREE_POINTER, thread)); printf("RDONLY\t=\t0x%08lx ", (unsigned long)SymbolValue(READ_ONLY_SPACE_FREE_POINTER, thread)); printf("DYNAMIC\t=\t0x%08lx\n", (unsigned long)current_dynamic_space); @@ -238,7 +240,7 @@ search_cmd(char **ptr) return; } if (more_p(ptr)) { - addr = (lispobj *)native_pointer((long)parse_addr(ptr)); + addr = (lispobj *)native_pointer((uword_t)parse_addr(ptr)); if (more_p(ptr)) { count = parse_number(ptr); } @@ -264,17 +266,16 @@ search_cmd(char **ptr) start = end = addr; lastcount = count; - printf("searching for 0x%x at 0x%08lX\n", val, (unsigned long)end); + printf("searching for 0x%x at 0x%p\n", val, (void*)(uword_t)end); while (search_for_type(val, &end, &count)) { - printf("found 0x%x at 0x%08lX:\n", val, (unsigned long)end); + printf("found 0x%x at 0x%p:\n", val, (void*)(uword_t)end); obj = *end; addr = end; end += 2; if (widetag_of(obj) == SIMPLE_FUN_HEADER_WIDETAG) { - print((long)addr | FUN_POINTER_LOWTAG); - } else if (lowtag_of(obj) == OTHER_IMMEDIATE_0_LOWTAG || - lowtag_of(obj) == OTHER_IMMEDIATE_1_LOWTAG) { + print((uword_t)addr | FUN_POINTER_LOWTAG); + } else if (other_immediate_lowtag_p(obj)) { print((lispobj)addr | OTHER_POINTER_LOWTAG); } else { print((lispobj)addr); @@ -392,7 +393,7 @@ print_context_cmd(char **ptr) static void backtrace_cmd(char **ptr) { - void backtrace(int frames); + void lisp_backtrace(int frames); int n; if (more_p(ptr)) @@ -401,7 +402,7 @@ backtrace_cmd(char **ptr) n = 100; printf("Backtrace:\n"); - backtrace(n); + lisp_backtrace(n); } static void @@ -418,16 +419,16 @@ catchers_cmd(char **ptr) while (catch != NULL) { printf("0x%08lX:\n\tuwp: 0x%08lX\n\tfp: 0x%08lX\n\t" "code: 0x%08lX\n\tentry: 0x%08lX\n\ttag: ", - (unsigned long)catch, - (unsigned long)(catch->current_uwp), - (unsigned long)(catch->current_cont), + (uword_t)catch, + (uword_t)(catch->current_uwp), + (uword_t)(catch->current_cont), #if defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64) - (unsigned long)component_ptr_from_pc((void*)catch->entry_pc) + (uword_t)component_ptr_from_pc((void*)catch->entry_pc) + OTHER_POINTER_LOWTAG, #else - (unsigned long)(catch->current_code), + (uword_t)(catch->current_code), #endif - (unsigned long)(catch->entry_pc)); + (uword_t)(catch->entry_pc)); brief_print((lispobj)catch->tag); catch = catch->previous_catch; }