From: Taylor R Campbell Date: Thu, 20 Jun 2013 15:18:19 +0000 (+0000) Subject: Pass RTLD_NOW, not RTLD_LAZY, to dlopen. X-Git-Tag: release-9.2.0~152 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=b9e6f50da1fccf908bf486898a1f92b3522bf3a6;p=mit-scheme.git Pass RTLD_NOW, not RTLD_LAZY, to dlopen. Let dlopen fail recoverably if there are missing symbols, rather than aborting the hapless process when it tries to use them later. --- diff --git a/src/microcode/pruxdld.c b/src/microcode/pruxdld.c index 11a9615e1..83d301770 100644 --- a/src/microcode/pruxdld.c +++ b/src/microcode/pruxdld.c @@ -117,7 +117,7 @@ dld_load (const char * path) cleanup_registered_p = true; } - handle = (dlopen (path, (RTLD_LAZY | RTLD_GLOBAL))); + handle = (dlopen (path, (RTLD_NOW | RTLD_GLOBAL))); if (handle == 0) { SCHEME_OBJECT v = (allocate_marked_vector (TC_VECTOR, 3, 1));