Add Android Runtime APEX directories to Bionic search paths.

- Insert /apex/com.android.runtime/lib(64) before /system/lib(64)
  in the default library search paths (`kDefaultLdPaths`,
  `kAsanDefaultLdPaths`).
- Insert apex/com.android.runtime/bin before /system/bin in the
  default shell search path (`_PATH_DEFPATH`).

Test: Device boot test with Android Runtime APEX.
Test: Device boot test without Android Runtime APEX.
Bug: 113373927
Change-Id: I9ae6bfe6939f63e7d76e7b3c9b21d8b698bd8fda
diff --git a/libc/include/paths.h b/libc/include/paths.h
index dc1c523..b5b8610 100644
--- a/libc/include/paths.h
+++ b/libc/include/paths.h
@@ -47,7 +47,7 @@
 #define _PATH_CONSOLE "/dev/console"
 
 /** Default shell search path. */
-#define _PATH_DEFPATH "/sbin:/system/sbin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin"
+#define _PATH_DEFPATH "/sbin:/system/sbin:/apex/com.android.runtime/bin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin"
 
 /** Path to the directory containing device files. */
 #define _PATH_DEV "/dev/"
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 7993681..3560b4e 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -89,6 +89,7 @@
 static const char* const kLdConfigVndkLiteFilePath = "/system/etc/ld.config.vndk_lite.txt";
 
 #if defined(__LP64__)
+static const char* const kArtApexLibDir    = "/apex/com.android.runtime/lib64";
 static const char* const kSystemLibDir     = "/system/lib64";
 static const char* const kOdmLibDir        = "/odm/lib64";
 static const char* const kVendorLibDir     = "/vendor/lib64";
@@ -96,6 +97,7 @@
 static const char* const kAsanOdmLibDir    = "/data/asan/odm/lib64";
 static const char* const kAsanVendorLibDir = "/data/asan/vendor/lib64";
 #else
+static const char* const kArtApexLibDir    = "/apex/com.android.runtime/lib";
 static const char* const kSystemLibDir     = "/system/lib";
 static const char* const kOdmLibDir        = "/odm/lib";
 static const char* const kVendorLibDir     = "/vendor/lib";
@@ -107,6 +109,7 @@
 static const char* const kAsanLibDirPrefix = "/data/asan";
 
 static const char* const kDefaultLdPaths[] = {
+  kArtApexLibDir,
   kSystemLibDir,
   kOdmLibDir,
   kVendorLibDir,
@@ -115,6 +118,7 @@
 
 static const char* const kAsanDefaultLdPaths[] = {
   kAsanSystemLibDir,
+  kArtApexLibDir,
   kSystemLibDir,
   kAsanOdmLibDir,
   kOdmLibDir,