mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-03 19:47:13 +08:00
161 lines
5.1 KiB
Diff
161 lines
5.1 KiB
Diff
Submitted By: Armin K. <krejzi at email dot com>
|
|
Date: 2012-04-06
|
|
Initial Package Version: 2.4.30
|
|
Upstream Status: Unknown
|
|
Origin: Debian
|
|
Description: This patch enables symbol versioning in ldap libraries. Without this
|
|
patch some applications might generate a warning about missing symbol
|
|
versions.
|
|
|
|
--- openldap.orig/build/openldap.m4 2012-02-29 18:37:09.000000000 +0100
|
|
+++ openldap/build/openldap.m4 2012-04-01 17:29:50.973881411 +0200
|
|
@@ -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*])])
|
|
--- openldap.orig/build/top.mk 2012-02-29 18:37:09.000000000 +0100
|
|
+++ openldap/build/top.mk 2012-04-01 17:29:50.972881390 +0200
|
|
@@ -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
|
|
--- openldap.orig/configure.in 2012-02-29 18:37:09.000000000 +0100
|
|
+++ openldap/configure.in 2012-04-01 17:29:50.981881580 +0200
|
|
@@ -1907,6 +1907,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,[
|
|
--- openldap.orig/libraries/liblber/liblber.map 1970-01-01 01:00:00.000000000 +0100
|
|
+++ openldap/libraries/liblber/liblber.map 2012-04-01 17:29:50.983881622 +0200
|
|
@@ -0,0 +1,8 @@
|
|
+OPENLDAP_2.4_2 {
|
|
+ global:
|
|
+ ber_*;
|
|
+ der_alloc;
|
|
+ lutil_*;
|
|
+ local:
|
|
+ *;
|
|
+};
|
|
--- openldap.orig/libraries/liblber/Makefile.in 2012-04-01 17:27:12.042526978 +0200
|
|
+++ openldap/libraries/liblber/Makefile.in 2012-04-01 17:29:50.982881601 +0200
|
|
@@ -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)
|
|
--- openldap.orig/libraries/libldap/libldap.map 1970-01-01 01:00:00.000000000 +0100
|
|
+++ openldap/libraries/libldap/libldap.map 2012-04-01 17:29:50.981881580 +0200
|
|
@@ -0,0 +1,7 @@
|
|
+OPENLDAP_2.4_2 {
|
|
+ global:
|
|
+ ldap_*;
|
|
+ ldif_*;
|
|
+ local:
|
|
+ *;
|
|
+};
|
|
--- openldap.orig/libraries/libldap/Makefile.in 2012-04-01 17:27:12.043527000 +0200
|
|
+++ openldap/libraries/libldap/Makefile.in 2012-04-01 17:29:50.982881601 +0200
|
|
@@ -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)
|
|
--- openldap.orig/libraries/libldap_r/Makefile.in 2012-04-01 17:27:12.043527000 +0200
|
|
+++ openldap/libraries/libldap_r/Makefile.in 2012-04-01 17:29:50.971881369 +0200
|
|
@@ -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 \
|