vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hello all, 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. Is there a reason for such a behaviour? Any help will be grateful. Thanks in advance, Anunay |
| ||||
| 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. |