Hello community,

here is the log from the commit of package prelink for 
openSUSE:12.1:Update:Test checked in at 2012-01-05 17:47:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.1:Update:Test/prelink (Old)
 and      /work/SRC/openSUSE:12.1:Update:Test/.prelink.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "prelink", Maintainer is "[email protected]"

Changes:
--------
New Changes file:

--- /dev/null   2010-08-26 16:28:41.000000000 +0200
+++ /work/SRC/openSUSE:12.1:Update:Test/.prelink.new/prelink.changes    
2012-01-05 17:47:20.000000000 +0100
@@ -0,0 +1,304 @@
+-------------------------------------------------------------------
+Mon Sep  5 11:05:02 CEST 2011 - [email protected]
+
+- buildrequire glibc-devel-static
+- --copy-dt-needed-entries for testsuite.
+
+-------------------------------------------------------------------
+Wed Feb 23 10:16:42 CET 2011 - [email protected]
+
+- ifunc3 test fails with malloc perturb, so disable that until fixed
+  in glibc.
+
+-------------------------------------------------------------------
+Mon Mar 15 14:42:31 CET 2010 - [email protected]
+
+- updated to 20100106
+  Naming seems to be snapshot based these days.
+  - Lots of fixes and improvements.
+
+-------------------------------------------------------------------
+Sat Jan 30 11:08:04 CET 2010 - [email protected]
+
+- fuzz=0
+
+-------------------------------------------------------------------
+Fri Jun 19 10:35:46 CEST 2009 - [email protected]
+
+- disable as-needed for this package as it fails to build with it
+
+-------------------------------------------------------------------
+Wed Mar 19 09:32:08 CET 2008 - [email protected]
+
+- Update to 0.4.0:
+  * add support for -c /etc/prelink.conf.d/*.conf in prelink.conf
+  * remove no longer existent directories from default prelink.conf
+  * reenabled prelink C++ optimizations which have not triggered any longer
+    since _ZT[IV]* moved into .data.rel.ro section from .data
+  * fixed performance issues in C++ optimizations, especially on GCJ
+    CNI programs
+  * other performance improvements, prelink -avmR after prelink -ua now
+    takes roughly 3m4s real time instead of 20m27s before
+  * don't run TEXTREL tests if SELinux is enforcing
+
+
+-------------------------------------------------------------------
+Mon Jul  2 17:10:09 CEST 2007 - [email protected]
+
+- changed from libelf to libelf0-devel in buildrequires.
+
+-------------------------------------------------------------------
+Mon Jan 29 18:13:33 CET 2007 - [email protected]
+
+- Changed references to /opt/gnome.
+- Removed references to /opt/gnome2.
+- Removed reference to not existing gnome-database-components.
+
+-------------------------------------------------------------------
+Thu Jan 18 13:45:45 CET 2007 - [email protected]
+
+- upgraded to 0.3.10.
+       - mostly MIPS stuff
+       - integrated upstream fix
+
+-------------------------------------------------------------------
+Tue Oct 24 17:12:58 CEST 2006 - [email protected]
+
+- replaced by Jakubs correct fix.
+
+-------------------------------------------------------------------
+Thu Oct 19 18:37:17 CEST 2006 - [email protected]
+
+- fixed incorrect condition in .debug_ranges adjuster.
+  (reduces failures by 50%)
+
+-------------------------------------------------------------------
+Tue Jul 18 22:06:39 CEST 2006 - [email protected]
+
+-  Update to 0.3.9 (sync with Fedora Core)
+       - fixed 0x2e stab missing in WINE.
+
+-------------------------------------------------------------------
+Sun Mar 12 15:42:40 CET 2006 - [email protected]
+
+- Update to 0.3.6 (sync with Fedora release number) using
+  prelink-20060213):
+  * disable -Wl,-z,nocopyreloc tests on x86_64, nocopyreloc really
+    doesn't work on this platform
+  * don't relocate stabs N_{B,D,}SLINE
+  * on ppc32 handle -mbss-plt .got sections created with -msecure-plt
+    capable binutils
+- Use $PRELINK_OPTS.
+- Blacklist more files and directories in prelink.conf
+- Package builds again on x86-64, s390.
+- Remember that ia64 is not supported.
+
+-------------------------------------------------------------------
+Wed Jan 25 21:40:37 CET 2006 - [email protected]
+
+- converted neededforbuild to BuildRequires
+
+-------------------------------------------------------------------
+Tue Aug 23 15:07:37 CEST 2005 - [email protected]
+
+- Michael forgot to tell me a tiny little detail
+  when he assured me rpm would handle prelink
+
+-------------------------------------------------------------------
+Wed Aug 17 18:29:53 CEST 2005 - [email protected]
+
+- some update to the config
+
+-------------------------------------------------------------------
+Thu Jun 23 10:16:34 CEST 2005 - [email protected]
+
+- update to latest snapshot
+
+-------------------------------------------------------------------
+Fri May 13 11:27:00 CEST 2005 - [email protected]
+
+- fix build with gcc4
+
+-------------------------------------------------------------------
+Mon Dec 13 18:33:38 CET 2004 - [email protected]
+
+- update to later version
+
+-------------------------------------------------------------------
+Tue Aug 17 16:14:17 CEST 2004 - [email protected]
+
+- update to latest version
+
+-------------------------------------------------------------------
+Fri Apr 23 08:51:35 CEST 2004 - [email protected]
+
+- fixing sysconfig path
+
+-------------------------------------------------------------------
+Thu Feb 26 14:37:15 CET 2004 - [email protected]
+
+- update to latest version and updated the patches to build
+  on all architectures but IA64 (#35098)
+
+-------------------------------------------------------------------
+Sat Jan 10 16:43:05 CET 2004 - [email protected]
+
+- build as user
+
+-------------------------------------------------------------------
+Thu Sep 18 15:36:12 CEST 2003 - [email protected]
+
+- Add missing PreRequires
+
+-------------------------------------------------------------------
+Sun Sep 14 23:44:10 CEST 2003 - [email protected]
+
+- correctly handle biarch platforms
+- disable quick1.sh, it just fails too often randomly
+
+-------------------------------------------------------------------
+Thu Sep 11 16:01:35 CEST 2003 - [email protected]
+
+- trying to get prelink.conf in shape (#30286)
+
+-------------------------------------------------------------------
+Thu Jul 31 09:13:16 CEST 2003 - [email protected]
+
+- skip prelink on battery (#27481)
+
+-------------------------------------------------------------------
+Tue Jul 29 14:08:05 CEST 2003 - [email protected]
+
+- update to 20030701
+- fix test suite
+- add lib64 to prelink.conf
+
+-------------------------------------------------------------------
+Mon Jun 16 14:29:57 CEST 2003 - [email protected]
+
+- new location for rpm database 
+
+-------------------------------------------------------------------
+Thu Jun  5 11:47:21 CEST 2003 - [email protected]
+
+- update to 20030522
+- disable some tests that only break and do not
+  test anything
+- run the expensive tests when the normal worked
+- make the dry run output warnings and errors too
+  (for this some checks are commented out - currently
+  for i386 only)
+
+-------------------------------------------------------------------
+Fri May 16 11:10:31 CEST 2003 - [email protected]
+
+- update to 20030515
+
+-------------------------------------------------------------------
++++ 107 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:12.1:Update:Test/.prelink.new/prelink.changes

New:
----
  SuSEconfig.prelink
  _link
  fix-copydtneeded.patch
  prelink-20100106.tar.bz2
  prelink-make-dry-run-verbose.diff
  prelink-make_it_cool.diff
  prelink-tests.diff
  prelink.changes
  prelink.conf
  prelink.spec
  sysconfig.prelink

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ prelink.spec ++++++
#
# spec file for package prelink
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild


Name:           prelink
BuildRequires:  gcc-c++ glibc-devel-static libelf0-devel
Summary:        An ELF Prelinking Utility
Version:        20100106
Release:        9
Group:          System/Base
License:        GPLv2+
Url:            ftp://people.redhat.com/jakub/prelink
PreReq:         %fillup_prereq
Source:         %name-%version.tar.bz2
Source2:        %name.conf
Source3:        SuSEconfig.%name
Source4:        sysconfig.%name
Patch0:         %name-make_it_cool.diff
Patch3:         %name-tests.diff
Patch4:         %name-make-dry-run-verbose.diff
Patch5:         fix-copydtneeded.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
# It does not work at all on ia64, so let's listen upstream supported
# architectures
ExclusiveArch:  %{ix86} alpha sparc sparc64 s390 s390x x86_64 ppc ppc64

%description
The prelink program is a utility that modifies shared libraries and
executables in the ELF format so that far less relocations need to be
resolved at run time.  This decreases program start-up time.

You can enable prelink support via the YaST sysconfig editor or in
/etc/sysconfig/prelink.

Be aware that prelink modifies all libraries and executables on your
system. Applications which monitor changes in files will no longer
work.



Authors:
--------
    Jakub Jelinek <[email protected]>

%prep
%setup -q -n prelink
%patch0 -p0
%patch3 -p0
%patch4 -p0
%patch5 -p1

%build
# This package failed when testing with -Wl,-as-needed being default.
# So we disable it here, if you want to retest, just delete this comment and 
the line below.
export SUSE_ASNEEDED=0
# Uninitialized memory in dynamic loader in ifunc3 test.
export -n MALLOC_PERTURB_
unset MALLOC_PERTURB_

CFLAGS="$RPM_OPT_FLAGS" \
./configure --prefix=/usr --mandir=%{_mandir} || cat config.log
make %{?jobs:-j%jobs}
make -C testsuite check-harder

%install
make install DESTDIR=$RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/etc
sed -e "s,LIBDIR,%_lib," %{SOURCE2} > $RPM_BUILD_ROOT/etc/prelink.conf
FILLUP_DIR=$RPM_BUILD_ROOT/var/adm/fillup-templates
mkdir -p $FILLUP_DIR $RPM_BUILD_ROOT/sbin/conf.d
install -m 0644 %SOURCE4 $FILLUP_DIR/sysconfig.%name
install -m 0755 %SOURCE3 $RPM_BUILD_ROOT/sbin/conf.d/
install -m 0755 -d $RPM_BUILD_ROOT/var/lib/prelink
mkdir -p $RPM_BUILD_ROOT/etc/rpm
cat > $RPM_BUILD_ROOT/etc/rpm/macros.prelink <<EOF
# rpm-4.1 verifies prelinked libraries using a prelink undo helper.
#       Note: The 2nd token is used as argv[0] and "library" is a
#       placeholder that will be deleted and replaced with the appropriate
#       library file path.
%__prelink_undo_cmd     /usr/sbin/prelink prelink -y library
EOF

%post
%{fillup_only}

%clean
rm -fr $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
%dir /var/lib/prelink
%dir /etc/rpm
%config(noreplace) /etc/prelink.conf
%config /etc/rpm/macros.prelink
%_sbindir/prelink
%_bindir/execstack
%_mandir/man8/prelink.8.*
%_mandir/man8/execstack.8.*
/sbin/conf.d/SuSEconfig.%name
/var/adm/fillup-templates/sysconfig.%name

%changelog
++++++ SuSEconfig.prelink ++++++
#! /bin/sh
# Copyright (c) 2006 SUSE Linux Products GmbH, Nuernberg, Germany.
# All rights reserved.
#
# Author: Adrian Schroeter <[email protected]>
#
# This module runs prelink.

# check if we are started as root
# only one of UID and USER must be set correctly
if test "$UID" != 0 -a "$USER" != root; then
    echo "You must be root to start $0."
    exit 1
fi

r=$ROOT

for i in $r/etc/sysconfig/suseconfig $r/etc/sysconfig/prelink ; do
  if test ! -f $i ; then
    echo "No $i found."
    exit 1
  fi

  . $i
done

for i in /usr/bin/chroot $r/usr/sbin/prelink ; do
  if test ! -x $i ; then
    echo "No $i found."
    exit 1
  fi
done

if test -x /usr/bin/on_ac_power && ! /usr/bin/on_ac_power -q; then
        echo "skip prelink while running on battery"
        exit 0
fi

RPM_DATABASE=$r/var/lib/rpm/Packages
if test ! -e $RPM_DATABASE; then
  RPM_DATABASE=$r/var/lib/rpm/packages.rpm
fi

if test "$ENABLE_SUSECONFIG" = "yes" -a "$USE_PRELINK" = "yes" ; then
   if test "$r/var/lib/prelink/prelink_run" -ot $RPM_DATABASE; then
      echo -n running prelink, can take a long time ...
      if test -n "$r" -a "$r" != "/" ; then
         /usr/bin/chroot "$r" /usr/sbin/prelink -a $PRELINK_OPTS
      else
         /usr/sbin/prelink -a $PRELINK_OPTS
      fi
      touch "$r/var/lib/prelink/prelink_run"
      echo
   else
      echo skip prelink, rpm database has not changed since last run
   fi
fi

if test "$ENABLE_SUSECONFIG" = "yes" -a "$USE_PRELINK" = "no" ; then
   if test -e "$r/var/lib/prelink/prelink_run" ; then
      echo -n undoing prelinking ...
      if test -n "$r" -a "$r" != "/" ; then
         /usr/bin/chroot "$r" /usr/sbin/prelink -ua
      else
         /usr/sbin/prelink -ua
      fi
      rm "$r/var/lib/prelink/prelink_run"
      echo
   fi
fi

++++++ _link ++++++
<link project="openSUSE:12.1" package="prelink" 
baserev="3ea10da5ee8646204711eec665a52f13">
  <patches>
    <branch/>
  </patches>
</link>
++++++ fix-copydtneeded.patch ++++++
Index: prelink/testsuite/functions.sh
===================================================================
--- prelink.orig/testsuite/functions.sh
+++ prelink/testsuite/functions.sh
@@ -1,7 +1,7 @@
 #!/bin/bash
-CC="${CC:-gcc} ${LINKOPTS}"
+CC="${CC:-gcc} ${LINKOPTS} -Wl,--copy-dt-needed-entries" ; echo "CC=$CC"
-CCLINK=${CCLINK:-${CC} -Wl,--dynamic-linker=`echo ./ld*.so.*[0-9]`}
+CCLINK="${CCLINK:-${CC} -Wl,--dynamic-linker=`echo ./ld*.so.*[0-9]`} 
-Wl,--copy-dt-needed-entries"
-CXX="${CXX:-g++} ${LINKOPTS}"
+CXX="${CXX:-g++} ${LINKOPTS} -Wl,--copy-dt-needed-entries" ; echo "CXX=$CXX"
-CXXLINK=${CXXLINK:-${CXX} -Wl,--dynamic-linker=`echo ./ld*.so.*[0-9]`}
+CXXLINK="${CXXLINK:-${CXX} -Wl,--dynamic-linker=`echo ./ld*.so.*[0-9]`} 
-Wl,--copy-dt-needed-entries"
 PRELINK=${PRELINK:-../src/prelink -c ./prelink.conf -C ./prelink.cache 
--ld-library-path=. --dynamic-linker=`echo ./ld*.so.*[0-9]`}
 srcdir=${srcdir:-`dirname $0`}
++++++ prelink-make-dry-run-verbose.diff ++++++
--- src/arch-i386.c
+++ src/arch-i386.c
@@ -143,9 +143,11 @@
        return 2;
       }
     case R_386_PC32:
-      error (0, 0, "%s: R_386_PC32 relocs should not be present in prelinked 
REL sections",
-            dso->filename);
-      return 1;
+      if (!dry_run)
+         error (0, 0, "%s: R_386_PC32 relocs should not be present in 
prelinked REL sections",
+              dso->filename);
+      return !dry_run;
+
     case R_386_TLS_DTPOFF32:
       write_le32 (dso, rel->r_offset, value);
       break;
@@ -379,9 +381,10 @@
       break;
     case R_386_32:
     case R_386_PC32:
-      error (0, 0, "%s: R_386_%s32 relocs should not be present in prelinked 
REL sections",
-            dso->filename, GELF_R_TYPE (rel->r_info) == R_386_32 ? "" : "PC");
-      return 1;
+      if (!dry_run)
+        error (0, 0, "%s: R_386_%s32 relocs should not be present in prelinked 
REL sections",
+              dso->filename, GELF_R_TYPE (rel->r_info) == R_386_32 ? "" : 
"PC");
+      return !dry_run;
     case R_386_TLS_DTPMOD32:
     case R_386_TLS_DTPOFF32:
     case R_386_TLS_TPOFF32:
--- src/conflict.c
+++ src/conflict.c
@@ -461,9 +461,9 @@
        goto error_out;
       info->dsos[i] = dso;
       /* Now check that the DSO matches what we recorded about it.  */
