--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/gnome/glib2/patches/02-gmodule-always-lazy.patch Thu Apr 28 14:40:42 2016 -0700
@@ -0,0 +1,28 @@
+Patch migrated from Desktop, where it was listed as:
+# owner:laca type:bug date:2005-10-13
+
+After talking with Rod, it seems like this should apply to all platforms;
+not just Solaris, otherwise there could be a significant performance
+penalty at startup. Need to file upstream bug for that.
+
+--- glib-2.44.0/gmodule/gmodule-dl.c 2014-10-04 17:08:22.000000000 -0700
++++ glib-2.44.0/gmodule/gmodule-dl.c 2015-04-19 12:35:57.727036805 -0700
+@@ -93,9 +93,17 @@
+ 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));
++ (bind_local ? 0 : RTLD_GLOBAL) | (bind_lazy ? RTLD_LAZY | RTLD_FIRST : RTLD_NOW));
+ if (!handle)
+ g_module_set_error (fetch_dlerror (TRUE));
+