summaryrefslogtreecommitdiffstats
path: root/linker/dlfcn.cpp
diff options
context:
space:
mode:
authorDmitriy Ivanov <dimitry@google.com>2015-05-27 18:29:41 -0700
committerDmitriy Ivanov <dimitry@google.com>2015-05-28 15:25:55 -0700
commit4a7c3af054fdb525c8e458434f57f20696f43e31 (patch)
tree50b18bbc6677318071ef2627a4e9b7fd9809d137 /linker/dlfcn.cpp
parentd8ead18145cba98fdc7256f9a0e69b8c1c90cd1c (diff)
downloadbionic-4a7c3af054fdb525c8e458434f57f20696f43e31.zip
bionic-4a7c3af054fdb525c8e458434f57f20696f43e31.tar.gz
bionic-4a7c3af054fdb525c8e458434f57f20696f43e31.tar.bz2
Work around incorrect dt_needed entries
This applies for apps targeting sdk<=22 and only for lp32 platforms. Bug: http://b/21364029 Change-Id: I903e81c9ccda2a8beaba1d132d68c77d30a4cdb2 (cherry picked from commit d974e8804689058714dc4fe9adcb57ee9a6996a8)
Diffstat (limited to 'linker/dlfcn.cpp')
-rw-r--r--linker/dlfcn.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/linker/dlfcn.cpp b/linker/dlfcn.cpp
index 8fafded..8705d9a 100644
--- a/linker/dlfcn.cpp
+++ b/linker/dlfcn.cpp
@@ -158,6 +158,8 @@ int dlclose(void* handle) {
}
void android_set_application_target_sdk_version(uint32_t target) {
+ // lock to avoid modification in the middle of dlopen.
+ ScopedPthreadMutexLocker locker(&g_dl_mutex);
set_application_target_sdk_version(target);
}