[Pkg-openldap-devel] r1403 - in openldap/trunk/debian: . patches

vorlon at alioth.debian.org vorlon at alioth.debian.org
Tue Oct 18 01:06:51 UTC 2011


tags 327585 pending
thanks

Author: vorlon
Date: 2011-10-18 01:06:50 +0000 (Tue, 18 Oct 2011)
New Revision: 1403

Added:
   openldap/trunk/debian/patches/switch-to-lt_dlopenadvise-to-get-RTLD_GLOBAL-set.diff
Modified:
   openldap/trunk/debian/changelog
   openldap/trunk/debian/patches/series
Log:
debian/patches/switch-to-lt_dlopenadvise-to-get-RTLD_GLOBAL-set.diff:
Switch to lt_dlopenadvise() so back_perl can be opened with RTLD_GLOBAL.
Thanks to Jan-Marek Glogowski <jan-marek.glogowski at muenchen.de> for the
patch.  Closes: #327585.

Modified: openldap/trunk/debian/changelog
===================================================================
--- openldap/trunk/debian/changelog	2011-10-11 03:36:47 UTC (rev 1402)
+++ openldap/trunk/debian/changelog	2011-10-18 01:06:50 UTC (rev 1403)
@@ -20,6 +20,10 @@
     --with-cyrus-sasl, so there's no need for a second check.
   * debian/po/es.po: tweak an ambiguous string in the Spanish debconf
     translation, noticed in response to a submitted Catalan translation    
+  * debian/patches/switch-to-lt_dlopenadvise-to-get-RTLD_GLOBAL-set.diff:
+    Switch to lt_dlopenadvise() so back_perl can be opened with RTLD_GLOBAL.
+    Thanks to Jan-Marek Glogowski <jan-marek.glogowski at muenchen.de> for the
+    patch.  Closes: #327585.
 
   [ Updated debconf translations ]
   * Catalan, thanks to Innocent De Marchi <tangram.peces at gmail.com>.

Modified: openldap/trunk/debian/patches/series
===================================================================
--- openldap/trunk/debian/patches/series	2011-10-11 03:36:47 UTC (rev 1402)
+++ openldap/trunk/debian/patches/series	2011-10-18 01:06:50 UTC (rev 1403)
@@ -17,3 +17,4 @@
 fix-its6898-locking-issue
 fix-build-top-mk
 no-AM_INIT_AUTOMAKE
+switch-to-lt_dlopenadvise-to-get-RTLD_GLOBAL-set.diff

Added: openldap/trunk/debian/patches/switch-to-lt_dlopenadvise-to-get-RTLD_GLOBAL-set.diff
===================================================================
--- openldap/trunk/debian/patches/switch-to-lt_dlopenadvise-to-get-RTLD_GLOBAL-set.diff	                        (rev 0)
+++ openldap/trunk/debian/patches/switch-to-lt_dlopenadvise-to-get-RTLD_GLOBAL-set.diff	2011-10-18 01:06:50 UTC (rev 1403)
@@ -0,0 +1,40 @@
+From: Jan-Marek Glogowski <jan-marek.glogowski at muenchen.de>
+Date: Tue, 18 May 2010 17:47:05 +0200
+Subject: Switch to lt_dlopenadvise() so back_perl can be opened with RTLD_GLOBAL.    
+ Open all modules with RTLD_GLOBAL, needed so that back_perl can load
+ non-trivial Perl extensions that require symbols from back_perl.so itself.
+Bug-Debian: http://bugs.debian.org/327585
+
+---
+--- openldap/servers/slapd/module.c.orig	2010-05-18 17:42:04.000000000 +0200
++++ openldap/servers/slapd/module.c	2010-05-18 17:45:46.000000000 +0200
+@@ -117,6 +117,20 @@
+ 	return -1;	/* not found */
+ }
+ 
++static lt_dlhandle slapd_lt_dlopenext_global( const char *filename )
++{
++	lt_dlhandle handle = 0;
++	lt_dladvise advise;
++
++	if (!lt_dladvise_init (&advise) && !lt_dladvise_ext (&advise)
++			&& !lt_dladvise_global (&advise))
++		handle = lt_dlopenadvise (filename, advise);
++
++	lt_dladvise_destroy (&advise);
++
++	return handle;
++}
++
+ int module_load(const char* file_name, int argc, char *argv[])
+ {
+ 	module_loaded_t *module;
+@@ -180,7 +194,7 @@
+ 	 * to calling Debug. This is because Debug is a macro that expands
+ 	 * into multiple function calls.
+ 	 */
+-	if ((module->lib = lt_dlopenext(file)) == NULL) {
++	if ((module->lib = slapd_lt_dlopenext_global(file)) == NULL) {
+ 		error = lt_dlerror();
+ #ifdef HAVE_EBCDIC
+ 		strcpy( ebuf, error );




More information about the Pkg-openldap-devel mailing list