diff options
author | Semun Lee <sm79.lee@samsung.com> | 2016-06-02 20:41:30 +0900 |
---|---|---|
committer | Semun Lee <sm79.lee@samsung.com> | 2016-06-02 20:41:30 +0900 |
commit | 9a817970e57ca71934814c720d55822bd814afab (patch) | |
tree | 50647d880ae1bbc484f8f559f52865f79b359fcf | |
parent | 3114f9321953be421614e304a80d55a9710e893c (diff) | |
download | launchpad-9a817970e57ca71934814c720d55822bd814afab.tar.gz launchpad-9a817970e57ca71934814c720d55822bd814afab.tar.bz2 launchpad-9a817970e57ca71934814c720d55822bd814afab.zip |
Add RTLD_DEEPBIND option to dlopen for app executablesubmit/tizen/20160603.030057accepted/tizen/wearable/20160606.040107accepted/tizen/tv/20160606.035903accepted/tizen/mobile/20160606.035204accepted/tizen/ivi/20160606.040603accepted/tizen/common/20160606.141720
When an application contains some private shared libraries
in its own /lib directory and a private shared library
has duplicated symbol with platform provided shared library,
application executable could not able to use the symbol
in its private shared library.
RTLD_DEEPBIND flag make the application executable to be
able to use the symbol in its private shared library.
Change-Id: Ic692f435e13033b5be2f6255a9a27051544c5a71
Signed-off-by: Semun Lee <sm79.lee@samsung.com>
-rw-r--r-- | src/launchpad_loader.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/launchpad_loader.c b/src/launchpad_loader.c index d24eee7..0c19f91 100644 --- a/src/launchpad_loader.c +++ b/src/launchpad_loader.c @@ -208,7 +208,8 @@ static int __loader_terminate_cb(int argc, char **argv, void *user_data) restore = true; do_dlopen: - handle = dlopen(argv[LOADER_ARG_PATH], RTLD_LAZY | RTLD_GLOBAL); + handle = dlopen(argv[LOADER_ARG_PATH], + RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND); if (handle == NULL) { _E("dlopen failed(%s). Please complile with -fPIE and " "link with -pie flag", dlerror()); |