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 "meissner@suse.com"
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 - meissner@suse.de
+
+- buildrequire glibc-devel-static
+- --copy-dt-needed-entries for testsuite.
+
+-------------------------------------------------------------------
+Wed Feb 23 10:16:42 CET 2011 - meissner@suse.de
+
+- ifunc3 test fails with malloc perturb, so disable that until fixed
+ in glibc.
+
+-------------------------------------------------------------------
+Mon Mar 15 14:42:31 CET 2010 - meissner@suse.de
+
+- updated to 20100106
+ Naming seems to be snapshot based these days.
+ - Lots of fixes and improvements.
+
+-------------------------------------------------------------------
+Sat Jan 30 11:08:04 CET 2010 - meissner@suse.de
+
+- fuzz=0
+
+-------------------------------------------------------------------
+Fri Jun 19 10:35:46 CEST 2009 - coolo@novell.com
+
+- disable as-needed for this package as it fails to build with it
+
+-------------------------------------------------------------------
+Wed Mar 19 09:32:08 CET 2008 - aj@suse.de
+
+- 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 - tiwai@suse.de
+
+- changed from libelf to libelf0-devel in buildrequires.
+
+-------------------------------------------------------------------
+Mon Jan 29 18:13:33 CET 2007 - sbrabec@suse.cz
+
+- 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 - meissner@suse.de
+
+- upgraded to 0.3.10.
+ - mostly MIPS stuff
+ - integrated upstream fix
+
+-------------------------------------------------------------------
+Tue Oct 24 17:12:58 CEST 2006 - meissner@suse.de
+
+- replaced by Jakubs correct fix.
+
+-------------------------------------------------------------------
+Thu Oct 19 18:37:17 CEST 2006 - meissner@suse.de
+
+- fixed incorrect condition in .debug_ranges adjuster.
+ (reduces failures by 50%)
+
+-------------------------------------------------------------------
+Tue Jul 18 22:06:39 CEST 2006 - meissner@suse.de
+
+- Update to 0.3.9 (sync with Fedora Core)
+ - fixed 0x2e stab missing in WINE.
+
+-------------------------------------------------------------------
+Sun Mar 12 15:42:40 CET 2006 - aj@suse.de
+
+- 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 - mls@suse.de
+
+- converted neededforbuild to BuildRequires
+
+-------------------------------------------------------------------
+Tue Aug 23 15:07:37 CEST 2005 - coolo@suse.de
+
+- 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 - coolo@suse.de
+
+- some update to the config
+
+-------------------------------------------------------------------
+Thu Jun 23 10:16:34 CEST 2005 - coolo@suse.de
+
+- update to latest snapshot
+
+-------------------------------------------------------------------
+Fri May 13 11:27:00 CEST 2005 - coolo@suse.de
+
+- fix build with gcc4
+
+-------------------------------------------------------------------
+Mon Dec 13 18:33:38 CET 2004 - coolo@suse.de
+
+- update to later version
+
+-------------------------------------------------------------------
+Tue Aug 17 16:14:17 CEST 2004 - coolo@suse.de
+
+- update to latest version
+
+-------------------------------------------------------------------
+Fri Apr 23 08:51:35 CEST 2004 - coolo@suse.de
+
+- fixing sysconfig path
+
+-------------------------------------------------------------------
+Thu Feb 26 14:37:15 CET 2004 - coolo@suse.de
+
+- update to latest version and updated the patches to build
+ on all architectures but IA64 (#35098)
+
+-------------------------------------------------------------------
+Sat Jan 10 16:43:05 CET 2004 - adrian@suse.de
+
+- build as user
+
+-------------------------------------------------------------------
+Thu Sep 18 15:36:12 CEST 2003 - kukuk@suse.de
+
+- Add missing PreRequires
+
+-------------------------------------------------------------------
+Sun Sep 14 23:44:10 CEST 2003 - coolo@suse.de
+
+- correctly handle biarch platforms
+- disable quick1.sh, it just fails too often randomly
+
+-------------------------------------------------------------------
+Thu Sep 11 16:01:35 CEST 2003 - coolo@suse.de
+
+- trying to get prelink.conf in shape (#30286)
+
+-------------------------------------------------------------------
+Thu Jul 31 09:13:16 CEST 2003 - coolo@suse.de
+
+- skip prelink on battery (#27481)
+
+-------------------------------------------------------------------
+Tue Jul 29 14:08:05 CEST 2003 - coolo@suse.de
+
+- update to 20030701
+- fix test suite
+- add lib64 to prelink.conf
+
+-------------------------------------------------------------------
+Mon Jun 16 14:29:57 CEST 2003 - coolo@suse.de
+
+- new location for rpm database
+
+-------------------------------------------------------------------
+Thu Jun 5 11:47:21 CEST 2003 - coolo@suse.de
+
+- 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 - coolo@suse.de
+
+- 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
%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 <
#
# 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: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org