On 03/19/10 10:46, Somebody in the thread at some point said:
After disabling the blacklist for nss, and prelinking the whole
rootfs,
there is still a list of "bad guys", these seem that they could be
Fedora packaging / building errors?
In terms of packages that matter to me, it's only these libs which are
claimed by prelink to not be compiled with -fPIC.
/usr/lib/libxml++-2.6.so.2
/usr/lib/libstdc++.so.6
I decided to try to graft CFLAGS=-fPIC on libxml++ and rebuild the
package, however when it builds I see it likes to use libtool, and the
output of that already has -fPIC and -DPIC I didn't add, for example
g++ -DHAVE_CONFIG_H -DLIBXMLPP_BUILD -I. -I../.. -I../../libxml++
-I../.. -I/usr/include/libxml2 -I/usr/include/glibmm-2.4
-I/usr/lib/glibmm-2.4/include -I/usr/include/sigc++-2.0
-I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -march=armv5te
-MT schemavalidator.lo -MD -MP -MF .deps/schemavalidator.Tpo -c
schemavalidator.cc -fPIC -DPIC -o .libs/schemavalidator.o
It's absent on executable build lines but I think that's OK from what I
understand. So I think it's at least trying to be built -fPIC by itself
already.
I installed the new package and prelinked the lib
-bash-4.0# prelink -v /usr/lib/libxml++-2.6.so.2
...
Prelinking /usr/lib/libxml++-2.6.so.2.0.7
-bash-4.0#
Then I tried to prelink the executable that is not prelinked due to
failure with /usr/lib/libxml++-2.6.so.2
-bash-4.0# prelink -v /usr/bin/txtr-client-proxy
...
Prelinking /usr/bin/txtr-client-proxy
prelink: /usr/bin/txtr-client-proxy: Cannot prelink against non-PIC
shared library /usr/lib/libxml++-2.6.so.2
-bash-4.0#
So prelink did not complain when run on the lib but did complain when
run on the executable that binds to the lib, and it complained then
about the lib.
Is there something I can do with, eg, objdump to probe the PIC-ness of
/usr/lib/libxml++-2.6.so.2 that prelink refuses to work with or
otherwise debug this futher?
-Andy