From: Daniel B. <da...@te...> - 2000-07-02 20:38:02
|
The commentary in src/code/foreign.lisp indicates that dynamic loading was disabled in SBCL. Cursory fiddling indicates that all that is required to get it working again is to 1) uncomment it, and 2) for a CMUCL-compatible interface, implement RUN-PROGRAM, which is used to run ld(1) (to agglomerate the user-supplied object file with the relevant libraries) then 3) it would ne nice to fix the probable security hole caused by using an easily guessable filename in /tmp Note that even without RUN-PROGRAM, step (1) on its own is useful functionality as it means we can load shared libraries: $ cc -c -o get_h_errno.o get_h_errno.c $ ld -shared -o get_h_errno.so get_h_errno.o * (load-object-file "/home/dan/src/telent/sockets/get_h_errno.so") (#.(INT-SAP #X08264D28) #.(INT-SAP #X400130D0)) Most of the weird stuff with a.out and SOM et cetera doesn't apply to systems with dlsym(), and I don't think that SBCL currently runs on any such (freebsd is ELF these days, right?). -dan -- http://ww.telent.net/cliki/ - CLiki: CL/Unix free software link farm |