Specify RTLD_LOCAL explicitly.

As in atheme-services, I guess some versions of
MacOS X need this.
This commit is contained in:
Jilles Tjoelker 2008-12-03 00:39:07 +01:00
parent 41615da91c
commit d4db3063c7

View file

@ -533,6 +533,10 @@ mo_modrestart(struct Client *client_p, struct Client *source_p, int parc, const
#define RTLD_NOW RTLD_LAZY /* openbsd deficiency */ #define RTLD_NOW RTLD_LAZY /* openbsd deficiency */
#endif #endif
#ifndef RTLD_LOCAL
#define RTLD_LOCAL 0
#endif
#ifdef CHARYBDIS_PROFILE #ifdef CHARYBDIS_PROFILE
# ifndef RTLD_PROFILE # ifndef RTLD_PROFILE
# warning libdl may not support profiling, sucks. :( # warning libdl may not support profiling, sucks. :(
@ -792,9 +796,9 @@ load_a_module(const char *path, int warn, int core)
mod_basename = irc_basename(path); mod_basename = irc_basename(path);
#ifdef CHARYBDIS_PROFILE #ifdef CHARYBDIS_PROFILE
tmpptr = dlopen(path, RTLD_NOW | RTLD_PROFILE); tmpptr = dlopen(path, RTLD_NOW | RTLD_LOCAL | RTLD_PROFILE);
#else #else
tmpptr = dlopen(path, RTLD_NOW); tmpptr = dlopen(path, RTLD_NOW | RTLD_LOCAL);
#endif #endif
if(tmpptr == NULL) if(tmpptr == NULL)