dlsym(RTLD_NEXT) failures on ARM and MIPS with LD_PRELOAD w/ 0.9.33.2
Carmelo AMOROSO
carmelo.amoroso at st.com
Thu Sep 20 20:09:52 UTC 2012
On 20/09/2012 8.36, Florian Fainelli wrote:
> Hi all,
>
Hi Florian,
> I just updated two systems to uClibc 0.9.33.2/NPTL (ARMv5 and MIPS32r1),
> and I now see dlsym() returning NULL for a symbol where it should not.
>
Does it mean that with an older version is worked ? if so, which one ?
it could help to identify the problem, if any.
> The situation is the following:
>
> 1) application "foo" links against shared library "mylib" and in particular
> the symbol "bar"
>
> 2) "mylib2" is a shared library providing a modified "bar" symbol and
> performing a dlsym(RTLD_NEXT, "bar") to get the "bar" symbol address in
> "mylib" and finally call this symbol.
>
> 3) "foo" is started that way:
> LD_PRELOAD="libmylib2.so" foo
>
> I am yet to be able to write down a reduced test-case exposing the issue,
> because so far, the problem is appearing only in a much larger "mylib" and
> "foo" though they both do not do much more than what is described above. I
> have not tried uClibc's master yet.
>
> Any hints would be appreciated
>
> Thanks!
>
cheers,
Carmelo
More information about the uClibc
mailing list