From b27fb452f72190637b03a6ef2e1333091da42a98 Mon Sep 17 00:00:00 2001 From: Thiemo Seufer Date: Sun, 4 Dec 2005 22:25:07 +0000 Subject: [PATCH] 0.9.7.12: Properly close the output line before we die. --- src/runtime/bsd-os.c | 2 +- src/runtime/coreparse.c | 22 +++++++++--------- src/runtime/gc-common.c | 12 +++++----- src/runtime/gencgc.c | 54 ++++++++++++++++++++++----------------------- src/runtime/hppa-arch.c | 2 +- src/runtime/interrupt.c | 18 +++++++-------- src/runtime/linux-os.c | 13 ++++++----- src/runtime/os-common.c | 2 +- src/runtime/osf1-os.c | 2 +- src/runtime/purify.c | 4 ++-- src/runtime/runtime.c | 14 ++++++------ src/runtime/sunos-os.c | 10 ++++----- src/runtime/thread.c | 8 +++---- src/runtime/validate.c | 2 +- src/runtime/x86-64-arch.c | 2 +- src/runtime/x86-arch.c | 2 +- version.lisp-expr | 2 +- 17 files changed, 87 insertions(+), 84 deletions(-) diff --git a/src/runtime/bsd-os.c b/src/runtime/bsd-os.c index f41911d..668e052 100644 --- a/src/runtime/bsd-os.c +++ b/src/runtime/bsd-os.c @@ -126,7 +126,7 @@ os_map(int fd, int offset, os_vm_address_t addr, os_vm_size_t len) if (addr == MAP_FAILED) { perror("mmap"); - lose("unexpected mmap(..) failure"); + lose("unexpected mmap(..) failure\n"); } return addr; diff --git a/src/runtime/coreparse.c b/src/runtime/coreparse.c index 12003de..c935607 100644 --- a/src/runtime/coreparse.c +++ b/src/runtime/coreparse.c @@ -66,7 +66,7 @@ process_directory(int fd, u32 *ptr, int count) real_addr = os_map(fd, offset, addr, len); if (real_addr != addr) { lose("file mapped in wrong place! " - "(0x%08x != 0x%08lx)", + "(0x%08x != 0x%08lx)\n", real_addr, addr); } @@ -81,7 +81,7 @@ process_directory(int fd, u32 *ptr, int count) if (addr != (os_vm_address_t)DYNAMIC_SPACE_START) { fprintf(stderr, "in core: 0x%lx; in runtime: 0x%lx \n", (long)addr, (long)DYNAMIC_SPACE_START); - lose("core/runtime address mismatch: DYNAMIC_SPACE_START"); + lose("core/runtime address mismatch: DYNAMIC_SPACE_START\n"); } #else if ((addr != (os_vm_address_t)DYNAMIC_0_SPACE_START) && @@ -90,7 +90,7 @@ process_directory(int fd, u32 *ptr, int count) (long)addr, (long)DYNAMIC_0_SPACE_START, (long)DYNAMIC_1_SPACE_START); - lose("warning: core/runtime address mismatch: DYNAMIC_SPACE_START"); + lose("warning: core/runtime address mismatch: DYNAMIC_SPACE_START\n"); } #endif #if defined(ALLOCATION_POINTER) @@ -108,18 +108,18 @@ process_directory(int fd, u32 *ptr, int count) if (addr != (os_vm_address_t)STATIC_SPACE_START) { fprintf(stderr, "in core: 0x%lx - in runtime: 0x%lx\n", (long)addr, (long)STATIC_SPACE_START); - lose("core/runtime address mismatch: STATIC_SPACE_START"); + lose("core/runtime address mismatch: STATIC_SPACE_START\n"); } break; case READ_ONLY_CORE_SPACE_ID: if (addr != (os_vm_address_t)READ_ONLY_SPACE_START) { fprintf(stderr, "in core: 0x%lx - in runtime: 0x%lx\n", (long)addr, (long)READ_ONLY_SPACE_START); - lose("core/runtime address mismatch: READ_ONLY_SPACE_START"); + lose("core/runtime address mismatch: READ_ONLY_SPACE_START\n"); } break; default: - lose("unknown space ID %ld addr 0x%p", id); + lose("unknown space ID %ld addr 0x%lx\n", id, (long)addr); } } } @@ -142,7 +142,7 @@ load_core_file(char *file) count = read(fd, header, os_vm_page_size); if (count < os_vm_page_size) { - lose("premature end of core file"); + lose("premature end of core file\n"); } SHOW("successfully read first page of core"); @@ -150,7 +150,7 @@ load_core_file(char *file) val = *ptr++; if (val != CORE_MAGIC) { - lose("invalid magic number in core: 0x%lx should have been 0x%x.", + lose("invalid magic number in core: 0x%lx should have been 0x%x.\n", val, CORE_MAGIC); } @@ -172,7 +172,7 @@ load_core_file(char *file) case VERSION_CORE_ENTRY_TYPE_CODE: SHOW("VERSION_CORE_ENTRY_TYPE_CODE case"); if (*ptr != SBCL_CORE_VERSION_INTEGER) { - lose("core file version (%d) != runtime library version (%d)", + lose("core file version (%d) != runtime library version (%d)\n", *ptr, SBCL_CORE_VERSION_INTEGER); } @@ -205,7 +205,7 @@ load_core_file(char *file) * was changed, but people experimenting with patches * don't necessarily update version.lisp-expr.) */ - lose("can't load .core for different runtime, sorry"); + lose("can't load .core for different runtime, sorry\n"); } case NEW_DIRECTORY_CORE_ENTRY_TYPE_CODE: @@ -252,7 +252,7 @@ load_core_file(char *file) } #endif default: - lose("unknown core file entry: %ld", (long)val); + lose("unknown core file entry: %ld\n", (long)val); } ptr += remaining_len; diff --git a/src/runtime/gc-common.c b/src/runtime/gc-common.c index 4d2ef2b..069d501 100644 --- a/src/runtime/gc-common.c +++ b/src/runtime/gc-common.c @@ -387,7 +387,7 @@ size_code_header(lispobj *where) static long scav_return_pc_header(lispobj *where, lispobj object) { - lose("attempted to scavenge a return PC header where=0x%08x object=0x%08x", + lose("attempted to scavenge a return PC header where=0x%08x object=0x%08x\n", (unsigned long) where, (unsigned long) object); return 0; /* bogus return value to satisfy static type checking */ @@ -442,7 +442,7 @@ scav_closure_header(lispobj *where, lispobj object) static long scav_fun_header(lispobj *where, lispobj object) { - lose("attempted to scavenge a function header where=0x%08x object=0x%08x", + lose("attempted to scavenge a function header where=0x%08x object=0x%08x\n", (unsigned long) where, (unsigned long) object); return 0; /* bogus return value to satisfy static type checking */ @@ -627,7 +627,7 @@ scav_immediate(lispobj *where, lispobj object) static lispobj trans_immediate(lispobj object) { - lose("trying to transport an immediate"); + lose("trying to transport an immediate\n"); return NIL; /* bogus return value to satisfy static type checking */ } @@ -1541,7 +1541,7 @@ void scan_weak_pointers(void) static long scav_lose(lispobj *where, lispobj object) { - lose("no scavenge function for object 0x%08x (widetag 0x%x)", + lose("no scavenge function for object 0x%08x (widetag 0x%x)\n", (unsigned long)object, widetag_of(*(lispobj*)native_pointer(object))); @@ -1551,7 +1551,7 @@ scav_lose(lispobj *where, lispobj object) static lispobj trans_lose(lispobj object) { - lose("no transport function for object 0x%08x (widetag 0x%x)", + lose("no transport function for object 0x%08x (widetag 0x%x)\n", (unsigned long)object, widetag_of(*(lispobj*)native_pointer(object))); return NIL; /* bogus return value to satisfy static type checking */ @@ -1560,7 +1560,7 @@ trans_lose(lispobj object) static long size_lose(lispobj *where) { - lose("no size function for object at 0x%08x (widetag 0x%x)", + lose("no size function for object at 0x%08x (widetag 0x%x)\n", (unsigned long)where, widetag_of(LOW_WORD(where))); return 1; /* bogus return value to satisfy static type checking */ diff --git a/src/runtime/gencgc.c b/src/runtime/gencgc.c index b84987b..b8c6726 100644 --- a/src/runtime/gencgc.c +++ b/src/runtime/gencgc.c @@ -602,7 +602,7 @@ gc_alloc_new_region(long nbytes, int unboxed, struct alloc_region *alloc_region) * (long) in code like this, so that it is less likely to * break randomly when running on a machine with different * word sizes. -- WHN 19991129 */ - lose("The new region at %x is not zero.", p); + lose("The new region at %x is not zero.\n", p); } } } @@ -1004,7 +1004,7 @@ gc_find_freeish_pages(page_index_t *restart_page_ptr, long nbytes, int unboxed) "Argh! gc_find_free_space failed (first_page), nbytes=%ld.\n", nbytes); print_generation_stats(1); - lose(NULL); + lose("\n"); } gc_assert(page_table[first_page].write_protected == 0); @@ -1035,7 +1035,7 @@ gc_find_freeish_pages(page_index_t *restart_page_ptr, long nbytes, int unboxed) "Argh! gc_find_freeish_pages failed (restart_page), nbytes=%ld.\n", nbytes); print_generation_stats(1); - lose(NULL); + lose("\n"); } *restart_page_ptr=first_page; @@ -1768,12 +1768,12 @@ scav_vector(lispobj *where, lispobj object) /* Scavenge element 0, which may be a hash-table structure. */ scavenge(where+2, 1); if (!is_lisp_pointer(where[2])) { - lose("no pointer at %x in hash table", where[2]); + lose("no pointer at %x in hash table\n", where[2]); } hash_table = (struct hash_table *)native_pointer(where[2]); /*FSHOW((stderr,"/hash_table = %x\n", hash_table));*/ if (widetag_of(hash_table->header) != INSTANCE_HEADER_WIDETAG) { - lose("hash table not instance (%x at %x)", + lose("hash table not instance (%x at %x)\n", hash_table->header, hash_table); } @@ -1782,13 +1782,13 @@ scav_vector(lispobj *where, lispobj object) * the hash table code reserves for marking empty slots. */ scavenge(where+3, 1); if (!is_lisp_pointer(where[3])) { - lose("not empty-hash-table-slot symbol pointer: %x", where[3]); + lose("not empty-hash-table-slot symbol pointer: %x\n", where[3]); } empty_symbol = where[3]; /* fprintf(stderr,"* empty_symbol = %x\n", empty_symbol);*/ if (widetag_of(*(lispobj *)native_pointer(empty_symbol)) != SYMBOL_HEADER_WIDETAG) { - lose("not a symbol where empty-hash-table-slot symbol expected: %x", + lose("not a symbol where empty-hash-table-slot symbol expected: %x\n", *(lispobj *)native_pointer(empty_symbol)); } @@ -1799,7 +1799,7 @@ scav_vector(lispobj *where, lispobj object) /* Cross-check the kv_vector. */ if (where != (lispobj *)native_pointer(hash_table->table)) { - lose("hash_table table!=this table %x", hash_table->table); + lose("hash_table table!=this table %x\n", hash_table->table); } /* WEAK-P */ @@ -1818,7 +1818,7 @@ scav_vector(lispobj *where, lispobj object) length = fixnum_value(((lispobj *)native_pointer(index_vector_obj))[1]); /*FSHOW((stderr, "/length = %d\n", length));*/ } else { - lose("invalid index_vector %x", index_vector_obj); + lose("invalid index_vector %x\n", index_vector_obj); } } @@ -1834,7 +1834,7 @@ scav_vector(lispobj *where, lispobj object) next_vector_length = fixnum_value(((lispobj *)native_pointer(next_vector_obj))[1]); /*FSHOW((stderr, "/next_vector_length = %d\n", next_vector_length));*/ } else { - lose("invalid next_vector %x", next_vector_obj); + lose("invalid next_vector %x\n", next_vector_obj); } } @@ -2778,7 +2778,7 @@ scavenge_generations(generation_index_t from, generation_index_t to) page_table[i].bytes_used, page_table[i].first_object_offset, page_table[i].dont_move)); - lose("write to protected page %d in scavenge_generation()", i); + lose("write to protected page %d in scavenge_generation()\n", i); } } #endif @@ -2994,7 +2994,7 @@ scavenge_newspace_generation(generation_index_t generation) && (page_table[i].gen == generation) && (page_table[i].write_protected_cleared != 0) && (page_table[i].dont_move == 0)) { - lose("write protected page %d written to in scavenge_newspace_generation\ngeneration=%d dont_move=%d", + lose("write protected page %d written to in scavenge_newspace_generation\ngeneration=%d dont_move=%d\n", i, generation, page_table[i].dont_move); } } @@ -3093,8 +3093,8 @@ free_oldspace(void) os_invalidate(page_start, PAGE_BYTES*(last_page-first_page)); addr = os_validate(page_start, PAGE_BYTES*(last_page-first_page)); if (addr == NULL || addr != page_start) { - lose("free_oldspace: page moved, 0x%08x ==> 0x%08x",page_start, - addr); + lose("free_oldspace: page moved, 0x%08x ==> 0x%08x\n", + page_start, addr); } } else { long *page_start; @@ -3170,15 +3170,15 @@ verify_space(lispobj *start, size_t words) * page. XX Could check the offset too. */ if ((page_table[page_index].allocated != FREE_PAGE_FLAG) && (page_table[page_index].bytes_used == 0)) - lose ("Ptr %x @ %x sees free page.", thing, start); + lose ("Ptr %x @ %x sees free page.\n", thing, start); /* Check that it doesn't point to a forwarding pointer! */ if (*((lispobj *)native_pointer(thing)) == 0x01) { - lose("Ptr %x @ %x sees forwarding ptr.", thing, start); + lose("Ptr %x @ %x sees forwarding ptr.\n", thing, start); } /* Check that its not in the RO space as it would then be a * pointer from the RO to the dynamic space. */ if (is_in_readonly_space) { - lose("ptr to dynamic space %x from RO space %x", + lose("ptr to dynamic space %x from RO space %x\n", thing, start); } /* Does it point to a plausible object? This check slows @@ -3192,14 +3192,14 @@ verify_space(lispobj *start, size_t words) * dynamically. */ /* if (!possibly_valid_dynamic_space_pointer((lispobj *)thing)) { - lose("ptr %x to invalid object %x", thing, start); + lose("ptr %x to invalid object %x\n", thing, start); } */ } else { /* Verify that it points to another valid space. */ if (!to_readonly_space && !to_static_space && (thing != (unsigned long)&undefined_tramp)) { - lose("Ptr %x @ %x sees junk.", thing, start); + lose("Ptr %x @ %x sees junk.\n", thing, start); } } } else { @@ -3457,7 +3457,7 @@ verify_zero_fill(void) long i; for (i = 0; i < size; i++) { if (start_addr[i] != 0) { - lose("free page not zero at %x", start_addr + i); + lose("free page not zero at %x\n", start_addr + i); } } } else { @@ -3469,7 +3469,7 @@ verify_zero_fill(void) long i; for (i = 0; i < size; i++) { if (start_addr[i] != 0) { - lose("free region not zero at %x", start_addr + i); + lose("free region not zero at %x\n", start_addr + i); } } } @@ -3747,7 +3747,7 @@ garbage_collect_generation(generation_index_t generation, int raise) bytes_allocated = bytes_allocated - old_bytes_allocated; if (bytes_allocated != 0) { - lose("Rescan of new_space allocated %d more bytes.", + lose("Rescan of new_space allocated %d more bytes.\n", bytes_allocated); } } @@ -3921,7 +3921,7 @@ collect_garbage(generation_index_t last_gen) /* Check that they are all empty. */ for (i = 0; i < gen_to_wp; i++) { if (generations[i].bytes_allocated) - lose("trying to write-protect gen. %d when gen. %d nonempty", + lose("trying to write-protect gen. %d when gen. %d nonempty\n", gen_to_wp, i); } write_protect_generation_pages(gen_to_wp); @@ -3976,7 +3976,7 @@ gc_free_heap(void) os_invalidate(page_start,PAGE_BYTES); addr = os_validate(page_start,PAGE_BYTES); if (addr == NULL || addr != page_start) { - lose("gc_free_heap: page moved, 0x%08x ==> 0x%08x", + lose("gc_free_heap: page moved, 0x%08x ==> 0x%08x\n", page_start, addr); } @@ -3989,7 +3989,7 @@ gc_free_heap(void) page_start = (long *)page_address(page); for (i=0; i<1024; i++) { if (page_start[i] != 0) { - lose("free region not zero at %x", page_start + i); + lose("free region not zero at %x\n", page_start + i); } } } @@ -4256,7 +4256,7 @@ gencgc_handle_wp_violation(void* fault_addr) * does this test after the first one has already set wp=0 */ if(page_table[page_index].write_protected_cleared != 1) - lose("fault in heap page not marked as write-protected"); + lose("fault in heap page not marked as write-protected\n"); } /* Don't worry, we can handle it. */ return 1; @@ -4349,5 +4349,5 @@ gc_and_save(char *filename) * beyond hope, there's not much we can do. * (beyond FUNCALLing RESTART_LISP_FUNCTION, but I suspect that's * going to be rather unsatisfactory too... */ - lose("Attempt to save core after non-conservative GC failed."); + lose("Attempt to save core after non-conservative GC failed.\n"); } diff --git a/src/runtime/hppa-arch.c b/src/runtime/hppa-arch.c index 3331ed3..5f81f5e 100644 --- a/src/runtime/hppa-arch.c +++ b/src/runtime/hppa-arch.c @@ -148,7 +148,7 @@ static void restore_breakpoint(struct sigcontext *scp) /* state so that we will continue as if nothing happened. */ if (NextPc == NULL) - lose("SingleStepBreakpoint trap at strange time."); + lose("SingleStepBreakpoint trap at strange time.\n"); if ((SC_PC(scp)&~3) == (unsigned int)SingleStepTraps) { /* The next instruction was not nullified. */ diff --git a/src/runtime/interrupt.c b/src/runtime/interrupt.c index cb85bee..632267f 100644 --- a/src/runtime/interrupt.c +++ b/src/runtime/interrupt.c @@ -122,7 +122,7 @@ check_blockables_blocked_or_lose() thread_sigmask(SIG_BLOCK, &empty, ¤t); for(i = 1; i < NSIG; i++) { if (sigismember(&blockable_sigset, i) && !sigismember(¤t, i)) - lose("blockable signal %d not blocked",i); + lose("blockable signal %d not blocked\n",i); } } @@ -131,13 +131,13 @@ check_interrupts_enabled_or_lose(os_context_t *context) { struct thread *thread=arch_os_get_current_thread(); if (SymbolValue(INTERRUPTS_ENABLED,thread) == NIL) - lose("interrupts not enabled"); + lose("interrupts not enabled\n"); if ( #if !defined(LISP_FEATURE_X86) && !defined(LISP_FEATURE_X86_64) (!foreign_function_call_active) && #endif arch_pseudo_atomic_atomic(context)) - lose ("in pseudo atomic section"); + lose ("in pseudo atomic section\n"); } /* When we catch an internal error, should we pass it back to Lisp to @@ -244,7 +244,7 @@ fake_foreign_function_call(os_context_t *context) (*os_context_register_addr(context, reg_ALLOC)); #if defined(LISP_FEATURE_ALPHA) if ((long)dynamic_space_free_pointer & 1) { - lose("dead in fake_foreign_function_call, context = %x", context); + lose("dead in fake_foreign_function_call, context = %x\n", context); } #endif #endif @@ -262,7 +262,7 @@ fake_foreign_function_call(os_context_t *context) fixnum_value(SymbolValue(FREE_INTERRUPT_CONTEXT_INDEX,thread)); if (context_index >= MAX_INTERRUPTS) { - lose("maximum interrupt nesting depth (%d) exceeded", MAX_INTERRUPTS); + lose("maximum interrupt nesting depth (%d) exceeded\n", MAX_INTERRUPTS); } bind_variable(FREE_INTERRUPT_CONTEXT_INDEX, @@ -311,7 +311,7 @@ interrupt_internal_error(int signal, siginfo_t *info, os_context_t *context, describe_internal_error(context); /* There's no good way to recover from an internal error * before the Lisp error handling mechanism is set up. */ - lose("internal error too early in init, can't recover"); + lose("internal error too early in init, can't recover\n"); } /* Allocate the SAP object while the interrupts are still @@ -465,7 +465,7 @@ interrupt_handle_now(int signal, siginfo_t *info, void *void_context) /* This can happen if someone tries to ignore or default one * of the signals we need for runtime support, and the runtime * support decides to pass on it. */ - lose("no handler for signal %d in interrupt_handle_now(..)", signal); + lose("no handler for signal %d in interrupt_handle_now(..)\n", signal); } else if (lowtag_of(handler.lisp) == FUN_POINTER_LOWTAG) { /* Once we've decided what to do about contexts in a @@ -549,7 +549,7 @@ maybe_defer_handler(void *handler, struct interrupt_data *data, check_blockables_blocked_or_lose(); if (SymbolValue(INTERRUPT_PENDING,thread) != NIL) - lose("interrupt already pending"); + lose("interrupt already pending\n"); /* If interrupts are disabled then INTERRUPT_PENDING is set and * not PSEDUO_ATOMIC_INTERRUPTED. This is important for a pseudo * atomic section inside a WITHOUT-INTERRUPTS. @@ -1122,7 +1122,7 @@ undoably_install_low_level_interrupt_handler (int signal, struct sigaction sa; if (0 > signal || signal >= NSIG) { - lose("bad signal number %d", signal); + lose("bad signal number %d\n", signal); } if (ARE_SAME_HANDLER(handler, SIG_DFL)) diff --git a/src/runtime/linux-os.c b/src/runtime/linux-os.c index d0aa95a..778f72c 100644 --- a/src/runtime/linux-os.c +++ b/src/runtime/linux-os.c @@ -134,7 +134,7 @@ os_init(char *argv[], char *envp[]) p=strchr(p,'.')+1; patch_version = atoi(p); if (major_version<2) { - lose("linux kernel version too old: major version=%d (can't run in version < 2.0.0)", + lose("linux kernel version too old: major version=%d (can't run in version < 2.0.0)\n", major_version); } if (!(major_version>2 || minor_version >= 4)) { @@ -146,11 +146,14 @@ os_init(char *argv[], char *envp[]) #ifdef LISP_FEATURE_SB_THREAD futex_wait(futex,-1); if(errno==ENOSYS) { - lose("This version of SBCL is compiled with threading support, but your kernel is too old to support this.\n\ -Please use a more recent kernel or a version of SBCL without threading support.\n"); + lose("This version of SBCL is compiled with threading support, but your kernel\n" + "is too old to support this. Please use a more recent kernel or\n" + "a version of SBCL without threading support.\n"); } if(! isnptl()) { - lose("This version of SBCL only works correctly with the NPTL threading library. Please use a newer glibc, use an older SBCL, or stop using LD_ASSUME_KERNEL"); + lose("This version of SBCL only works correctly with the NPTL threading\n" + "library. Please use a newer glibc, use an older SBCL, or stop using\n" + "LD_ASSUME_KERNEL\n"); } #endif os_vm_page_size = getpagesize(); @@ -267,7 +270,7 @@ os_map(int fd, int offset, os_vm_address_t addr, os_vm_size_t len) fd, (off_t) offset); if (actual == MAP_FAILED || (addr && (addr != actual))) { perror("mmap"); - lose("unexpected mmap(..) failure"); + lose("unexpected mmap(..) failure\n"); } return actual; diff --git a/src/runtime/os-common.c b/src/runtime/os-common.c index 017dc4f..80a34d2 100644 --- a/src/runtime/os-common.c +++ b/src/runtime/os-common.c @@ -50,7 +50,7 @@ os_zero(os_vm_address_t addr, os_vm_size_t length) addr = os_validate(block_start, block_size); if (addr == NULL || addr != block_start) - lose("os_zero: block moved! 0x%08x ==> 0x%08x", + lose("os_zero: block moved! 0x%08x ==> 0x%08x\n", block_start, addr); } diff --git a/src/runtime/osf1-os.c b/src/runtime/osf1-os.c index 5e22940..1a2ffac 100644 --- a/src/runtime/osf1-os.c +++ b/src/runtime/osf1-os.c @@ -89,7 +89,7 @@ os_map(int fd, int offset, os_vm_address_t addr, os_vm_size_t len) if (addr == MAP_FAILED) { perror("mmap"); - lose("unexpected mmap(..) failure"); + lose("unexpected mmap(..) failure\n"); } return addr; diff --git a/src/runtime/purify.c b/src/runtime/purify.c index 7847d61..fc8bbd5 100644 --- a/src/runtime/purify.c +++ b/src/runtime/purify.c @@ -118,13 +118,13 @@ newspace_alloc(long nwords, int constantp) nwords=CEILING(nwords,2); if(constantp) { if(read_only_free + nwords >= (lispobj *)READ_ONLY_SPACE_END) { - lose("Ran out of read-only space while purifying!"); + lose("Ran out of read-only space while purifying!\n"); } ret=read_only_free; read_only_free+=nwords; } else { if(static_free + nwords >= (lispobj *)STATIC_SPACE_END) { - lose("Ran out of static space while purifying!"); + lose("Ran out of static space while purifying!\n"); } ret=static_free; static_free+=nwords; diff --git a/src/runtime/runtime.c b/src/runtime/runtime.c index fa9e33b..e2f4344 100644 --- a/src/runtime/runtime.c +++ b/src/runtime/runtime.c @@ -93,7 +93,7 @@ successful_malloc(size_t size) { void* result = malloc(size); if (0 == result) { - lose("malloc failure"); + lose("malloc failure\n"); } else { return result; } @@ -215,11 +215,11 @@ main(int argc, char *argv[], char *envp[]) ++argi; } else if (0 == strcmp(arg, "--core")) { if (core) { - lose("more than one core file specified"); + lose("more than one core file specified\n"); } else { ++argi; if (argi >= argc) { - lose("missing filename for --core argument"); + lose("missing filename for --core argument\n"); } core = copied_string(argv[argi]); ++argi; @@ -265,7 +265,7 @@ main(int argc, char *argv[], char *envp[]) * error. */ if (!end_runtime_options && 0 == strcmp(arg, "--end-runtime-options")) { - lose("bad runtime option \"%s\"", argi0); + lose("bad runtime option \"%s\"\n", argi0); } sbcl_argv[argj++] = arg; } @@ -287,7 +287,7 @@ main(int argc, char *argv[], char *envp[]) core = copied_existing_filename_or_null(lookhere); free(lookhere); if (!core) { - lose("can't find core file"); + lose("can't find core file\n"); } } /* Make sure that SBCL_HOME is set, no matter where the core was @@ -324,7 +324,7 @@ main(int argc, char *argv[], char *envp[]) initial_function = load_core_file(core); if (initial_function == NIL) { - lose("couldn't find initial function"); + lose("couldn't find initial function\n"); } SHOW("freeing core"); free(core); @@ -342,6 +342,6 @@ main(int argc, char *argv[], char *envp[]) FSHOW((stderr, "/funcalling initial_function=0x%lx\n", (unsigned long)initial_function)); create_initial_thread(initial_function); - lose("CATS. CATS ARE NICE."); + lose("CATS. CATS ARE NICE.\n"); return 0; } diff --git a/src/runtime/sunos-os.c b/src/runtime/sunos-os.c index 3bd9f45..723534f 100644 --- a/src/runtime/sunos-os.c +++ b/src/runtime/sunos-os.c @@ -63,7 +63,7 @@ os_init(char *argv[], char *envp[]) uname(&name); major_version = atoi(name.release); if (major_version != 5) { - lose("sunos major version=%d (which isn't 5!)", major_version); + lose("sunos major version=%d (which isn't 5!)\n", major_version); } minor_version = atoi(name.release+2); if ((minor_version == 8) || @@ -72,12 +72,12 @@ os_init(char *argv[], char *envp[]) KLUDGE_MAYBE_MAP_ANON = 0x100; } else if (minor_version > 10) { FSHOW((stderr, "os_init: Solaris version greater than 9?\nUnknown MAP_ANON behaviour.\n")); - lose("Unknown mmap() interaction with MAP_ANON"); + lose("Unknown mmap() interaction with MAP_ANON\n"); } else { /* minor_version < 8 */ kludge_mmap_fd = open("/dev/zero",O_RDONLY); if (kludge_mmap_fd < 0) { perror("open"); - lose("Error in open(..)"); + lose("Error in open(..)\n"); } } @@ -115,7 +115,7 @@ os_vm_address_t os_validate(os_vm_address_t addr, os_vm_size_t len) if (addr == MAP_FAILED) { perror("mmap"); - lose ("Error in mmap(..)"); + lose ("Error in mmap(..)\n"); } return addr; @@ -140,7 +140,7 @@ os_map(int fd, int offset, os_vm_address_t addr, os_vm_size_t len) if (addr == MAP_FAILED) { perror("mmap"); - lose("Unexpedted mmap(..) failure"); + lose("Unexpedted mmap(..) failure\n"); } return addr; diff --git a/src/runtime/thread.c b/src/runtime/thread.c index 98a897c..821e4a2 100644 --- a/src/runtime/thread.c +++ b/src/runtime/thread.c @@ -304,7 +304,7 @@ void create_initial_thread(lispobj initial_function) { struct thread *th=create_thread_struct(initial_function); if(th) { initial_thread_trampoline(th); /* no return */ - } else lose("can't create initial thread"); + } else lose("can't create initial thread\n"); } #ifdef LISP_FEATURE_SB_THREAD @@ -388,7 +388,7 @@ int signal_interrupt_thread(os_thread_t os_thread) } else if (status == ESRCH) { return -1; } else { - lose("cannot send SIG_INTERRUPT_THREAD to thread=%lu: %d, %s", + lose("cannot send SIG_INTERRUPT_THREAD to thread=%lu: %d, %s\n", os_thread, status, strerror(status)); } } @@ -423,7 +423,7 @@ void gc_stop_the_world() /* This thread has exited. */ gc_assert(p->state==STATE_DEAD); } else if (status) { - lose("cannot send suspend thread=%lu: %d, %s", + lose("cannot send suspend thread=%lu: %d, %s\n", p->os_thread,status,strerror(status)); } } @@ -461,7 +461,7 @@ void gc_start_the_world() p->state=STATE_RUNNING; status=kill_thread_safely(p->os_thread,SIG_STOP_FOR_GC); if (status) { - lose("cannot resume thread=%lu: %d, %s", + lose("cannot resume thread=%lu: %d, %s\n", p->os_thread,status,strerror(status)); } } diff --git a/src/runtime/validate.c b/src/runtime/validate.c index 11b970f..9f72e7f 100644 --- a/src/runtime/validate.c +++ b/src/runtime/validate.c @@ -46,7 +46,7 @@ ensure_undefined_alien(void) { os_protect(start, os_vm_page_size, OS_VM_PROT_NONE); undefined_alien_address = start; } else { - lose("could not allocate guard page for undefined alien"); + lose("could not allocate guard page for undefined alien\n"); } } diff --git a/src/runtime/x86-64-arch.c b/src/runtime/x86-64-arch.c index 09a874d..91143d5 100644 --- a/src/runtime/x86-64-arch.c +++ b/src/runtime/x86-64-arch.c @@ -265,7 +265,7 @@ sigtrap_handler(int signal, siginfo_t *info, void *void_context) * seems to be no point in doing that, since we're just * going to lose(..) anyway. */ fake_foreign_function_call(context); - lose("%%PRIMITIVE HALT called; the party is over."); + lose("%%PRIMITIVE HALT called; the party is over.\n"); case trap_Error: case trap_Cerror: diff --git a/src/runtime/x86-arch.c b/src/runtime/x86-arch.c index 7f136f7..1e84fd7 100644 --- a/src/runtime/x86-arch.c +++ b/src/runtime/x86-arch.c @@ -266,7 +266,7 @@ sigtrap_handler(int signal, siginfo_t *info, void *void_context) * seems to be no point in doing that, since we're just * going to lose(..) anyway. */ fake_foreign_function_call(context); - lose("%%PRIMITIVE HALT called; the party is over."); + lose("%%PRIMITIVE HALT called; the party is over.\n"); case trap_Error: case trap_Cerror: diff --git a/version.lisp-expr b/version.lisp-expr index ba638bc..0b15317 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".) -"0.9.7.11" +"0.9.7.12" -- 1.7.10.4