diff options
Diffstat (limited to 'linker/linker.cpp')
-rw-r--r-- | linker/linker.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/linker/linker.cpp b/linker/linker.cpp index 1a005faa0..064657964 100644 --- a/linker/linker.cpp +++ b/linker/linker.cpp @@ -3553,7 +3553,14 @@ std::vector<android_namespace_t*> init_default_namespaces(const char* executable std::string error_msg; - const char* config_file = file_exists(kLdConfigArchFilePath) ? kLdConfigArchFilePath : kLdConfigFilePath; + std::string ld_config_vndk = kLdConfigFilePath; + size_t insert_pos = ld_config_vndk.find_last_of("."); + if (insert_pos == std::string::npos) { + insert_pos = ld_config_vndk.length(); + } + ld_config_vndk.insert(insert_pos, Config::get_vndk_version_string('.')); + const char* ld_config_txt = file_exists(ld_config_vndk.c_str()) ? ld_config_vndk.c_str() : kLdConfigFilePath; + const char* config_file = file_exists(kLdConfigArchFilePath) ? kLdConfigArchFilePath : ld_config_txt; #ifdef USE_LD_CONFIG_FILE // This is a debugging/testing only feature. Must not be available on // production builds. |