patches/glib-04-gmodule-always-lazy.diff
author dcarbery
Fri, 24 Nov 2006 16:37:59 +0000
branch217update
changeset 19096 d542fc2c823e
parent 8345 7f02db371345
permissions -rw-r--r--
Merged trunk changes r9797:9829 into 217update branch.

diff -Nrup glib-2.12.4/gmodule/gmodule-dl.c ../SUNWgnome-base-libs-2.16.1-patch04/glib-2.12.4/gmodule/gmodule-dl.c
--- glib-2.12.4/gmodule/gmodule-dl.c	2004-02-20 02:41:00.000000000 +0100
+++ ../SUNWgnome-base-libs-2.16.1-patch04/glib-2.12.4/gmodule/gmodule-dl.c	2006-10-12 10:43:14.442137000 +0200
@@ -94,6 +94,12 @@ _g_module_open (const gchar *file_name,
 		gboolean     bind_local)
 {
   gpointer handle;
+
+  #if defined(sun) && defined(__SVR4)
+  /* Always use RTLD_LAZY on Solaris otherwise all relocations are
+     performed immediately in all dynamic dependencies */
+  bind_lazy = 1;
+  #endif
   
   handle = dlopen (file_name,
 	(bind_local ? 0 : RTLD_GLOBAL) | (bind_lazy ? RTLD_LAZY : RTLD_NOW));