diff options
author | Ethan Chen <intervigil@gmail.com> | 2015-11-30 23:18:25 -0800 |
---|---|---|
committer | Ethan Chen <intervigil@gmail.com> | 2015-11-30 23:18:25 -0800 |
commit | fd0140b028dedabc572f4659cc015edfeee3cd60 (patch) | |
tree | bb1c7368f0f910f2bd126d7457cf19be7e690a8e | |
parent | ad21814c21f40f0e0a4f62e03619e274de9f6983 (diff) | |
download | bionic-fd0140b028dedabc572f4659cc015edfeee3cd60.zip bionic-fd0140b028dedabc572f4659cc015edfeee3cd60.tar.gz bionic-fd0140b028dedabc572f4659cc015edfeee3cd60.tar.bz2 |
Revert "linker: Reset the active shim libs each time we do a dlopen"
This reverts commit ad21814c21f40f0e0a4f62e03619e274de9f6983.
Change-Id: I205bcbaae6c1494601f9245fe360a088d5b745e9
-rw-r--r-- | linker/linker.cpp | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/linker/linker.cpp b/linker/linker.cpp index 03d3317..daaa502 100644 --- a/linker/linker.cpp +++ b/linker/linker.cpp @@ -896,18 +896,13 @@ static std::vector<std::string> g_ld_all_shim_libs; static linked_list_t<const std::string> g_active_shim_libs; -static void reset_g_active_shim_libs(void) { - g_active_shim_libs.clear(); +static void parse_LD_SHIM_LIBS(const char* path) { + parse_path(path, " :", &g_ld_all_shim_libs); for (const auto& pair : g_ld_all_shim_libs) { g_active_shim_libs.push_back(&pair); } } -static void parse_LD_SHIM_LIBS(const char* path) { - parse_path(path, " :", &g_ld_all_shim_libs); - reset_g_active_shim_libs(); -} - static bool shim_lib_matches(const char *shim_lib, const char *realpath) { const char *sep = strchr(shim_lib, '|'); return sep != nullptr && strncmp(realpath, shim_lib, sep - shim_lib) == 0; @@ -1749,7 +1744,6 @@ soinfo* do_dlopen(const char* name, int flags, const android_dlextinfo* extinfo) } ProtectedDataGuard guard; - reset_g_active_shim_libs(); soinfo* si = find_library(name, flags, extinfo); if (si != nullptr) { si->call_constructors(); |