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