16517N/A@@ -95,9 +95,15 @@ _g_module_open (const gchar *file_name,
9605N/A+ #if defined(sun) && defined(__SVR4)
9605N/A+ /* Always use RTLD_LAZY on Solaris otherwise all relocations are
9605N/A+ performed immediately in all dynamic dependencies */
9605N/A handle = dlopen (file_name,
16517N/A- (bind_local ? 0 : RTLD_GLOBAL) | (bind_lazy ? RTLD_LAZY : RTLD_NOW));
16517N/A+ (bind_local ? 0 : RTLD_GLOBAL) | (bind_lazy ? RTLD_LAZY | RTLD_FIRST: RTLD_NOW));
16517N/A g_module_set_error (fetch_dlerror (TRUE));
16517N/A@@ -113,7 +119,7 @@ _g_module_self (void)
16517N/A * are required on some systems.
16517N/A- handle = dlopen (NULL, RTLD_GLOBAL | RTLD_LAZY);
16517N/A+ handle = dlopen (NULL, RTLD_GLOBAL | RTLD_LAZY | RTLD_FIRST);
16517N/A g_module_set_error (fetch_dlerror (TRUE));