I have a wishlist item for SBCL: it would be self-enclosed application delivery into a single executable that includes not only the Lisp image, but also additional statically compiled C libraries. CLISP has a "linkkit" for that, and ECL can do it, too.
If I understand what nyef told me, we might have to have some magic linker script and function annotations to ensure that magic functions are located at an address known to Lisp code despite new code being linked into the .text and .data segments. Typically, we'd either ensure the proper objects files are linked first, or you'd create a magic segment(s) different from .text and/or .data, that starts at a magic address, in which to compile the stuff that the Lisp image will expect to be at a known address.
Is some SBCL hacker interested in doing that? Or maybe only add it to the S BCL TODO file? Or maybe someone can explain me WHICH functions and datastructures must be at a fixed address, and then I can try to write the linker script myself using my experience from bootstrapping kernels on a new machine.
Thanks a whole lot!
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org If it doesn't work right, we can always try something else. — John McCarthy