Re: Usage of RTLD_GLOBAL with -brtl Anunay wrote:
> Some of my applications are dumping core when I am trying to dlopen
> certain libraries by specifying the following flags together and
> specifying the -brtl option to build the applications:-
> Combination 1: RTLD_LAZY | RTLD_GLOBAL
> Combination 2: RTLD_NOW | RTLD_GLOBAL
>
> And when I remove the RTLD_GLOBAL flag, keeping the -brtl option, the
> application works fine.
The RTLD_GLOBAL flag specifies whether a loaded module can be used
to resolve _subsequent_ loads. If you have duplicate symbol
definitions and loading locally helps, then your symbols are not
compatible. Aside from being bad design, removing the GLOBAL
flag is fine.
And FWIW, RTLD_LAZY and RLTD_NOW are currently equivalent. |