-      if (ent->timestamp != dso->info_DT_GNU_PRELINKED
+      if (!dry_run && (ent->timestamp != dso->info_DT_GNU_PRELINKED
          || ent->checksum != dso->info_DT_CHECKSUM
-         || ent->base != dso->base)
+         || ent->base != dso->base))
        {
          error (0, 0, "%s: Library %s has changed since it has been prelinked",
                 info->dso->filename, ent->filename);
@@ -772,6 +772,7 @@
                                   - info->dynbss_base, cr.rela[i].r_addend,
                                   cr.rela[i].r_offset);
 
+       if (!dry_run) {
          switch (j)
            {
            case 1:
@@ -786,6 +787,7 @@
              goto error_out;
            }
        }
+       }
     }
 
   if (info->conflict_rela_size)
--- src/doit.c
+++ src/doit.c
@@ -137,10 +137,6 @@
       goto error_out;
     }
 
-  if (dry_run)
-    close_dso (dso);
-  else
-    {
       if (prelink_prepare (dso))
        goto make_unprelinkable;
       if (ent->type == ET_DYN && relocate_dso (dso, ent->base))
@@ -152,7 +148,10 @@
          dso = NULL;
          goto error_out;
        }
-    }
+  
+  if (dry_run)
+     close_dso (dso);
+ 
   ent->done = 2;
   ent->flags |= PCF_PRELINKED;
 
