Introduce the concept of a 'mandatory redirection'.  A redirection
says (essentially) "I am the replacement for function foo in object w/
soname bar.so".  Now, if a redirection is mandatory, and bar.so is
loaded but foo is not found in its symbol table, then V aborts.

The initial motivation for this is making Memcheck work sanely on
glibc-2.6.X ppc32-linux.  We really need to intercept 'strlen' in
ld.so right from startup.  If ld.so does not have a visible 'strlen'
symbol, Memcheck generates an impossible number of errors resulting
from highly tuned strlen implementation in ld.so, and is completely
unusable -- the resulting undefinedness eventually seeps everywhere.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7165 a5019735-40e9-0310-863c-91ae7b9d1cf9
1 file changed