6e6adec
Don't let an RPATH into any of the binaries we build here.  While we're
6e6adec
tinkering with linker flags, prune out the -L/usr/lib* and PIE flags where
6e6adec
they might leak out and affect apps which use the libraries.
6e6adec
6e6adec
--- krb5-1.5/src/aclocal.m4	2006-05-24 06:29:25.000000000 -0400
6e6adec
+++ krb5-1.5/src/aclocal.m4	2006-07-05 14:31:04.000000000 -0400
6e6adec
@@ -1184,6 +1184,7 @@
6e6adec
 [AC_REQUIRE([KRB5_LIB_AUX])dnl
6e6adec
 AC_REQUIRE([KRB5_AC_NEED_LIBGEN])dnl
6e6adec
 AC_SUBST(CC_LINK)
6e6adec
+RPATH_FLAG=
6e6adec
 AC_SUBST(RPATH_FLAG)
6e6adec
 AC_SUBST(DEPLIBEXT)])
6e6adec
 
6e6adec
--- krb5-1.5/src/krb5-config.in	2006-06-15 20:26:49.000000000 -0400
6e6adec
+++ krb5-1.5/src/krb5-config.in	2006-07-05 14:31:04.000000000 -0400
6e6adec
@@ -186,6 +186,11 @@
6e6adec
 	    -e 's#\$(PTHREAD_CFLAGS)#'"$PTHREAD_CFLAGS"'#' \
6e6adec
 	    -e 's#\$(CFLAGS)#'"$CFLAGS"'#'`
6e6adec
 
6e6adec
+    if test `dirname $libdir` = /usr ; then
6e6adec
+        lib_flags=`echo $lib_flags | sed -e "s#-L$libdir##" -e "s#$RPATH_FLAG$libdir##"`
6e6adec
+    fi
6e6adec
+    lib_flags=`echo $lib_flags | sed -e "s#-fPIE##" -e "s#-pie##"`
6e6adec
+
6e6adec
     if test $library = 'kdb'; then
6e6adec
 	lib_flags="$lib_flags -lkdb5 $KDB5_DB_LIB"
6e6adec
 	library=krb5
6e6adec
--- krb5-1.5/src/config/shlib.conf	2006-06-16 01:53:34.000000000 -0400
6e6adec
+++ krb5-1.5/src/config/shlib.conf	2006-07-05 14:31:04.000000000 -0400
6e6adec
@@ -371,14 +371,15 @@
6e6adec
 	# Use objdump -x to examine the fields of the library
6e6adec
 	LDCOMBINE='$(CC) -shared -fPIC -Wl,-h,$(LIBPREFIX)$(LIBBASE)$(SHLIBSEXT) $(LDFLAGS)'
6e6adec
 	# 
6e6adec
-	LDCOMBINE_TAIL='-Wl,--version-script binutils.versions && $(PERL) -w $(SRCTOP)/util/export-check.pl $(SHLIB_EXPORT_FILE) $@'
6e6adec
+	LDCOMBINE_TAIL='-Wl,--version-script binutils.versions -Wl,-E && $(PERL) -w $(SRCTOP)/util/export-check.pl $(SHLIB_EXPORT_FILE) $@'
6e6adec
 	SHLIB_EXPORT_FILE_DEP=binutils.versions
6e6adec
 	# For cases where we do have dependencies on other libraries
6e6adec
 	# built in this tree...
6e6adec
-	SHLIB_EXPFLAGS='-Wl,-R$(SHLIB_RDIRS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)'
6e6adec
+	SHLIB_EXPFLAGS='$(SHLIB_DIRS) $(SHLIB_EXPLIBS)'
6e6adec
 	PROFFLAGS=-pg
6e6adec
-	RPATH_FLAG='-Wl,-rpath -Wl,'
6e6adec
-	CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(RPATH_FLAG)$(PROG_RPATH) $(CFLAGS) $(LDFLAGS)'
6e6adec
+	RPATH_FLAG='-L'
6e6adec
+	CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(CFLAGS) -pie $(LDFLAGS)'
6e6adec
+	INSTALL_SHLIB='${INSTALL} -m755'
6e6adec
 	CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)'
6e6adec
 	RUN_ENV='LD_LIBRARY_PATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`; export LD_LIBRARY_PATH; '
6e6adec