--- src/execstack.c
+++ src/execstack.c
@@ -31,6 +31,7 @@
 
 int set;
 int execflag;
+int dry_run = 0; // for arch-i386
 
 const char *argp_program_version = "execstack 1.0";
 
++++++ prelink-make_it_cool.diff ++++++
diff -ru src.orig/conflict.c src/conflict.c
--- src.orig/conflict.c 2002-12-13 00:44:21.000000000 +0100
+++ src/conflict.c      2003-01-07 12:53:31.000000000 +0100
@@ -449,7 +449,7 @@
   for (i = 1; i < ndeps; ++i)
     {
       ent = info->ent->depends[i - 1];
-      if ((dso = open_dso (ent->filename)) == NULL)
+      if ((dso = open_dso (ent->canon_filename)) == NULL)
        goto error_out;
       info->dsos[i] = dso;
       /* Now check that the DSO matches what we recorded about it.  */
@@ -623,8 +623,8 @@
                  && dso->phdr[k].p_vaddr + dso->phdr[k].p_memsz
                     > info->conflict_rela[j].r_offset)
                {
-                 error (0, 0, "%s: Cannot prelink against non-PIC shared 
library %s",
-                        info->dso->filename, dso->filename);
+                 error (0, 0, "%s: shared library %s appears possibly non-PIC 
and contains conflicts. Symbol offset: %lx",
+                       info->dso->filename, dso->filename, 
(long)info->conflict_rela[j].r_offset);
                  goto error_out;
                }
        }
