Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 22020 - PRELINK_MASK_PATH not affecting prelink
Summary: PRELINK_MASK_PATH not affecting prelink
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Stefan Jones (RETIRED)
Depends on:
Reported: 2003-05-31 16:47 UTC by Alex Combas
Modified: 2004-03-17 06:29 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Alex Combas 2003-05-31 16:47:30 UTC

yet I get this

 # prelink -afmR
prelink: /opt/kylix3/bin/bc++: DT_JMPREL tag not adjacent to DT_REL relocations
prelink: /opt/kylix3/bin/dcc: Not enough room to add .dynamic entry

I have restarted xfree and loged back in a number of times, I have also manually
done env-update and tried again and again but prelink keeps looking into /opt
for some reason. I have also reemerged prelink but I still get those errors.

I think that prelink has a bug because it is not reading /etc/env.d/99prelink

Reproducible: Always
Steps to Reproduce:

 # emerge info
Portage 2.0.48 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1)
System uname: 2.4.20-gaming-r3 i686 AMD Athlon(tm) Processor
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config
/usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
USE="x86 oss 3dnow avi crypt cups encode gif jpeg libg++ mmx mpeg ncurses pdflib
png quicktime spell truetype xml2 xmms xv zlib directfb gtkhtml alsa gdbm berkdb
slang readline aalib bonobo svga ggi tcltk guile mysql X sdl gpm tcpd pam libwww
ssl perl python imlib oggvorbis gnome gtk qt opengl mozilla gphoto2 ldap apache2
dvd emacs fbcon freetype gnomedb gtk2 imap innodb jack mpi odbc pic xfs xml xosd
-apm -arts -java -mikmod -nls -esd -kde -motif -cdr -scanner"
CFLAGS="-Wall -march=athlon-tbird -O2 -fPIC -pipe"
CXXFLAGS="-Wall -march=athlon-tbird -O2 -fPIC -pipe"
FEATURES="sandbox ccache prelink"
Comment 1 Alex Combas 2003-05-31 17:19:16 UTC
..more info..

Prelink is fails with this error:
prelink: exec.c:779: prelink_exec: Assertion `data->d_size == dso->shdr[new_dynbss].sh_size + dso->shdr[new_dynbss + 1].sh_size' failed.

The Gentoo Prelink documentation says:
"Prelink aborts with "prelink: dso.c:306: fdopen_dso: Assertion `j == k' failed." 

This a known problem, kindly diagnosed here. Prelink cannot cope with UPX-compressed executables. As of prelink-20021213 there is no fix except to hide the executables while you are prelinking. See the Configuration section above for an easy way to do this."

However as my last comment shows, PRELINK_MASK_PATH is not affecting prelink, so I have no way to hide these executables until this is fixed.

Is anyone else having similar troubles with prelink and PRELINK_MASK_PATH?
Comment 2 George Shapovalov (RETIRED) gentoo-dev 2003-06-11 00:10:44 UTC
Hm, how did this end up with me? This is a prelink bug as I see and I am not a prelink person...
Reassiging back to bug-wranglers.

Comment 3 Alex Combas 2003-06-11 00:18:22 UTC
Dang it! :)
Comment 4 Stefan Jones (RETIRED) gentoo-dev 2003-06-11 01:36:00 UTC
Could you paste in your /etc/prelink.conf after a env-update and having PRELINK_MASK_PATH="/opt" set in /etc/env.d/99prelink please.
Comment 5 Alex Combas 2003-06-11 13:40:24 UTC
$ cat /etc/env.d/99prelink

$ cat  /etc/prelink.conf
# prelink.conf autogenerated by env-update; make all changes to
# contents of /etc/env.d directory
-l /bin
-l /sbin
-l /usr/bin
-l /usr/sbin
-l /lib
-l /usr/lib
-h /usr/local/lib
-h /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3
-h /usr/lib/opengl/nvidia/lib
-h /usr/lib/mozilla
-h /usr/X11R6/lib
-h /opt/blackdown-jdk-1.4.1/jre/lib/i386/
-h /opt/blackdown-jdk-1.4.1/jre/lib/i386/native_threads/
-h /usr/qt/3/lib
-h /usr/games/lib
-h /usr/lib/fltk-1.1
-h /usr/local/bin
-h /opt/bin
-h /usr/i686-pc-linux-gnu/gcc-bin/3.2
-h /usr/X11R6/bin
-h /opt/blackdown-jdk-1.4.1/bin
-h /opt/blackdown-jdk-1.4.1/jre/bin
-h /usr/qt/3/bin
-h /usr/games/bin
-h /opt/vmware/bin

 # prelink -afmR
prelink: /opt/vmware/bin/vmnet-bridge: Not enough room to add .dynamic entry
prelink: /opt/vmware/bin/vmware-ping: Not enough room to add .dynamic entry
prelink: /opt/kylix3/bin/bc++: DT_JMPREL tag not adjacent to DT_REL relocations
prelink: /opt/vmware/bin/vmware-nmbd: Not enough room to add .dynamic entry
prelink: exec.c:779: prelink_exec: Assertion `data->d_size == dso->shdr[new_dynbss].sh_size + dso->shdr[new_dynbss + 1].sh_size' failed.
Comment 6 Stefan Jones (RETIRED) gentoo-dev 2003-06-11 14:06:15 UTC
Ok, it looks like PRELINK_MASK_PATH is not a substring matcher, ie. /opt will not match /opt/bin.

But the curious thing is that /opt/kylix3/bin/bc++ attemted to be prelinked, even though it is not in prelink.conf.

So we have two seperate bugs; PRELINK_MASK_PATH not matching substrings, and prelink picking random files to be prelinked,

I can fix the first in portage, but the second problem is a mystery ( for the moment )

Comment 7 Richard 2003-08-28 18:31:42 UTC
Maybe there is a symlink to bc++ somewhere in the prelinked paths?
Comment 8 Heinrich Wendel (RETIRED) gentoo-dev 2003-10-18 14:56:41 UTC
is this fixed in the latest prelink version?
Comment 9 Stefan Jones (RETIRED) gentoo-dev 2003-10-20 09:09:13 UTC
A new version of prelink will be in portage soon, when I add it could you
test it.

This may also be a portage (env-update) problem.
Comment 10 Stefan Jones (RETIRED) gentoo-dev 2004-03-16 07:12:41 UTC
ok, many new versions of prelink have come and gone.

Closing bug, please reopen if it is still a problem ( latest versions of perlink are quite stable )
Comment 11 Stefan Jones (RETIRED) gentoo-dev 2004-03-17 06:29:26 UTC
see last comment