summaryrefslogtreecommitdiff
path: root/rts/Linker.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2008-07-24 15:27:27 +0000
committerSimon Marlow <marlowsd@gmail.com>2008-07-24 15:27:27 +0000
commit8edb76687dc6aec821131861ce81f6b6d8293299 (patch)
tree81e5b41f003b2ce96707cf8b485c7b89935ddaa9 /rts/Linker.c
parent8bd0e4bc3406f9c3ea3cfb23a52c1d7493cb9374 (diff)
downloadhaskell-8edb76687dc6aec821131861ce81f6b6d8293299.tar.gz
use RTLD_LAZY instead of RTLD_NOW
RTLD_NOW apparently causes some problems, according to previous mailing-list discussion http://www.haskell.org/pipermail/cvs-ghc/2007-September/038570.html
Diffstat (limited to 'rts/Linker.c')
-rw-r--r--rts/Linker.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/rts/Linker.c b/rts/Linker.c
index 07d1a1a248..7d9bc34428 100644
--- a/rts/Linker.c
+++ b/rts/Linker.c
@@ -1019,7 +1019,9 @@ addDLL( char *dll_name )
initLinker();
- hdl= dlopen(dll_name, RTLD_NOW | RTLD_GLOBAL);
+ // omitted: RTLD_NOW
+ // see http://www.haskell.org/pipermail/cvs-ghc/2007-September/038570.html
+ hdl= dlopen(dll_name, RTLD_LAZY | RTLD_GLOBAL);
if (hdl == NULL) {
/* dlopen failed; return a ptr to the error msg. */