--- src.orig/gather.c   2002-12-03 19:55:59.000000000 +0100
+++ src/gather.c        2003-01-07 12:53:31.000000000 +0100
@@ -369,7 +369,7 @@
   DSO *dso;
 
   ent->type = ET_BAD;
-  dso = open_dso (ent->filename);
+  dso = open_dso (ent->canon_filename);
   if (dso == NULL)
     return 1;
 
Nur in src: gather.c.orig.
diff -ru src.orig/layout.c src/layout.c
--- src.orig/layout.c   2002-12-03 18:42:31.000000000 +0100
+++ src/layout.c        2003-01-07 12:59:39.000000000 +0100
@@ -535,7 +535,8 @@
                < ((deps[j - 1]->end + max_page_size - 1)
                   & ~(max_page_size - 1))
                && (deps[j]->type == ET_DYN || deps[j - 1]->type == ET_DYN))
-             abort ();
+               error(EXIT_FAILURE, 0, "The sorted library entries for %s and 
%s do overlap", 
+                     deps[j-1]->canon_filename, deps[j]->canon_filename);
        }
 #endif
     }
--- src.orig/space.c    2003-02-25 12:01:19.000000000 +0100
+++ src/space.c 2003-02-25 16:46:42.000000000 +0100
@@ -338,6 +338,8 @@
       shdr[j] = *add;
       shdr[j].sh_addr = (shdr[j - 1].sh_addr + shdr[j - 1].sh_size
                         + add->sh_addralign - 1) & ~(add->sh_addralign - 1);
