Merge "Use generated linker config for APEX binaries"
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 5d38151..0acb9c6 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -3447,6 +3447,12 @@
 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 "";