Luis Oliveira wrote:
On 18/set/2005, at 20:34, Kenny Tilton wrote:
No. Why does this have to happen at compile time? These are dynamic libraries, right? I can change DLLs and a binary application using the DLL still works, right? How? By resolving things at runtime. I think there is a misunderstanding here somewhere. Have you checked with CMUCL people to understand this needless requirement?
SBCL fixes this by using something called a linkage table, which is not available on all platforms yet IIRC.
I suppose CMUCL could implement something similar instead of hardcoding the function addresses when compiling alien-funcall forms.
Oh, I see CMUCL is broken and does not actually work? If I install a new DLL I have to recompile? In fact, I have to ship a DLL with my binary to customers, because their DLL might not be the exact same I used? Or are the somehow logical addresses?
Worse, are we now propagating this brokenness to every Lisp (where we do not go thru their FFI)?