+      if (shdr[j].sh_addr < phdr[i].p_vaddr)
+       shdr[j].sh_addr = phdr[i].p_vaddr;
       shdr[j].sh_offset = (shdr[j].sh_addr - phdr[i].p_vaddr)
                          + phdr[i].p_offset;
       phdr[i].p_filesz = shdr[j].sh_addr + add->sh_size - phdr[i].p_vaddr;

--- src/dso.c.orig      2003-06-30 10:51:51.000000000 +0000
+++ src/dso.c   2003-07-29 07:09:25.000000000 +0000
@@ -191,8 +191,11 @@
              || RELOCATE_SCN (dso->shdr[last].sh_flags)
              || RELOCATE_SCN (dso->shdr[i].sh_flags))
            {
-             error (0, 0, "%s: section file offsets not monotonically 
increasing",
-                    dso->filename);
+             error (0, 0, "%s: section file offsets not monotonically 
increasing (%s before %s)",
+                     dso->filename,
+                     strptr (dso, dso->ehdr.e_shstrndx, 
dso->shdr[i-1].sh_name),
+                     strptr (dso, dso->ehdr.e_shstrndx, dso->shdr[i].sh_name));
+
              return 1;
            }
        }
++++++ prelink-tests.diff ++++++
--- testsuite/deps1.sh
+++ testsuite/deps1.sh
@@ -49,7 +49,7 @@
 readelf -A deps1.tree/usr/lib/lib3.so >> deps1.log 2>&1 || exit 7
 readelf -A deps1.tree/usr/bin/bin1 >> deps1.log 2>&1 || exit 8
 LIBS="deps1.tree/usr/lib/lib1.so deps1.tree/usr/lib/lib2.so"
