From 8edb76687dc6aec821131861ce81f6b6d8293299 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Thu, 24 Jul 2008 15:27:27 +0000 Subject: [PATCH] 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 --- rts/Linker.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rts/Linker.c b/rts/Linker.c index 07d1a1a..7d9bc34 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. */ -- 1.7.10.4