0.9.8.14:
authorJuho Snellman <jsnell@iki.fi>
Fri, 6 Jan 2006 01:11:07 +0000 (01:11 +0000)
committerJuho Snellman <jsnell@iki.fi>
Fri, 6 Jan 2006 01:11:07 +0000 (01:11 +0000)
commit93be0089fe7b2a9e34bf1cb6da9fe6e902769f5e
treeded192bef6f94d222e50bb746b8e378992ac876a
parentc70733ce291ef0f5b0f2dc19f085dfdeb1896b81
0.9.8.14:
        Fix saving a core with callbacks on x86 and x86-64, as
        discussed on sbcl-devel "CFFI Callbacks on SBCL" on
        2005-12-31. Essentially the problem is that the address of
        #'ENTER-ALIEN-CALLBACK is hard-coded into the assembly callback
        wrappers, and the address of the function can change when
        saving a non-purified core.

        * Define a static symbol that contains #'ENTER-ALIEN-CALLBACK
          in the value slot.
        * Change the x86 / x86-64 wrappers to indirect through the
          slot.
        * Add minimal test case
        * Add a make-config.sh-detected :alien-callbacks feature
12 files changed:
NEWS
base-target-features.lisp-expr
make-config.sh
package-data-list.lisp-expr
src/code/target-alieneval.lisp
src/compiler/x86-64/c-call.lisp
src/compiler/x86-64/parms.lisp
src/compiler/x86/c-call.lisp
src/compiler/x86/parms.lisp
tests/callback.impure.lisp
tests/core.test.sh
version.lisp-expr