The problem is caused by dlsym() returning the lazy binding stub of
the next library instead of the actual implementation. Example:

/usr/bin/file
/usr/lib/libfakeroot/libfakeroot.so.0
/usr/lib/libmagic.so.1
/usr/lib/libz.so.1
/lib/libc.so.6
/lib/ld.so.1

__xstat64 (in libc) is called from both file and libmagic, and
libfakeroot tries to wrap it. With the current behaviour, the wrapper
function in libfakeroot resolves to the lazy binding stub in libmagic
instead of the __xstat64 implementation in libc.

The stub in libmagic is marked as undefined:

    95: 0000dee0     0 FUNC    GLOBAL DEFAULT  UND [EMAIL PROTECTED] (3)


Thiemo


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to