2009-05-14 Erwann Chenede - <
[email protected]>
* patches/glib-02-gmodule-always-lazy.diff: added RTLD_FIRST in dlopen
* patches/glib-03-trusted-extensions.diff: ported in light of the patch above
--- a/ChangeLog Thu May 14 13:07:11 2009 +0000
+++ b/ChangeLog Thu May 14 16:01:56 2009 +0000
@@ -1,3 +1,8 @@
+2009-05-14 Erwann Chenede - <[email protected]>
+
+ * patches/glib-02-gmodule-always-lazy.diff: added RTLD_FIRST in dlopen
+ * patches/glib-03-trusted-extensions.diff: ported in light of the patch above
+
2009-05-14 Matt Keenan <[email protected]>
* SUNWgnutls.spec : Fix d.o.o. : 8876, ON bits being built on nevada builds
--- a/patches/glib-02-gmodule-always-lazy.diff Thu May 14 13:07:11 2009 +0000
+++ b/patches/glib-02-gmodule-always-lazy.diff Thu May 14 16:01:56 2009 +0000
@@ -1,7 +1,7 @@
-diff -Nrup glib-2.13.1/gmodule/gmodule-dl.c ../SUNWgnome-base-libs-2.16.1-patch04/glib-2.13.1/gmodule/gmodule-dl.c
---- glib-2.13.1/gmodule/gmodule-dl.c 2004-02-20 02:41:00.000000000 +0100
-+++ ../SUNWgnome-base-libs-2.16.1-patch04/glib-2.13.1/gmodule/gmodule-dl.c 2006-10-12 10:43:14.442137000 +0200
-@@ -94,6 +94,12 @@
+diff -rup ../i386/glib-2.20.1/gmodule/gmodule-dl.c glib-2.20.1/gmodule/gmodule-dl.c
+--- ../i386/glib-2.20.1/gmodule/gmodule-dl.c 2009-04-01 01:04:20.000000000 +0200
++++ glib-2.20.1/gmodule/gmodule-dl.c 2009-05-14 16:39:16.692377272 +0200
+@@ -95,9 +95,15 @@ _g_module_open (const gchar *file_name,
gboolean bind_local)
{
gpointer handle;
@@ -13,4 +13,17 @@
+ #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_NOW));
++ (bind_local ? 0 : RTLD_GLOBAL) | (bind_lazy ? RTLD_LAZY | RTLD_FIRST: RTLD_NOW));
+ if (!handle)
+ g_module_set_error (fetch_dlerror (TRUE));
+
+@@ -113,7 +119,7 @@ _g_module_self (void)
+ * are required on some systems.
+ */
+
+- handle = dlopen (NULL, RTLD_GLOBAL | RTLD_LAZY);
++ handle = dlopen (NULL, RTLD_GLOBAL | RTLD_LAZY | RTLD_FIRST);
+ if (!handle)
+ g_module_set_error (fetch_dlerror (TRUE));
+
--- a/patches/glib-03-trusted-extensions.diff Thu May 14 13:07:11 2009 +0000
+++ b/patches/glib-03-trusted-extensions.diff Thu May 14 16:01:56 2009 +0000
@@ -1,6 +1,6 @@
-diff -urN glib.orig/gmodule/gmodule-dl.c glib.new/gmodule/gmodule-dl.c
---- glib.orig/gmodule/gmodule-dl.c 2006-11-01 15:24:13.863431000 +0000
-+++ glib.new/gmodule/gmodule-dl.c 2006-11-01 15:30:45.508553000 +0000
+diff -rup ../i386/glib-2.20.1/gmodule/gmodule-dl.c glib-2.20.1/gmodule/gmodule-dl.c
+--- ../i386/glib-2.20.1/gmodule/gmodule-dl.c 2009-05-14 16:42:09.667625600 +0200
++++ glib-2.20.1/gmodule/gmodule-dl.c 2009-05-14 16:42:41.085074835 +0200
@@ -30,6 +30,8 @@
#include "config.h"
@@ -10,7 +10,7 @@
/* Perl includes <nlist.h> and <link.h> instead of <dlfcn.h> on some systmes? */
-@@ -88,6 +90,22 @@
+@@ -89,6 +91,22 @@ fetch_dlerror (gboolean replace_null)
return msg;
}
@@ -33,7 +33,7 @@
static gpointer
_g_module_open (const gchar *file_name,
gboolean bind_lazy,
-@@ -118,7 +118,46 @@
+@@ -101,7 +119,46 @@ _g_module_open (const gchar *file_name,
performed immediately in all dynamic dependencies */
bind_lazy = 1;
#endif
@@ -79,5 +79,5 @@
+ }
+
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)