On Sunday 28 July 2002 06:22 am, Gwenole Beauchesne wrote:
> Hi,
>
> > On July 27, 2002 08:11 am, Maks Orlovich wrote:
> >> On Saturday 27 July 2002 10:08 am, you wrote:
> >> plugin's code... An important question to ask is thus: what version
> >> of the glibc package do you have installed?
> >
> > [pasnak@neo pasnak]$ rpm -qa|grep glibc
> > glibc-2.2.5-14mdk
> > glibc-devel-2.2.5-14mdk
> > [pasnak@neo pasnak]$
>
> What is the problem with that glibc?

None that I am sure of, earlier ones had a problem in libdl where the 
malloc/free implementation in kdecore required by a plugin dlopen'ened with 
RTLD_LOCAL got bound globally, disappeared on the closing of the plugin(!),  
and possibly same or other bug that could cause Qt designer to crash on 
startup; the was is fixed since -3mdk or so. 

There is one piece of behavior that I am not sure of (since reading dlopen 
spec on resolution order at 
http://www.opengroup.org/onlinepubs/007908799/xsh/dlopen.html suggest it's 
incorrect, but I am not very good at being a spec reader): if I run the 
following testcase: http://mail.rochester.edu/~mo002j/dl-testcase.tar.bz2 the 
output is the following: 

Main's Helper called
Required's Helper called
Main's Helper called
Main's Helper called

Which seems to imply that a symbol required by a dlopen'ed plugin is resolved 
in dependency order and not load order, which appears to contradict: 

"When an object is first made accessible via dlopen() it and its dependent 
objects are added in dependency order. Once all the objects are added, 
relocations are performed using load order."; but again, I am not an expert 
in the area, so I may be misreading it...

Thanks,
Maks Orlovich




Reply via email to