diff options
author | Karel Kočí <cynerd@email.cz> | 2018-12-03 21:11:10 +0100 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2018-12-03 21:11:10 +0100 |
commit | ef94ef33fc2729b6340fa22abbd500b4728049da (patch) | |
tree | 07f28dfd766993308e0de766eaa1207dc1a81f10 /net-nds/openldap/files/libldap-symbol-versions.diff | |
parent | 677325bac4c11638cd75b37fffcf846544ef99b3 (diff) | |
download | gentoo-personal-overlay-ef94ef33fc2729b6340fa22abbd500b4728049da.tar.gz gentoo-personal-overlay-ef94ef33fc2729b6340fa22abbd500b4728049da.tar.bz2 gentoo-personal-overlay-ef94ef33fc2729b6340fa22abbd500b4728049da.zip |
openldap: try to add symbol versions
Diffstat (limited to 'net-nds/openldap/files/libldap-symbol-versions.diff')
-rw-r--r-- | net-nds/openldap/files/libldap-symbol-versions.diff | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/net-nds/openldap/files/libldap-symbol-versions.diff b/net-nds/openldap/files/libldap-symbol-versions.diff new file mode 100644 index 0000000..187ab9c --- /dev/null +++ b/net-nds/openldap/files/libldap-symbol-versions.diff @@ -0,0 +1,164 @@ +--- openldap-2.4.31.orig/debian/patches/libldap-symbol-versions ++++ openldap-2.4.31/debian/patches/libldap-symbol-versions +@@ -0,0 +1,161 @@ ++Add symbol versioning to the public LDAP libraries. This is required for ++library transitions, such as the current transition from 2.1 to 2.4, ++since programs will sometimes have both libraries loaded by different ++dependency chains during the transition. ++ ++Not yet contributed upstream. ++ ++Upstream ITS #5365 filed requesting symbol versioning for libldap and ++libber. ++ ++--- a/libraries/libldap_r/Makefile.in +++++ b/libraries/libldap_r/Makefile.in ++@@ -61,6 +61,9 @@ ++ XXXLIBS = $(LTHREAD_LIBS) ++ NT_LINK_LIBS = $(LDAP_LIBLBER_LA) $(AC_LIBS) $(SECURITY_LIBS) ++ UNIX_LINK_LIBS = $(LDAP_LIBLBER_LA) $(AC_LIBS) $(SECURITY_LIBS) $(LTHREAD_LIBS) +++ifneq (,$(VERSION_OPTION)) +++ VERSION_FLAGS = "$(VERSION_OPTION)$(XXDIR)/libldap.map" +++endif ++ ++ .links : Makefile ++ @for i in $(XXSRCS); do \ ++--- a/build/top.mk +++++ b/build/top.mk ++@@ -104,6 +104,9 @@ ++ # LINK_LIBS referenced in library and module link commands. ++ LINK_LIBS = $(MOD_LIBS) $(@PLAT@_LINK_LIBS) ++ +++# option to pass to $(CC) to support library symbol versioning, if any +++VERSION_OPTION = @VERSION_OPTION@ +++ ++ LTSTATIC = @LTSTATIC@ ++ ++ LTLINK = $(LIBTOOL) --mode=link \ ++@@ -113,7 +116,7 @@ ++ $(CC) $(LT_CFLAGS) $(LT_CPPFLAGS) $(LIB_DEFS) -c ++ ++ LTLINK_LIB = $(LIBTOOL) $(LTONLY_LIB) --mode=link \ ++- $(CC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS_LIB) +++ $(CC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS_LIB) $(VERSION_FLAGS) ++ ++ LTCOMPILE_MOD = $(LIBTOOL) $(LTONLY_MOD) --mode=compile \ ++ $(CC) $(LT_CFLAGS) $(LT_CPPFLAGS) $(MOD_DEFS) -c ++--- a/build/openldap.m4 +++++ b/build/openldap.m4 ++@@ -1136,3 +1136,54 @@ ++ #endif ++ ], [ol_cv_ssl_crl_compat=yes], [ol_cv_ssl_crl_compat=no])]) ++ ]) +++ +++dnl ==================================================================== +++dnl check for symbol versioning support +++AC_DEFUN([OL_SYMBOL_VERSIONING], +++[AC_CACHE_CHECK([for .symver assembler directive], +++ [ol_cv_asm_symver_directive],[ +++cat > conftest.s <<EOF +++${libc_cv_dot_text} +++_sym: +++.symver _sym,sym@VERS +++EOF +++if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then +++ ol_cv_asm_symver_directive=yes +++else +++ ol_cv_asm_symver_directive=no +++fi +++rm -f conftest*]) +++AC_CACHE_CHECK([for ld --version-script], +++ [ol_cv_ld_version_script_option],[ +++if test $ol_cv_asm_symver_directive = yes; then +++ cat > conftest.s <<EOF +++${libc_cv_dot_text} +++_sym: +++.symver _sym,sym@VERS +++EOF +++ cat > conftest.map <<EOF +++VERS_1 { +++ global: sym; +++}; +++ +++VERS_2 { +++ global: sym; +++} VERS_1; +++EOF +++ if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then +++ if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared +++ -o conftest.so conftest.o +++ -Wl,--version-script,conftest.map +++ 1>&AS_MESSAGE_LOG_FD]); +++ then +++ ol_cv_ld_version_script_option=yes +++ else +++ ol_cv_ld_version_script_option=no +++ fi +++ else +++ ol_cv_ld_version_script_option=no +++ fi +++else +++ ol_cv_ld_version_script_option=no +++fi +++rm -f conftest*])]) ++--- a/configure.in +++++ b/configure.in ++@@ -1901,6 +1901,13 @@ ++ fi ++ AC_SUBST(LTSTATIC)dnl ++ +++VERSION_OPTION="" +++OL_SYMBOL_VERSIONING +++if test $ol_cv_ld_version_script_option = yes ; then +++ VERSION_OPTION="-Wl,--version-script=" +++fi +++AC_SUBST(VERSION_OPTION) +++ ++ dnl ---------------------------------------------------------------- ++ if test $ol_enable_wrappers != no ; then ++ AC_CHECK_HEADERS(tcpd.h,[ ++--- /dev/null +++++ b/libraries/libldap/libldap.map ++@@ -0,0 +1,7 @@ +++OPENLDAP_2.4_2 { +++ global: +++ ldap_*; +++ ldif_*; +++ local: +++ *; +++}; ++--- a/libraries/libldap/Makefile.in +++++ b/libraries/libldap/Makefile.in ++@@ -52,6 +52,9 @@ ++ XXLIBS = $(SECURITY_LIBS) $(LUTIL_LIBS) ++ NT_LINK_LIBS = $(LDAP_LIBLBER_LA) $(AC_LIBS) $(SECURITY_LIBS) ++ UNIX_LINK_LIBS = $(LDAP_LIBLBER_LA) $(AC_LIBS) $(SECURITY_LIBS) +++ifneq (,$(VERSION_OPTION)) +++ VERSION_FLAGS = $(VERSION_OPTION)$(srcdir)/libldap.map +++endif ++ ++ apitest: $(XLIBS) apitest.o ++ $(LTLINK) -o $@ apitest.o $(LIBS) ++--- a/libraries/liblber/Makefile.in +++++ b/libraries/liblber/Makefile.in ++@@ -38,6 +38,9 @@ ++ XXLIBS = ++ NT_LINK_LIBS = $(AC_LIBS) ++ UNIX_LINK_LIBS = $(AC_LIBS) +++ifneq (,$(VERSION_OPTION)) +++ VERSION_FLAGS = "$(VERSION_OPTION)$(srcdir)/liblber.map" +++endif ++ ++ dtest: $(XLIBS) dtest.o ++ $(LTLINK) -o $@ dtest.o $(LIBS) ++--- /dev/null +++++ b/libraries/liblber/liblber.map ++@@ -0,0 +1,8 @@ +++OPENLDAP_2.4_2 { +++ global: +++ ber_*; +++ der_alloc; +++ lutil_*; +++ local: +++ *; +++}; |