-LIBS="$LIBS deps1.tree/opt/lib/lib1.so"
+# LIBS="$LIBS deps1.tree/opt/lib/lib1.so"
 readelf -S deps1.tree/usr/lib/lib3.so | grep -q .gnu.prelink_undo \
   && LIBS="$LIBS deps1.tree/usr/lib/lib3.so"
 readelf -S deps1.tree/usr/bin/bin1 | grep -q .gnu.prelink_undo \
--- testsuite/deps2.sh
+++ testsuite/deps2.sh
@@ -49,7 +49,7 @@
 readelf -A deps2.tree/usr/lib/lib3.so >> deps2.log 2>&1 || exit 7
 readelf -A deps2.tree/usr/bin/bin1 >> deps2.log 2>&1 || exit 8
 LIBS="deps2.tree/usr/lib/lib1.so deps2.tree/usr/lib/lib2.so"
-LIBS="$LIBS deps2.tree/opt/lib/lib1.so"
+#LIBS="$LIBS deps2.tree/opt/lib/lib1.so"
 BINS=
 comparelibs >> deps2.log 2>&1 || exit 9
 exit 0
--- testsuite/quick1.sh
+++ testsuite/quick1.sh
@@ -1,4 +1,13 @@
 #!/bin/bash
+
+exit 77 # this only works every second time. And if it doesn't, it's just 
slower
+
+case "`uname -m`" in
+++  # I'm not sure why this test is so flacky on s390
+++  # but the only thing going wrong is that it checks too much
+++  s390) exit 77;;
+esac
+
 . `dirname $0`/functions.sh
 check_one() {
   cnt=0
--- testsuite/quick2.sh
+++ testsuite/quick2.sh
@@ -1,5 +1,8 @@
 #!/bin/bash
 . `dirname $0`/functions.sh
+
+#exit 77 # requires -fPIE
+
 check_one() {
   cnt=0
   log=$1
--- testsuite/reloc10.sh
+++ testsuite/reloc10.sh
@@ -1,4 +1,7 @@
 #!/bin/bash
+
+exit 77 # if you can tell me how this is supposed to work at all, do so
+
 . `dirname $0`/functions.sh
 rm -f reloc10 reloc10lib*.so reloc10.log
 rm -f prelink.cache
--- testsuite/reloc11.sh
+++ testsuite/reloc11.sh
@@ -1,4 +1,7 @@
 #!/bin/bash
+
+exit 77 # if you can tell me how this is supposed to work at all, do so
+
 . `dirname $0`/functions.sh
 rm -f reloc11 reloc11lib*.so reloc11.log
 rm -f prelink.cache
--- testsuite/reloc2.sh.orig    2009-12-16 13:02:06.000000000 +0100
+++ testsuite/reloc2.sh 2010-03-15 14:39:16.353657000 +0100
@@ -2,8 +2,7 @@
 . `dirname $0`/functions.sh
 SHFLAGS=
 case "`uname -m`" in
-  ia64|ppc*|x86_64|mips*|arm*) SHFLAGS=-fpic;; # Does not support non-pic 
shared libs
-  s390*) if file reloc1lib1.so | grep -q 64-bit; then SHFLAGS=-fpic; fi;;
+  ia64|ppc*|x86_64|mips*|s390*) SHFLAGS=-fpic;; # Does not support non-pic 
shared libs
 esac
 # Disable this test under SELinux if textrel
 if test -z "$SHFLAGS" -a -x /usr/sbin/getenforce; then
