* Binaries built on OS X 10.4 will not run on OS X 10.2.8 "Jaguar" * Add a . at the end of a gethostbyname test in sb-bsd-sockets to both work around a resolver bug on Tiger and robustify the test * Thanks to Gary Byers for the alternate sigreturn bug fix * Bump the upcoming version number in NEWS to 0.9.0 (woohoo!)
* don't transform EQL to EQ if either argument is known to be a fixnum, as we have backend magic to deal with that. The effect of the previous "improvement" was rather horrible for bignums. Still apply the transform if the fixnumness is in question.
Fix bug in scoping of free special declarations. CLHS 3.3.4: "The scope of free declarations specifically does not include initialization forms for bindings established by the form containing the declarations." * Add a :BINDING-FORM-P parameter to PROCESS-DECLS. If true, return a list of the VARs created by PROCESS-SPECIAL-DECL for free bindings instead of adding them into the lexenv immediately. * PROCESSING-DECLS optionally uses :BINDING-FORM-P and binds the list to a supplied variable in the PROCESSING-DECLS body. * Calls to PROCESS-DECLS / PROCESSING-DECLS related to binding forms use the above changes. * The VAR list is threaded through a bunch of IR1 lambda translation utility functions, all of which sooner or later end up calling IR1-CONVERT-AUX-BINDINGS. * Before IR1-CONVERT-AUX-BINDINGS converts the body, add the variables in the list to the lexenv.
* record bug. * add test-case for other platform. * test normal trace for good measure.
PPC allocate-vector fix, plus OpenMCL buildability ... ... write a 0 at the end of the allocated vector to ensure all of its pages are unprotected. Otherwise if one is passed off to C (by READ-N-BYTES for example) the GC trigger can be hit in foreign code. (Compare to SPARC) ... revert "#+cmu #+cmu a b" back to "#+cmu a #+cmu b", as OpenMCL and ACL's readers have buggy implementations of CLHS 220.127.116.11.
... sufficiently well to make less of a hogwash of the FINALIZE documentation at any rate.
* The C runtime is no longer relinked after running nm, which should avoid some cases where symbols moved when linking in the read-only space reservation object. This was previously observed as segfaults in target-2 and could be worked around by choosing a different C compiler. * Space is now reserved for each of our fixed-address spaces on OS X, currently: * read-only space * static space * dynamic-1 and dynamic-2 spaces * linkage table space Should Apple ever decide to move the malloc heap again, none of these spaces will be picked because their virtual memory ranges will have been reserved by the linker.
* sprinkle WITHOUT-GCING around, so that we won't enter GC while holding the lock on finalizer store. * specify that finalizers run in an unpredictable dynamic scope and must be fully re-entrant. Add a few examples for good measure. * add finalizer, weak pointer, and after gc hook documentation to the manual.
* Fix misc.548: weakening of (VALUES (MEMBER A B C) &OPTIONAL) produces (VALUES &OPTIONAL SYMBOL) with different number of required/optional parameters. * Fix DATA-VECTOR-SET-C/SIMPLE-BIT-VECTOR on Alpha-32: srl-sll does not clean up upper bit (found by regression tests).
TRACE :ENCAPSULATE NIL was broken by a recent function signature change in the debugger internals. Fix this, and add support for :ENCAPSULATE NIL on x86-64. * Pass stream to PRINT-FRAME-CALL from ntrace.lisp. * Port over some of Daniel Barlow's fixes to x86-64-assem.S from amd64-pthreads-branch, fix fun_end_breakpoint_guts. * Fixed some magic constants in the x86-64 runtime * Various 64-bit cleanups, #ifdef cleanups in the runtime
* last vestiges of before GC hooks have been removed. * after GC hooks are now left for user-code. * call UNSAFE-CLEAR-ROOTS before GC proper as the moral replacement of old before GC hooks for internal use only: on unithread SBCL scrub the stack and clear ctype-of cache, on threaded just scrub the stack. * finalizers and after GC hooks moved outside the GC proper, with interrupts enabled and all threads running; it is now safe to allocate in them as re-entry to GC is possible. * put a lock on the global finalizers list, as per Gabor Mellis' patch. Gratuitiously change the name of the selfsame global variable to flush out anyone diddling with it. * tighten the finalizer spec with a note that they may run in any thread. * add a stress-test for finalizers. [1. Not actually tested on threaded SBCL.]
* move e-a-n from SB-VM to SB-SYS, and from target/vm.lisp to foreign.lisp. * move all e-a-n calls to FIND-FOREIGN-SYMBOL-IN-TABLE and GET-DYNAMIC-FOREIGN-SYMBOL-ADDRESS. * reader conditionalize e-a-n behaviour on :ELF and :MACH-O; explicitly add the relevant feature for each OS in make-config.sh. * delete unused file ppc/print.lisp (duplicates ppc/show.lisp). * increment fasl-format number. note: affects all backends; tested on ppc/darwin, x86/freebsd, and sparc/sunos.
* Merge more x86-64 disassembler improvements from Lutz Euler. (sbcl-devel "Re: Improving the x86-64 disassembler" on 2005-04-05). * Bump compact-info-env-entries-bits to allow purify on images with large amounts of functions (sbcl-devel "purify failure when compact-info-env-entries-bits is too small" on 2005-03-26 by Cyrus Harmon).