lamal
Newbie

Karma: +0/-0
Offline
Posts: 2
I'm not a llama!
|
The call to dlopen in LoadLibraryAs should have two parameters on the stack. The one missing is the flag for the mode. It can be RTLD_LAZY or RTLD_NOW.
|
|
|
|
|
Logged
|
|
|
|
Charles Childers
Administrator
Sr. Member
    
Karma: +2/-0
Offline
Posts: 745
|
What are the values of RTLD_LAZY or RTLD_NOW? (I didn't see this online, and I have no headers for libdl.so installed)
|
|
|
|
|
Logged
|
|
|
|
lamal
Newbie

Karma: +0/-0
Offline
Posts: 2
I'm not a llama!
|
From glicbc-2.3.2/sysdeps/generic/bits/dlfcn.h :
-----------
/* The MODE argument to `dlopen' contains one of the following: */ #define RTLD_LAZY 0x00001 /* Lazy function call binding. */ #define RTLD_NOW 0x00002 /* Immediate function call binding. */ #define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */ #define RTLD_NOLOAD 0x00004 /* Do not load the object. */
/* If the following bit is set in the MODE argument to `dlopen', the symbols of the loaded object and its dependencies are made visible as if the object were linked directly into the program. */ #define RTLD_GLOBAL 0x00100
/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL. The implementation does this by default and so we can define the value to zero. */ #define RTLD_LOCAL 0
/* Do not delete object when closed. */ #define RTLD_NODELETE 0x01000
----------------------
Info may also be found in' Program Library HOWTO'
|
|
|
|
|
Logged
|
|
|
|
Charles Childers
Administrator
Sr. Member
    
Karma: +2/-0
Offline
Posts: 745
|
This has finally been fixed in the latest build of RetroForth 8.0
|
|
|
|
|
Logged
|
|
|
|