The assumption that the program image is not used for relocation of
dlopen()ed objects was incorrect. This should fix problems with ports of software with a plugin/add-on interface. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29112 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
06828840d7
commit
47bc666311
@ -2141,10 +2141,9 @@ load_program(char const *path, void **_entry)
|
||||
if (status < B_OK)
|
||||
goto err;
|
||||
|
||||
// Set RTLD_GLOBAL on all libraries, but clear it on the program image.
|
||||
// Set RTLD_GLOBAL on all libraries including the program.
|
||||
// This results in the desired symbol resolution for dlopen()ed libraries.
|
||||
set_image_flags_recursively(sProgramImage, RTLD_GLOBAL);
|
||||
sProgramImage->flags &= ~RTLD_GLOBAL;
|
||||
|
||||
status = relocate_dependencies(sProgramImage);
|
||||
if (status < B_OK)
|
||||
|
Loading…
Reference in New Issue
Block a user