[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] reloading dso files
From: |
felix winkelmann |
Subject: |
Re: [Chicken-users] reloading dso files |
Date: |
Sun, 6 Feb 2005 09:03:48 +0100 |
On Sat, 5 Feb 2005 09:04:03 +1100, Mark Baily <address@hidden> wrote:
>[...]
I have added a new procedure `set-dynamic-load-mode!' to the current
development version, which can be used to fine-tune the way shared
objects are loaded. Gambit appears to call dlopen(2) with RTLD_NOW,
which means C symbols inside the loaded file are not exported.
Chicken uses RTLD_GLOBAL (and RTLD_LAZY), and exports symbols
so that subsequently loaded files can access the C symbols.
For the time being, you can replace the occurrence of
"RTLD_GLOBAL | RTLD_LAZY" in runtime.c with "RTLD_LAZY".
I haven't tested how this interacts with loading and core library
units, but it should work. It definitely fixes the problem with
normal shared objects loaded via "load".
cheers,
felix