summaryrefslogtreecommitdiff
path: root/linker/linker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'linker/linker.cpp')
-rw-r--r--linker/linker.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 5d381517a..0acb9c68f 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -3447,6 +3447,12 @@ static std::vector<android_namespace_t*> init_default_namespace_no_config(bool i
static std::string get_ld_config_file_apex_path(const char* executable_path) {
std::vector<std::string> paths = android::base::Split(executable_path, "/");
if (paths.size() >= 5 && paths[1] == "apex" && paths[3] == "bin") {
+ // Check auto-generated ld.config.txt first
+ std::string generated_apex_config = "/linkerconfig/" + paths[2] + "/ld.config.txt";
+ if (file_exists(generated_apex_config.c_str())) {
+ return generated_apex_config;
+ }
+
return std::string("/apex/") + paths[2] + "/etc/ld.config.txt";
}
return "";