diff options
Diffstat (limited to 'linker/linker.cpp')
-rw-r--r-- | linker/linker.cpp | 44 |
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 |