diff options
Diffstat (limited to 'byterun/unix.c')
-rw-r--r-- | byterun/unix.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/byterun/unix.c b/byterun/unix.c index 89e0706e2..cdc1f2a01 100644 --- a/byterun/unix.c +++ b/byterun/unix.c @@ -204,13 +204,16 @@ char * caml_dlerror(void) #ifndef RTLD_GLOBAL #define RTLD_GLOBAL 0 #endif +#ifndef RTLD_LOCAL +#define RTLD_LOCAL 0 +#endif #ifndef RTLD_NODELETE #define RTLD_NODELETE 0 #endif void * caml_dlopen(char * libname, int for_execution, int global) { - return dlopen(libname, RTLD_NOW | (global ? RTLD_GLOBAL : 0) | RTLD_NODELETE); + return dlopen(libname, RTLD_NOW | (global ? RTLD_GLOBAL : RTLD_LOCAL) | RTLD_NODELETE); /* Could use RTLD_LAZY if for_execution == 0, but needs testing */ } |