summaryrefslogtreecommitdiff
path: root/linker/linker.cpp
diff options
context:
space:
mode:
authorKiyoung Kim <kiyoungkim@google.com>2019-10-17 13:51:31 +0900
committerKiyoung Kim <kiyoungkim@google.com>2019-10-24 19:23:25 +0900
commit61a97e95052a4ff22c7d2315f00cb3f0a5bce99e (patch)
tree1be596fb1c969bc3e7df07fa2af62af69e0fbef4 /linker/linker.cpp
parent9da992c2714205a7644c3b2f2aaaa0627e061914 (diff)
Load /dev/linker/ld.config.txt by default
Linker config generator now covers ld.config.txt for Legacy and VNDK-Lite devices, so linker can use those instead of existing ones under /system/etc Bug: 139638519 Test: m -j passed Change-Id: I90f14727148cbf9629b90dc4fd78362bed8ea4e4
Diffstat (limited to 'linker/linker.cpp')
-rw-r--r--linker/linker.cpp30
1 files changed, 6 insertions, 24 deletions
diff --git a/linker/linker.cpp b/linker/linker.cpp
index dec575baf..3c30e73b3 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -92,7 +92,6 @@ static uint64_t g_module_unload_counter = 0;
static const char* const kLdConfigArchFilePath = "/system/etc/ld.config." ABI_STRING ".txt";
static const char* const kLdConfigFilePath = "/system/etc/ld.config.txt";
-static const char* const kLdConfigVndkLiteFilePath = "/system/etc/ld.config.vndk_lite.txt";
static const char* const kLdGeneratedConfigFilePath = "/dev/linkerconfig/ld.config.txt";
@@ -4054,30 +4053,13 @@ static std::string get_ld_config_file_apex_path(const char* executable_path) {
}
static std::string get_ld_config_file_vndk_path() {
- if (android::base::GetBoolProperty("ro.vndk.lite", false)) {
- return kLdConfigVndkLiteFilePath;
+ if (!file_exists(kLdGeneratedConfigFilePath)) {
+ DL_WARN("Warning: failed to find generated linker configuration from \"%s\"",
+ kLdGeneratedConfigFilePath);
+ return "";
}
- // Use generated linker config if flag is set
- // TODO(b/138920271) Do not check property once it is confirmed as stable
- // TODO(b/139638519) This file should also cover legacy or vndk-lite config
- if (android::base::GetProperty("ro.vndk.version", "") != "" &&
- android::base::GetBoolProperty("sys.linker.use_generated_config", true)) {
- if (file_exists(kLdGeneratedConfigFilePath)) {
- return kLdGeneratedConfigFilePath;
- } else {
- DL_WARN("Warning: failed to find generated linker configuration from \"%s\"",
- kLdGeneratedConfigFilePath);
- }
- }
-
- std::string ld_config_file_vndk = kLdConfigFilePath;
- size_t insert_pos = ld_config_file_vndk.find_last_of('.');
- if (insert_pos == std::string::npos) {
- insert_pos = ld_config_file_vndk.length();
- }
- ld_config_file_vndk.insert(insert_pos, Config::get_vndk_version_string('.'));
- return ld_config_file_vndk;
+ return kLdGeneratedConfigFilePath;
}
static std::string get_ld_config_file_path(const char* executable_path) {
@@ -4105,7 +4087,7 @@ static std::string get_ld_config_file_path(const char* executable_path) {
}
path = get_ld_config_file_vndk_path();
- if (file_exists(path.c_str())) {
+ if (!path.empty()) {
return path;
}