patches/glib-02-gmodule-always-lazy.diff
author rohinis
Tue, 29 Nov 2011 17:32:55 +0000
branchs11express-2010-11
changeset 22234 c23e64da3e06
parent 15815 925c321548ef
permissions -rw-r--r--
2011-11-29 Rohini S <[email protected]> * patches/Python26-22-audio.diff: Fixes CVE-2010-1634 * specs/SUNWPython26.spec: Fixes CR 7085446
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15766
4015b1e83531 2009-05-14 Erwann Chenede - <[email protected]>
erwannc
parents: 11346
diff changeset
     1
diff -rup ../i386/glib-2.20.1/gmodule/gmodule-dl.c glib-2.20.1/gmodule/gmodule-dl.c
4015b1e83531 2009-05-14 Erwann Chenede - <[email protected]>
erwannc
parents: 11346
diff changeset
     2
--- ../i386/glib-2.20.1/gmodule/gmodule-dl.c	2009-04-01 01:04:20.000000000 +0200
4015b1e83531 2009-05-14 Erwann Chenede - <[email protected]>
erwannc
parents: 11346
diff changeset
     3
+++ glib-2.20.1/gmodule/gmodule-dl.c	2009-05-14 16:39:16.692377272 +0200
4015b1e83531 2009-05-14 Erwann Chenede - <[email protected]>
erwannc
parents: 11346
diff changeset
     4
@@ -95,9 +95,15 @@ _g_module_open (const gchar *file_name,
8863
8b0e51e42b63 2006-12-19 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     5
 		gboolean     bind_local)
8b0e51e42b63 2006-12-19 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     6
 {
8b0e51e42b63 2006-12-19 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     7
   gpointer handle;
8b0e51e42b63 2006-12-19 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     8
+
8b0e51e42b63 2006-12-19 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     9
+  #if defined(sun) && defined(__SVR4)
8b0e51e42b63 2006-12-19 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    10
+  /* Always use RTLD_LAZY on Solaris otherwise all relocations are
8b0e51e42b63 2006-12-19 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    11
+     performed immediately in all dynamic dependencies */
8b0e51e42b63 2006-12-19 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    12
+  bind_lazy = 1;
8b0e51e42b63 2006-12-19 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    13
+  #endif
8b0e51e42b63 2006-12-19 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    14
   
8b0e51e42b63 2006-12-19 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    15
   handle = dlopen (file_name,
15766
4015b1e83531 2009-05-14 Erwann Chenede - <[email protected]>
erwannc
parents: 11346
diff changeset
    16
-		   (bind_local ? 0 : RTLD_GLOBAL) | (bind_lazy ? RTLD_LAZY : RTLD_NOW));
4015b1e83531 2009-05-14 Erwann Chenede - <[email protected]>
erwannc
parents: 11346
diff changeset
    17
+		   (bind_local ? 0 : RTLD_GLOBAL) | (bind_lazy ? RTLD_LAZY | RTLD_FIRST: RTLD_NOW));
4015b1e83531 2009-05-14 Erwann Chenede - <[email protected]>
erwannc
parents: 11346
diff changeset
    18
   if (!handle)
4015b1e83531 2009-05-14 Erwann Chenede - <[email protected]>
erwannc
parents: 11346
diff changeset
    19
     g_module_set_error (fetch_dlerror (TRUE));
4015b1e83531 2009-05-14 Erwann Chenede - <[email protected]>
erwannc
parents: 11346
diff changeset
    20