Bug 14924 - prelink-20021002-r1
|
Bug#:
14924
|
Product: Gentoo Linux
|
Version: 1.4_rc2
|
Platform: x86
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: major
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: cretin@gentoo.org
|
Reported By: mckenna@cs.dal.ca
|
|
Component: Applications
|
|
|
URL:
|
|
Summary: prelink-20021002-r1
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2003-02-01 12:58 0000
|
I have tried to compile prelink-20021002-r1.
I got the error:
../src/prelink:
/var/tmp/portage/prelink-20021002-r1/work/prelink/testsuite/reloc1: Could not
find variable copy reloc is against
The exact same error occurs in all of the following tests: reloc{1,3,6,7} and
shuffle{1-5}.
I've noticed this error mentioned once, on a Redhat forum, and it was in
reference to Gentoo users.
I'm using binutils-2.13.90.0.16-r1, gcc-3.2.1-r6, glibc-2.3.1-r2, all compiled
last night.
Reproducible: Always
Steps to Reproduce:
1. 'emerge prelink'
2. less /var/tmp/portage/prelink-*/work/prelink/test/reloc1.log
Actual Results:
Lots of test failures
Expected Results:
Portage 2.0.46-r9 (default-x86-1.4, gcc-3.2.1, glibc-2.3.1-r2)
=================================================================
System uname: 2.4.19-gentoo-r10 i586 AMD-K6(tm) 3D processor
GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config
/usr/kde/2/share/config /usr/kde/3/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY="/usr/portage.local"
USE="x86 apm avi crypt cups encode gif jpeg libg++ libwww mikmod mpeg ncurses
nls pdflib png qtmt spell truetype xml2 xmms xv zlib gdbm berkdb readline svga
java X sdl gpm tcpd pam ssl perl python imlib oggvorbis gnome gtk opengl * -mmx
-alsa -slang -arts -tcltk -guile -ruby -postgres -esd -kde -gphoto2 -cdr
-scanner -quicktime -alpha -mips -sparc -ppc -qt -motif -static 3dfx voodoo3
3dnow oss"
COMPILER="gcc3"
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=k6-2 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=k6-2 -O3 -pipe -fomit-frame-pointer"
ACCEPT_KEYWORDS="x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="sandbox ccache"
(Also: tried without -O3 -fomit-frame-pointer)
Could be a gcc problem related to the bad loop bug on K6 and gcc-3.2.1.
Upgrade to gcc-3.2.2, and remerge glibc, elfutils and prelink.
I have an almost identical bug. Rebuilding my Gentoo system using 1.4rc3
from Stage 1 off the CD, using portage 2.0.47-r7, everything built fresh
since that release.
I'm using gcc 3.2.2 on an Athlon XP ; have also tried reemerging gcc glibc
and binutils with much lower optimisation ; the alternative prelink ebuilds in
portage ; removing libelf and adding elfutils.
Still same results on success/fail on prelink. Reloc 1,3,6 and all the
shuffles fail, Reloc 2,8,9 and the layouts pass.
Same setup worked on a 1.4rc2 Stage 1 build with the same optimisations.
Further to my previous comment ;
I rebuilt binutils, gcc and glibc with -O2 -arch=i686 (e.g. the default
make.conf) & it still gave the same errors.
Using the same data (burnt to CDROM, no net access), built a new Gentoo
system on the same level, prelink built. Changed to -O3 -arch=athlon-xp
etc etc and rebuilt it, didn't work. Changed it back and it still didn't work.
The hardware was almost identical KT266 VIA board + RIVATNT2.
A bit stuck now as to what to try next :(
Created an attachment (id=9533) [details]
Patch to fix copy reloc problem.
This is a bit of a hack, but it works for me.
I was debugging the prelink utility because I was getting this problem. I
managed to produce a patch that fixed the problem for me. I will send this
patch to the prelink author, so he can produce something better.
This patch will break 64 bit machines, and for what I found, this problem only
seems to happen on 32 bit machines. At least it happens on my pentium3.
Added the patch, I recomend using a newer version of prelik though!
The current stable version is way old!