1.0.42.24: print symbols with fully qualified names in critical places
Patch by Attila Lendvai, lp#622789.
Less room for package confusion this way.
- [DH] NEWS
- [DH] src/code/class.lisp
- [DH] src/code/condition.lisp
- [DH] src/code/defmacro.lisp
- [DH] src/code/defstruct.lisp
- [DH] src/compiler/early-c.lisp
- [DH] src/pcl/cpl.lisp
- [DH] src/pcl/macros.lisp
- [DH] src/pcl/std-class.lisp
- [DH] version.lisp-expr
(September 2, 2010 08:14 AM)
1.0.42.23: x86-64: Fix passing of unboxed complex float arguments.
* This has been broken since 1.0.27.14 (x86oid frame pointer
bias).
* The "move-arg" VOPs for complex floats required a different
adjustment when being placed relative to the normal frame base
pointer, due to the bias, than when being placed relative to
other base pointers. Unfortunately, a new requirement was also
added that restricted the appropriate registers for use as
frame base pointers to one, and one which would not normally be
selected, leading to "Unexpected offset" errors.
* Removed the restriction.
* The logic in EA-FOR-CXF-STACK is still broken: The frame bias
is only applied when the frame pointer is RSP, which will never
happen, and is not applied when the frame pointer is any other
register. At the same time, so far as I can tell, the bias seems
to be unneccessary.
* Bug reported by sykopomp in #lispgames.
- [DH] src/compiler/x86-64/float.lisp
- [DH] tests/compiler.pure.lisp
- [DH] version.lisp-expr
(September 2, 2010 12:34 AM)
1.0.42.22: x86-64: Add test case for unboxed complex float arguments.
* This has been broken since 1.0.27.14.
- [DH] tests/compiler.pure.lisp
- [DH] version.lisp-expr
(September 2, 2010 12:34 AM)
1.0.42.21: grab-bag of Solaris related fixes
Patch by Jim Wise, lp#627581.
* make make-doc.sh work on SunOS (due to old /bin/sh)
* avoid the struct dirent distrust-length build issue in sb-posix
* fix an issue in the run-program.ed test
* add .html to .cvsignore
- [DH] NEWS
- [DH] contrib/sb-posix/constants.lisp
- [DH] doc/manual/.cvsignore
- [DH] doc/manual/Makefile
- [DH] doc/manual/make-tempfiles.sh
- [DH] tests/run-program.impure.lisp
- [DH] version.lisp-expr
(September 1, 2010 06:11 PM)
1.0.42.20: use platform-dependent CFLAGS consistently in tests
Patch by Josh Elsasser, lp#615499.
In his words:
"Attached is a patch which moves all the duplicated, out-of-sync C
compiler flag selection in the tests into a single wrapper script.
When passed a flag like -sbcl-pic or -sbcl-shared, the script will
decided if -fPIC or -shared/-bundle is needed based on SOFTWARE-TYPE
and MACHINE-TYPE which SBCL has passed in the environment.
I tested this on several x86 OSes and a couple PowerPC, as well as
SunOS on SPARC and OpenBSD on x86-64. For the -sbcl-pic case I have
verified that -fPIC is needed on OpenBSD-PowerPC, OpenBSD-X86-64,
SunOS-SPARC and SunOS-X86; the other cases are guesses based on the
existing reader conditionals. It is not needed on Darwin or Linux on
PowerPC, or on any x86 OSes I tested aside from SunOS.
I haven't verified that -arch x86_64 is actually needed on
Darwin-X86-64, or that something like -m64 isn't needed on other
X86-64 OSes (aside from OpenBSD)."
- [DH] tests/foreign-stack-alignment.impure.lisp
- [DH] tests/foreign.test.sh
- [DH] tests/kill-non-lisp-thread.impure.lisp
- [DH] tests/run-compiler.sh
- [DH] tests/run-tests.lisp
- [DH] tests/swap-lispobjs.impure.lisp
- [DH] tests/test-util.lisp
- [DH] tests/threads.impure.lisp
- [DH] version.lisp-expr
(September 1, 2010 05:21 PM)
1.0.42.19: make SB-CONCURRENCY more GC friendly
* Patch by "3b", lp#628098.
* Break chains of detached nodes, so conservativism won't kill us.
- [DH] contrib/sb-concurrency/queue.lisp
- [DH] version.lisp-expr
(September 1, 2010 04:57 PM)
1.0.42.18: let's take that again
Previous commit was supposed to have this commit message:
"OpenBSD build fix -- signal handlers need to lead FPU control word"
* Patch by Josh Elsasser, lp#615492.
In his words:
OpenBSD/amd64 recently began running signal handlers with a clean
FPU state, making it necessary to load the floating point control
word. The attached patch does exactly this, and works equally well
on OpenBSD systems from both before and after the signal handler
change was made.
This patch is necessary to build SBCL x86-64 on recent -current
snapshots of OpenBSD, and for the upcoming 4.8 release.
* Committing untested, as I don't have OpenBSD handy.
(September 1, 2010 04:09 PM)
1.0.42.17: better host lisp fasl-type logic
* Patch by Josh Elsasser, lp#615492.
In his words:
OpenBSD/amd64 recently began running signal handlers with a clean
FPU state, making it necessary to load the floating point control
word. The attached patch does exactly this, and works equally well
on OpenBSD systems from both before and after the signal handler
change was made.
This patch is necessary to build SBCL x86-64 on recent -current
snapshots of OpenBSD, and for the upcoming 4.8 release.
* Committing untested, as I don't have OpenBSD handy.
- [DH] NEWS
- [DH] src/runtime/x86-64-bsd-os.c
- [DH] src/runtime/x86-64-bsd-os.h
(September 1, 2010 04:05 PM)
1.0.42.17: better host lisp fasl-type logic
* Patch by "nixeagle", lp#592903.
Use COMPILE-FILE-PATHNAME to figure out the right pathname-type.
- [DH] src/cold/shared.lisp
- [DH] version.lisp-expr
(September 1, 2010 03:46 PM)
1.0.42.16: better RANDOM type-error reporting
* Since RANDOM has an explicit check for the type, use the EXPLICIT-CHECK
flag in the DEFKNOWN...
* Patch by Stas Boukarev, lp#598986.
- [DH] NEWS
- [DH] src/compiler/fndb.lisp
- [DH] version.lisp-expr
(September 1, 2010 03:27 PM)
1.0.42.15: prevent inline expansion from creating refs to dead lambda-vars
* Fixes lp#454681.
* Patch by Alexey. In his words, in reference to the test-case:
(multiple-value-bind (iterator+977 getter+978)
(does-not-exist-but-does-not-matter)
(flet ((iterator+976 ()
(funcall iterator+977)))
(declare (inline iterator+976))
(let ((iterator+976 #'iterator+976))
(funcall iterator+976)))))
Inline expansion of ITERATOR+976 tries to refer to a dead
LAMBDA-VAR ITERATOR+977 of varargs entry, which was substituted
with ITERATOR+977 of &OPTIONAL processor. Thus the referenced
variable is dead and is not bound anywhere.
The attached patch fixes the problem by giving up on inline
expansion if it tries to make a reference to a dead LAMBDA-VAR,
similar to the way dead BLOCK tags are treated.
- [DH] NEWS
- [DH] src/compiler/ir1tran.lisp
- [DH] src/compiler/ir1util.lisp
- [DH] src/compiler/node.lisp
- [DH] tests/compiler.pure.lisp
- [DH] version.lisp-expr
(September 1, 2010 02:42 PM)
1.0.42.14: socket-connect thread safety, version 2
* Code from 1.0.40.7 to use getprotobyname_r.
* Use grovel-features.sh to check for its and getprotobynumber_r's
existence, and add feature :os-provides-getprotoby-r when so.
If they do not exist, use a lock instead.
- [DH] NEWS
- [DH] contrib/sb-bsd-sockets/constants.lisp
- [DH] contrib/sb-bsd-sockets/inet.lisp
- [DH] tools-for-build/grovel-features.sh
- [DH] tools-for-build/os-provides-getprotoby-r-test.c
- [DH] version.lisp-expr
(September 1, 2010 02:14 PM)
1.0.42.13: update ASDF to 2.004
* Patch by Faré Rideau, lp#605260.
(Not quite as-is: I split the git scripting from the makefile into
pull-asdf.sh for clarity.)
- [DH] NEWS
- [DH] contrib/asdf/Makefile
- [DH] contrib/asdf/asdf.lisp
- [DH] contrib/asdf/asdf.texinfo
- [DH] contrib/asdf/pull-asdf.sh
- [DH] version.lisp-expr
(September 1, 2010 12:26 PM)
1.0.42.11: reinline nested LIST and VECTOR calls in MAKE-ARRAY initial-contents
* Fixes lp#586105.
* The source transform for MAKE-ARRAY makes LIST and VECTOR notinline
so that the deftransforms can pick initial-contents and dimensions
apart.
However, when a list or vector in initial-contents is not part of
the initialization structure but an actual initialization value,
then notinline loses both performance in general, and foils nested
DX in particular.
So, walk the initial-contents and restore inlining for the actual
initialization values.
- [DH] NEWS
- [DH] src/compiler/array-tran.lisp
- [DH] tests/dynamic-extent.impure.lisp
- [DH] version.lisp-expr
(September 1, 2010 11:53 AM)
1.0.42.11: SB-EXT:WORD for use with ATOMIC-INCF &co
(Symbol previously known as SB-VM:WORD.)
* Requiring users to #+ their way to (UNSIGNED-BYTE 32) and 64 is
just mean and brittle.
- [DH] NEWS
- [DH] package-data-list.lisp-expr
- [DH] src/code/late-extensions.lisp
- [DH] version.lisp-expr
(September 1, 2010 09:15 AM)
1.0.42.10: guard against time travel by getrusage()
* Fixes lp#544421, we hope.
* Apparently sometimes getrusage() returns a smaller value on second
call -- this seems to happen under pretty extreme loads, mostly --
which we want to guard against.
- [DH] NEWS
- [DH] src/code/gc.lisp
- [DH] version.lisp-expr
(August 31, 2010 03:23 PM)
1.0.42.9: fix defmethod declarations for aliases of builtin classes as specializers
* Fixes lp#618387.
* When we have a :defined class that we want a type declaration for, don't use
the name we used to look up the class, but the CLASS-NAME of the class.
- [DH] NEWS
- [DH] src/pcl/boot.lisp
- [DH] tests/clos.impure.lisp
- [DH] version.lisp-expr
(August 31, 2010 02:29 PM)
1.0.42.8: fix build on OpenBSD/i386 -current and upcoming 4.8 release
* Patch by Josh Elsasser, lp#615489.
* On OpenBSD/i386, the structure that stores the FPU state during
signals was recently moved.
Add a script to tools-for-build/ which is run from make-config.sh
to detect where the FPU state is located, and create a
src/runtime/openbsd-sigcontext.h header containing a #define which
src/runtime/x86-bsd-os.c can use.
This is necessary to build SBCL on recent -current snapshots of
OpenBSD, and for the upcoming 4.8 release.
* Missing NEWS entry for last commit.
- [DH] NEWS
- [DH] make-config.sh
- [DH] src/runtime/x86-bsd-os.c
- [DH] tools-for-build/openbsd-sigcontext.sh
- [DH] version.lisp-expr
(August 31, 2010 01:04 PM)
1.0.42.7: fix shell scripts on Solaris (and FreeBSD?)
* Patch by Josh Elsasser, lp#615497.
* Fixes for run-sbcl.sh and tests/subr.sh on Solaris, some of which I
believe were also necessary on FreeBSD.
* A missing #include needed on Solaris is also added.
- [DH] run-sbcl.sh
- [DH] src/runtime/runtime.c
- [DH] tests/subr.sh
- [DH] version.lisp-expr
(August 31, 2010 12:46 PM)
1.0.42.6: fix os-provides-dladdr-test.c
For dladdr to be present in dlfcn.h, #define _GNU_SOURCE should be
before any includes.
Patch by Stas Boukarev.
- [DH] NEWS
- [DH] tools-for-build/os-provides-dladdr-test.c
- [DH] version.lisp-expr
(August 31, 2010 12:26 PM)
1.0.42.5: revert 1.0.42.2, "correct defknown for data-vector-ref-with-offset"
Adjusting the defknown also requires adjusting the VOPs to accept negative
indexes, and since I don't have time right now to audit the sign handling
in them, I'm reverting for now.
Saga continues on https://bugs.launchpad.net/sbcl/+bug/622958
- [DH] NEWS
- [DH] src/compiler/fndb.lisp
- [DH] tests/compiler.pure.lisp
- [DH] version.lisp-expr
(August 31, 2010 11:27 AM)
1.0.42.4: fix compiler-macros for WRITE and WRITE-TO-STRING
* Based on patch by Stas Boukarev, lp#598374 and lp#581564.
* Handle output-stream designators in WRITE.
* Avoid name capture in WRITE-TO-STRING.
- [DH] NEWS
- [DH] src/code/print.lisp
- [DH] tests/print.impure.lisp
- [DH] version.lisp-expr
(August 30, 2010 03:06 PM)
1.0.42.3: DOTIMES and non-integer counts
* For non-literal non-integer counts we already did the right thing,
but eg. literal floats slipped under the radar.
* Patch by Roman Marynchak, lp#619393.
- [DH] NEWS
- [DH] src/code/defboot.lisp
- [DH] tests/compiler.pure.lisp
- [DH] version.lisp-expr
(August 30, 2010 11:13 AM)
1.0.42.2: correct defknown for data-vector-ref-with-offset
* If the offset is positive, the index can be negative and still
correct.
* Fixes lp#622958
- [DH] NEWS
- [DH] src/compiler/fndb.lisp
- [DH] tests/compiler.pure.lisp
- [DH] version.lisp-expr
(August 30, 2010 10:44 AM)