summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlarryh%netscape.com <devnull@localhost>1999-02-12 19:33:54 +0000
committerlarryh%netscape.com <devnull@localhost>1999-02-12 19:33:54 +0000
commite80d804cd406a04d28f1ee14d6d7d1868a0958cb (patch)
treee5a0fc9436144873f5e185ebd473b609521e89c4
parent3befa5c799c0d396f579696e59d39c15f99a20ab (diff)
downloadnspr-hg-e80d804cd406a04d28f1ee14d6d7d1868a0958cb.tar.gz
BugSplat #341273
-rw-r--r--pr/src/linking/prlink.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/pr/src/linking/prlink.c b/pr/src/linking/prlink.c
index 62b57b87..e21ce4ff 100644
--- a/pr/src/linking/prlink.c
+++ b/pr/src/linking/prlink.c
@@ -34,6 +34,11 @@
#ifdef XP_UNIX
#ifdef USE_DLFCN
#include <dlfcn.h>
+#ifdef LINUX
+#define _PR_DLOPEN_FLAGS RTLD_NOW
+#else
+#define _PR_DLOPEN_FLAGS RTLD_LAZY
+#endif /* LINUX */
#elif defined(USE_HPSHL)
#include <dl.h>
#elif defined(USE_MACH_DYLD)
@@ -163,7 +168,7 @@ void _PR_InitLinker(void)
#elif defined(XP_UNIX)
#ifdef HAVE_DLL
#ifdef USE_DLFCN
- h = dlopen(0, RTLD_LAZY);
+ h = dlopen(0, _PR_DLOPEN_FLAGS );
if (!h) {
char *error;
@@ -684,7 +689,7 @@ PR_LoadLibrary(const char *name)
#ifdef HAVE_DLL
{
#if defined(USE_DLFCN)
- void *h = dlopen(name, RTLD_LAZY);
+ void *h = dlopen(name, _PR_DLOPEN_FLAGS );
#elif defined(USE_HPSHL)
shl_t h = shl_load(name, BIND_DEFERRED | DYNAMIC_PATH, 0L);
#elif defined(USE_MACH_DYLD)