--- testsuite/reloc9.sh.orig    2009-12-16 13:23:03.000000000 +0100
+++ testsuite/reloc9.sh 2010-03-15 14:38:33.361358000 +0100
@@ -11,7 +11,7 @@
 rm -f prelink.cache
 NOCOPYRELOC=-Wl,-z,nocopyreloc
 case "`uname -m`" in
-  x86_64|s390*) if file reloc1lib1.so | grep -q 64-bit; then NOCOPYRELOC=; fi;;
+  x86_64|s390*|alpha) NOCOPYRELOC=; ;;
 esac
 $CC -shared -O2 -Wl,-z,nocombreloc -fpic -o reloc9lib1.so $srcdir/reloc3lib1.c
 $CC -shared -O2 -Wl,-z,nocombreloc -fpic -o reloc9lib2.so $srcdir/reloc1lib2.c 
reloc9lib1.so
--- testsuite/reloc8.sh.orig    2009-12-16 13:22:56.000000000 +0100
+++ testsuite/reloc8.sh 2010-03-15 14:38:02.846940000 +0100
@@ -11,7 +11,7 @@
 rm -f prelink.cache
 NOCOPYRELOC=-Wl,-z,nocopyreloc
 case "`uname -m`" in
-  x86_64|s390*) if file reloc1lib1.so | grep -q 64-bit; then NOCOPYRELOC=; fi;;
+  x86_64|s390*|alpha) NOCOPYRELOC=; ;;
 esac
 $CC -shared -O2 -Wl,-z,nocombreloc -fpic -o reloc8lib1.so $srcdir/reloc3lib1.c
 $CC -shared -O2 -Wl,-z,nocombreloc -fpic -o reloc8lib2.so $srcdir/reloc1lib2.c 
