File project.diff of Package bash

--- bash.changes.orig
+++ bash.changes
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Wed Jul 18 11:17:00 UTC 2012 - werner@suse.de
+
+- libreadlib: try to avoid to bind references of the symbols
+  rl_instream and rl_outstream
+- libreadlib: make private symbols really private
+
+-------------------------------------------------------------------
 Wed Jul 11 06:36:05 UTC 2012 - werner@suse.de
 
 - Avoid possible buffer overflow when expanding the /dev/fd prefix 
--- bash.spec.orig
+++ bash.spec
@@ -351,6 +351,21 @@ pushd ../readline-%{rl_vers}%{extend}
       LARGEFILE="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
   fi
   rm -f ./test64
+  (cat > rl.map)<<-'EOF'
+	{
+	local:
+	/*  _rl*; */
+	    xfree;
+	    xmalloc;
+	    xrealloc;
+	};
+	EOF
+  (cat > dyn.map)<<-'EOF'
+	{
+	    *;
+	    !rl_*stream;
+	}
+	EOF
   CFLAGS="$RPM_OPT_FLAGS $LARGEFILE -D_GNU_SOURCE -DRECYCLES_PIDS -Wall -g"
   LDFLAGS=""
   cflags -std=gnu89              CFLAGS
@@ -365,8 +380,9 @@ pushd ../readline-%{rl_vers}%{extend}
   cflags -Wl,--as-needed         LDFLAGS
   cflags -Wl,-O2                 LDFLAGS
   cflags -Wl,--hash-size=8599    LDFLAGS
-  cflags -Wl,-Bsymbolic-functions             LDFLAGS
   cflags -Wl,-rpath,%{_ldldir}/%{bash_vers}   LDFLAGS
+  cflags -Wl,--version-script=${PWD}/rl.map   LDFLAGS
+  cflags -Wl,--dynamic-list=${PWD}/dyn.map    LDFLAGS
   CC=gcc
   CC_FOR_BUILD="$CC"
   CFLAGS_FOR_BUILD="$CFLAGS"
@@ -385,6 +401,9 @@ pushd ../readline-%{rl_vers}%{extend}
   ln -sf shlib/libreadline.so.%{rl_vers} libreadline.so.%{rl_major}
   ln -sf shlib/libhistory.so.%{rl_vers} libhistory.so
   ln -sf shlib/libhistory.so.%{rl_vers} libhistory.so.%{rl_major}
+  LDFLAGS=${LDFLAGS/-Wl,--version-script=*rl.map/}
+  LDFLAGS=${LDFLAGS/-Wl,--dynamic-list=*dyn.map/}
+  LDFLAGS_FOR_BUILD="$LDFLAGS"
 popd
   # /proc is required for correct configuration
   test -d /dev/fd || { echo "/proc is not mounted!" >&2; exit 1; }
openSUSE Build Service is sponsored by