diff options
author | Alexander Aksenov <a.aksenov@samsung.com> | 2017-06-14 14:34:08 +0300 |
---|---|---|
committer | Alexander Aksenov <a.aksenov@samsung.com> | 2017-06-14 11:47:34 +0000 |
commit | af294ed89f9109b35f3b367f0f9620bcd93c91e5 (patch) | |
tree | 40f8f276865e3b521304f830f5aed8ce02df48fc | |
parent | 0a90d120909b771a8f573b6873422b4d5506b375 (diff) | |
download | swap-probe-tizen_3.0_dev.tar.gz swap-probe-tizen_3.0_dev.tar.bz2 swap-probe-tizen_3.0_dev.zip |
Fix GOT double patchingtizen_3.0_dev
Now if entry in GOT points into SWAP libraries, it won't be
patched again.
Change-Id: I0659dd820a89f35694ab8f7108060a2f3e1085d0
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
-rw-r--r-- | helper/got_patching.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/helper/got_patching.c b/helper/got_patching.c index 0650451..6cd5ad6 100644 --- a/helper/got_patching.c +++ b/helper/got_patching.c @@ -122,6 +122,18 @@ static void *_get_orig_on_demand(unsigned long addr) if (ret == 0) return NULL; + if (sym_info.dli_saddr) + return NULL; + + if (!strcmp(probelib_main, sym_info.dli_fname) || + !strcmp(probelib_event, sym_info.dli_fname) || + !strcmp(probelib_capi, sym_info.dli_fname) || + !strcmp(probelib_graphics, sym_info.dli_fname) || + !strcmp(probelib_screenshot, sym_info.dli_fname) || + !strcmp(probelib_uihv, sym_info.dli_fname) || + !strcmp(probelib_lsan, sym_info.dli_fname)) + return NULL; + return sym_info.dli_saddr; } |