summaryrefslogtreecommitdiff
path: root/linker/linker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'linker/linker.cpp')
-rw-r--r--linker/linker.cpp44
1 files changed, 36 insertions, 8 deletions
diff --git a/linker/linker.cpp b/linker/linker.cpp
index a3d1db2c4..7740aa981 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -78,19 +78,39 @@ static LinkerTypeAllocator<android_namespace_t> g_namespace_allocator;
static LinkerTypeAllocator<LinkedListEntry<android_namespace_t>> g_namespace_list_allocator;
#if defined(__LP64__)
-static const char* const kSystemLibDir = "/system/lib64";
-static const char* const kVendorLibDir = "/vendor/lib64";
-static const char* const kAsanSystemLibDir = "/data/lib64";
-static const char* const kAsanVendorLibDir = "/data/vendor/lib64";
+static const char* const kSystemLibDir = "/system/lib64";
+static const char* const kSystemNdkLibDir = "/system/lib64/ndk";
+static const char* const kSystemVndkLibDir = "/system/lib64/vndk";
+static const char* const kSystemVndkExtLibDir = "/system/lib64/vndk-ext";
+static const char* const kVendorSpHalLibDir = "/vendor/lib64/sameprocess";
+static const char* const kVendorLibDir = "/vendor/lib64";
+static const char* const kAsanSystemLibDir = "/data/lib64";
+static const char* const kAsanSystemNdkLibDir = "/data/lib64/ndk";
+static const char* const kAsanSystemVndkLibDir = "/data/lib64/vndk";
+static const char* const kAsanSystemVndkExtLibDir = "/data/lib64/vndk-ext";
+static const char* const kAsanVendorSpHalLibDir = "/data/vendor/lib64/sameprocess";
+static const char* const kAsanVendorLibDir = "/data/vendor/lib64";
#else
-static const char* const kSystemLibDir = "/system/lib";
-static const char* const kVendorLibDir = "/vendor/lib";
-static const char* const kAsanSystemLibDir = "/data/lib";
-static const char* const kAsanVendorLibDir = "/data/vendor/lib";
+static const char* const kSystemLibDir = "/system/lib";
+static const char* const kSystemNdkLibDir = "/system/lib/ndk";
+static const char* const kSystemVndkLibDir = "/system/lib/vndk";
+static const char* const kSystemVndkExtLibDir = "/system/lib/vndk-ext";
+static const char* const kVendorSpHalLibDir = "/vendor/lib/sameprocess";
+static const char* const kVendorLibDir = "/vendor/lib";
+static const char* const kAsanSystemLibDir = "/data/lib";
+static const char* const kAsanSystemNdkLibDir = "/data/lib/ndk";
+static const char* const kAsanSystemVndkLibDir = "/data/lib/vndk";
+static const char* const kAsanSystemVndkExtLibDir = "/data/lib/vndk-ext";
+static const char* const kAsanVendorSpHalLibDir = "/data/vendor/lib/sameprocess";
+static const char* const kAsanVendorLibDir = "/data/vendor/lib";
#endif
static const char* const kDefaultLdPaths[] = {
kSystemLibDir,
+ kSystemNdkLibDir,
+ kSystemVndkExtLibDir,
+ kSystemVndkLibDir,
+ kVendorSpHalLibDir,
kVendorLibDir,
nullptr
};
@@ -98,6 +118,14 @@ static const char* const kDefaultLdPaths[] = {
static const char* const kAsanDefaultLdPaths[] = {
kAsanSystemLibDir,
kSystemLibDir,
+ kAsanSystemNdkLibDir,
+ kSystemNdkLibDir,
+ kAsanSystemVndkExtLibDir,
+ kSystemVndkExtLibDir,
+ kAsanSystemVndkLibDir,
+ kSystemVndkLibDir,
+ kAsanVendorSpHalLibDir,
+ kVendorSpHalLibDir,
kAsanVendorLibDir,
kVendorLibDir,
nullptr