reloc8lib1.so
++++++ prelink.conf ++++++
# This config file contains a list of directories both with binaries
# and libraries prelink should consider by default.
# If a directory name is prefixed with `-l ', the directory hierarchy
# will be walked as long as filesystem boundaries are not crossed.
# If a directory name is prefixed with `-h ', symbolic links in a
# directory hierarchy are followed.
# Directories or files with `-b ' prefix will be blacklisted.
# If a directory name is prefixed with `-p', all shared objects in this 
#   directory are considered for prelinking, otherwise only binaries
#   and their dependencies

# Acrobat Reader
-b /usr/X11R6/lib/Acrobat5/Reader/intellinux/bin/acroread
-b /usr/X11R6/lib/Acrobat7/Reader/intellinux/bin/acroread
# RealPlayer
-b /usr/lib/RealPlayer8/realplay
# (x)emacs
-b /usr/X11R6/bin/xemacs
-b /usr/X11R6/bin/emacs
-b /usr/bin/emacs-nox
# libc5
-b /usr/lib/lddstub
# glide
-b /usr/LIBDIR/libglide.so.2.53
-b /usr/bin/test3Dfx
-b /usr/LIBDIR/libtexus.so.1
-b /usr/LIBDIR/libtexus.so.1.1
-b /usr/bin/texus

# linked against XFree xkb extension (static, without -fPIC)
-b /opt/kde3/bin/kxkb

# java
-b /usr/lib/IBMJava2-1.3.1/jre/bin/awt_robot
-b /usr/lib/SunJava2-1.4.2/jre/bin
-b /usr/lib/jvm/java-1.4.2-sun*

# bcast2000
-b /usr/X11R6/LIBDIR/bcast

# Files to skip
-b *.la
-b *.png
-b *.py
-b *.pl
-b *.pm
-b *.sh
-b *.xml
-b *.xslt
-b *.a
-b *.js
# kernel modules
-b /lib/modules

# skip hierarchy
-b /usr/lib/locale

# misc
-b /usr/bin/epiphany-bin
-b /usr/bin/galeon-bin
-b /usr/LIBDIR/gettext/gnu.gettext.DumpResource
-b /usr/LIBDIR/gettext/gnu.gettext.GetURL
-b /usr/bin/glade-2
-b /usr/bin/gnome-database-properties
-b /usr/bin/mergeant
-b /opt/mozilla/lib/mozilla-xremote-client
-b /opt/mozilla/lib/mozilla-bin
-b /opt/mozilla/lib/regchrome
-b /opt/mozilla/lib/regxpcom
-b /opt/mozilla/lib/xpcshell
-b /usr/bin/octave-2.1.49
-b /usr/sbin/partimage
-b /usr/sbin/partimaged
-b /usr/bin/pcpmon
-b /usr/bin/trang

-l /lib
-l /lib64
-l /usr/lib
-l /usr/lib64
-l /usr/X11R6/lib
-l /usr/X11R6/lib64
-l /usr/kerberos/lib
-l /usr/kerberos/lib64
-l /opt/kde2/lib
-l /opt/kde2/lib64
-l /opt/kde3/lib
-l /opt/kde3/lib64
-l /bin
-l /usr/bin
-l /sbin
-l /usr/sbin
-l /usr/X11R6/bin
-l /usr/kerberos/bin
-l /usr/games
-l /var/ftp/bin
-l /opt/kde2/bin
-l /opt/kde3/bin
-l /opt/mozilla
-l /opt/MozillaFirefox
-l /opt/OpenOffice.org/program
++++++ sysconfig.prelink ++++++
## Path:        System/Environment/Execution
## Description: prelink executables and libraries
## Type:        integer
## Default:     1
#
# Enable binary execution optimisation
#

## Type:        yesno
## Default:     no
#
# Run prelink during SuSEconfig
#
USE_PRELINK="no"

# Options to pass to prelink
# -m    Try to conserve virtual memory by allowing overlapping
#       assigned virtual memory slots for libraries which
#       never appear together in one binary
# -R    Randomize virtual memory slot assignments for libraries.
#       This makes it slightly harder for various buffer overflow
#       attacks, since library addresses will be different on each
#       host using -R.
PRELINK_OPTS="-mR"

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to