[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#265678: More Info about this bug



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 __xstat64@GLIBC_2.2 (3)


Thiemo



Reply to: