[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