0.8.17.19: Late resolution for foreign symbols &co
authorNikodemus Siivola <nikodemus@random-state.net>
Fri, 3 Dec 2004 17:50:05 +0000 (17:50 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Fri, 3 Dec 2004 17:50:05 +0000 (17:50 +0000)
commit5e1fcdac979db9a6aebe69531229355def8c0f90
tree56fa84a2364c9a2e987e2dfa83e07e8400d242ef
parentbc19622c8c9b6af2635da30ed9c88665012d3361
0.8.17.19: Late resolution for foreign symbols &co
            * If a foreign symbol is unknown, use an address on a
               protected page for it: all accesses there are trapped,
               and signal UNDEFINED-ALIEN-ERROR. (Currently the error
               doesn't reveal the name of the alien that was
               accessed.)
            * Make GET-DYNAMIC-FOREIGN-SYMBOL-ADDRESS keep track of
               both undefined aliens and dynamic foreign symbols in
               general.
            * Fix linkage-table reinitialization bug on threaded
               platforms, reported by Sean Ross.
            * Better restarts for realoding shared objects, and
               CONTINUE restarts for *save-hooks* and *init-hooks*.
            * Accurate alien warning for SAVE-LISP-AND-DIE on
               non-linkage-table platforms.

 HEALTH WARNING: Tested on x86/FreeBSD only, but "should be fine".
28 files changed:
NEWS
package-data-list.lisp-expr
src/code/cold-init.lisp
src/code/condition.lisp
src/code/foreign-load.lisp
src/code/foreign.lisp
src/code/interr.lisp
src/code/linkage-table.lisp
src/code/save.lisp
src/code/toplevel.lisp
src/compiler/alpha/parms.lisp
src/compiler/generic/genesis.lisp
src/compiler/hppa/parms.lisp
src/compiler/mips/parms.lisp
src/compiler/ppc/parms.lisp
src/compiler/sparc/parms.lisp
src/compiler/x86/parms.lisp
src/runtime/bsd-os.c
src/runtime/interrupt.c
src/runtime/interrupt.h
src/runtime/linux-os.c
src/runtime/os.h
src/runtime/osf1-os.c
src/runtime/sunos-os.c
src/runtime/validate.c
src/runtime/validate.h
tests/foreign.test.sh
version.lisp-expr