aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-04-23 23:20:55 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-04-23 23:20:55 +0000
commitd9aaa0a17a4dd65e596e762fb91bfbb74c855e83 (patch)
tree819af6bf898dca108d7f431cdf55311782bf2492
parenta140cbcafb2928d133a37d4e76d8dd6cbb181910 (diff)
parentc2e44b60158d0533e41a3de43c8f4c1b74b8ce63 (diff)
downloadlinkerconfig-sdk-release.tar.gz
Snap for 11754915 from c2e44b60158d0533e41a3de43c8f4c1b74b8ce63 to sdk-releasesdk-release
Change-Id: I9d3fb8fc8684910a259d63fd0f8621f5f7bde188
-rw-r--r--contents/section/apexdefault.cc10
-rw-r--r--generator/variableloader.cc4
-rw-r--r--main.cc13
-rw-r--r--modules/basecontext.cc11
-rw-r--r--testdata/golden_output/deprecate_product_vndk/com.android.adbd/ld.config.txt26
-rw-r--r--testdata/golden_output/deprecate_product_vndk/com.android.art/ld.config.txt26
-rw-r--r--testdata/golden_output/deprecate_product_vndk/com.android.conscrypt/ld.config.txt26
-rw-r--r--testdata/golden_output/deprecate_product_vndk/com.android.media.swcodec/ld.config.txt26
-rw-r--r--testdata/golden_output/deprecate_product_vndk/com.android.runtime/ld.config.txt26
-rw-r--r--testdata/golden_output/deprecate_product_vndk/com.android.sdkext/ld.config.txt26
-rw-r--r--testdata/golden_output/deprecate_product_vndk/com.android.systemext1/ld.config.txt474
-rw-r--r--testdata/golden_output/deprecate_product_vndk/com.product.service1/ld.config.txt28
-rw-r--r--testdata/golden_output/deprecate_product_vndk/com.vendor.service1/ld.config.txt26
-rw-r--r--testdata/golden_output/deprecate_product_vndk/com.vendor.service2/ld.config.txt26
-rw-r--r--testdata/golden_output/deprecate_product_vndk/ld.config.txt130
-rw-r--r--testdata/golden_output/deprecate_vndk/com.android.adbd/ld.config.txt26
-rw-r--r--testdata/golden_output/deprecate_vndk/com.android.art/ld.config.txt26
-rw-r--r--testdata/golden_output/deprecate_vndk/com.android.conscrypt/ld.config.txt26
-rw-r--r--testdata/golden_output/deprecate_vndk/com.android.media.swcodec/ld.config.txt26
-rw-r--r--testdata/golden_output/deprecate_vndk/com.android.runtime/ld.config.txt26
-rw-r--r--testdata/golden_output/deprecate_vndk/com.android.sdkext/ld.config.txt26
-rw-r--r--testdata/golden_output/deprecate_vndk/com.android.systemext1/ld.config.txt415
-rw-r--r--testdata/golden_output/deprecate_vndk/com.product.service1/ld.config.txt28
-rw-r--r--testdata/golden_output/deprecate_vndk/com.vendor.service1/ld.config.txt30
-rw-r--r--testdata/golden_output/deprecate_vndk/com.vendor.service2/ld.config.txt30
-rw-r--r--testdata/golden_output/deprecate_vndk/ld.config.txt130
-rw-r--r--testdata/golden_output/gen-only-a-single-apex/com.vendor.service2/ld.config.txt26
-rw-r--r--testdata/golden_output/guest/com.android.adbd/ld.config.txt26
-rw-r--r--testdata/golden_output/guest/com.android.art/ld.config.txt26
-rw-r--r--testdata/golden_output/guest/com.android.conscrypt/ld.config.txt26
-rw-r--r--testdata/golden_output/guest/com.android.media.swcodec/ld.config.txt26
-rw-r--r--testdata/golden_output/guest/com.android.runtime/ld.config.txt26
-rw-r--r--testdata/golden_output/guest/com.android.sdkext/ld.config.txt26
-rw-r--r--testdata/golden_output/guest/com.android.systemext1/ld.config.txt474
-rw-r--r--testdata/golden_output/guest/com.product.service1/ld.config.txt26
-rw-r--r--testdata/golden_output/guest/com.vendor.service1/ld.config.txt26
-rw-r--r--testdata/golden_output/guest/com.vendor.service2/ld.config.txt26
-rw-r--r--testdata/golden_output/guest/ld.config.txt130
-rw-r--r--testdata/golden_output/stage2/com.android.adbd/ld.config.txt26
-rw-r--r--testdata/golden_output/stage2/com.android.art/ld.config.txt26
-rw-r--r--testdata/golden_output/stage2/com.android.conscrypt/ld.config.txt26
-rw-r--r--testdata/golden_output/stage2/com.android.media.swcodec/ld.config.txt26
-rw-r--r--testdata/golden_output/stage2/com.android.runtime/ld.config.txt26
-rw-r--r--testdata/golden_output/stage2/com.android.sdkext/ld.config.txt26
-rw-r--r--testdata/golden_output/stage2/com.android.systemext1/ld.config.txt474
-rw-r--r--testdata/golden_output/stage2/com.product.service1/ld.config.txt26
-rw-r--r--testdata/golden_output/stage2/com.vendor.service1/ld.config.txt26
-rw-r--r--testdata/golden_output/stage2/com.vendor.service2/ld.config.txt26
-rw-r--r--testdata/golden_output/stage2/ld.config.txt130
-rw-r--r--testdata/golden_output/vndk-in-system/com.android.adbd/ld.config.txt26
-rw-r--r--testdata/golden_output/vndk-in-system/com.android.art/ld.config.txt26
-rw-r--r--testdata/golden_output/vndk-in-system/com.android.conscrypt/ld.config.txt26
-rw-r--r--testdata/golden_output/vndk-in-system/com.android.media.swcodec/ld.config.txt26
-rw-r--r--testdata/golden_output/vndk-in-system/com.android.runtime/ld.config.txt26
-rw-r--r--testdata/golden_output/vndk-in-system/com.android.sdkext/ld.config.txt26
-rw-r--r--testdata/golden_output/vndk-in-system/com.android.systemext1/ld.config.txt474
-rw-r--r--testdata/golden_output/vndk-in-system/com.product.service1/ld.config.txt26
-rw-r--r--testdata/golden_output/vndk-in-system/com.vendor.service1/ld.config.txt26
-rw-r--r--testdata/golden_output/vndk-in-system/com.vendor.service2/ld.config.txt26
-rw-r--r--testdata/golden_output/vndk-in-system/ld.config.txt130
-rw-r--r--testdata/root/system_ext/apex/com.android.systemext1/apex_manifest.json15
-rw-r--r--testdata/root/system_ext/apex/com.android.systemext1/bin/.keep0
-rw-r--r--testdata/root/system_ext/etc/linker.config.json8
63 files changed, 4078 insertions, 152 deletions
diff --git a/contents/section/apexdefault.cc b/contents/section/apexdefault.cc
index 0c9c5da..5c9c8c0 100644
--- a/contents/section/apexdefault.cc
+++ b/contents/section/apexdefault.cc
@@ -154,6 +154,16 @@ Section BuildApexDefaultSection(Context& ctx, const ApexInfo& apex_info) {
std::bind(BuildVndkNamespace, ctx, user_partition),
SharedLibs{{Var("VNDK_SAMEPROCESS_LIBRARIES_" + user_partition_suffix)}},
}};
+ } else if (apex_info.InProduct() || apex_info.InVendor()) {
+ // vendor or product partitions don't need this because they link LLNDK
+ // libs. however, vendor/product apexes still need to link LLNDK sanitizer
+ // libs even though these are not listed in "required".
+ libs_providers[":sanitizer"] = {LibProvider{
+ ctx.GetSystemNamespaceName(),
+ std::bind(BuildApexPlatformNamespace,
+ ctx), // "system" should be available
+ SharedLibs{{Var("SANITIZER_LIBRARIES_LLNDK")}},
+ }};
}
if (apex_info.InVendor()) {
diff --git a/generator/variableloader.cc b/generator/variableloader.cc
index 26615a5..33bdb10 100644
--- a/generator/variableloader.cc
+++ b/generator/variableloader.cc
@@ -156,9 +156,13 @@ void LoadLibraryListVariables(const std::string& root) {
LoadLlndkLibraryListVariables(root, GetVendorVndkVersion(), "VENDOR");
LoadLlndkLibraryListVariables(root, GetProductVndkVersion(), "PRODUCT");
+ auto llndk_library_path = root + "/system/etc/llndk.libraries.txt";
auto sanitizer_library_path = root + "/system/etc/sanitizer.libraries.txt";
Variables::AddValue("SANITIZER_RUNTIME_LIBRARIES",
GetLibrariesString(sanitizer_library_path));
+ Variables::AddValue(
+ "SANITIZER_LIBRARIES_LLNDK",
+ GetPrivateLibrariesString(sanitizer_library_path, llndk_library_path));
}
} // namespace
diff --git a/main.cc b/main.cc
index 9287471..3ef3e8b 100644
--- a/main.cc
+++ b/main.cc
@@ -238,6 +238,19 @@ Context GetContext(const ProgramArgs& args) {
}
}
+ std::string system_ext_config_path =
+ args.root + "/system_ext/etc/linker.config.pb";
+ if (access(system_ext_config_path.c_str(), F_OK) == 0) {
+ auto system_ext_config = android::linkerconfig::modules::ParseLinkerConfig(
+ system_ext_config_path);
+ if (system_ext_config.ok()) {
+ ctx.SetSystemConfig(*system_ext_config);
+ } else {
+ LOG(ERROR) << "Failed to read system_ext config : "
+ << system_ext_config.error();
+ }
+ }
+
std::string vendor_config_path = args.root + "/vendor/etc/linker.config.pb";
if (access(vendor_config_path.c_str(), F_OK) == 0) {
auto vendor_config =
diff --git a/modules/basecontext.cc b/modules/basecontext.cc
index a858d38..7bd379b 100644
--- a/modules/basecontext.cc
+++ b/modules/basecontext.cc
@@ -68,11 +68,14 @@ Namespace BaseContext::BuildApexNamespace(const ApexInfo& apex_info,
void BaseContext::SetSystemConfig(
const android::linkerconfig::proto::LinkerConfig& config) {
- system_provide_libs_ = {config.providelibs().begin(),
- config.providelibs().end()};
- system_require_libs_ = {config.requirelibs().begin(),
- config.requirelibs().end()};
+ system_provide_libs_.insert(system_provide_libs_.end(),
+ config.providelibs().begin(),
+ config.providelibs().end());
+ system_require_libs_.insert(system_require_libs_.end(),
+ config.requirelibs().begin(),
+ config.requirelibs().end());
}
+
const std::vector<std::string>& BaseContext::GetSystemProvideLibs() const {
return system_provide_libs_;
}
diff --git a/testdata/golden_output/deprecate_product_vndk/com.android.adbd/ld.config.txt b/testdata/golden_output/deprecate_product_vndk/com.android.adbd/ld.config.txt
index 0cb10ea..4d4c56f 100644
--- a/testdata/golden_output/deprecate_product_vndk/com.android.adbd/ld.config.txt
+++ b/testdata/golden_output/deprecate_product_vndk/com.android.adbd/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.adbd = /apex/com.android.adbd/bin
[com.android.adbd]
-additional.namespaces = com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.adbd/${LIB}
namespace.default.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -189,6 +189,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -381,12 +402,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/deprecate_product_vndk/com.android.art/ld.config.txt b/testdata/golden_output/deprecate_product_vndk/com.android.art/ld.config.txt
index 3103554..695b745 100644
--- a/testdata/golden_output/deprecate_product_vndk/com.android.art/ld.config.txt
+++ b/testdata/golden_output/deprecate_product_vndk/com.android.art/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.art = /apex/com.android.art/bin
[com.android.art]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service3,sphal,system,vndk
namespace.default.isolated = true
namespace.default.links = com_android_art,com_android_adbd,com_android_i18n,system,com_android_neuralnetworks
namespace.default.link.com_android_art.allow_all_shared_libs = true
@@ -223,6 +223,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service3.isolated = true
namespace.com_vendor_service3.visible = true
namespace.com_vendor_service3.search.paths = /apex/com.vendor.service3/${LIB}
@@ -441,12 +462,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/deprecate_product_vndk/com.android.conscrypt/ld.config.txt b/testdata/golden_output/deprecate_product_vndk/com.android.conscrypt/ld.config.txt
index 1dcea6e..f009e1e 100644
--- a/testdata/golden_output/deprecate_product_vndk/com.android.conscrypt/ld.config.txt
+++ b/testdata/golden_output/deprecate_product_vndk/com.android.conscrypt/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.conscrypt = /apex/com.android.conscrypt/bin
[com.android.conscrypt]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.conscrypt/${LIB}
namespace.default.permitted.paths = /apex/com.android.conscrypt/${LIB}
@@ -211,6 +211,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -403,12 +424,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/deprecate_product_vndk/com.android.media.swcodec/ld.config.txt b/testdata/golden_output/deprecate_product_vndk/com.android.media.swcodec/ld.config.txt
index ad917a9..c6c4ad3 100644
--- a/testdata/golden_output/deprecate_product_vndk/com.android.media.swcodec/ld.config.txt
+++ b/testdata/golden_output/deprecate_product_vndk/com.android.media.swcodec/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.media.swcodec = /apex/com.android.media.swcodec/bin
[com.android.media.swcodec]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.media.swcodec/${LIB}
namespace.default.permitted.paths = /apex/com.android.media.swcodec/${LIB}
@@ -210,6 +210,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -402,12 +423,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/deprecate_product_vndk/com.android.runtime/ld.config.txt b/testdata/golden_output/deprecate_product_vndk/com.android.runtime/ld.config.txt
index c5a9dd0..c57b6d2 100644
--- a/testdata/golden_output/deprecate_product_vndk/com.android.runtime/ld.config.txt
+++ b/testdata/golden_output/deprecate_product_vndk/com.android.runtime/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.runtime = /apex/com.android.runtime/bin
[com.android.runtime]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.links = com_android_runtime,system
namespace.default.link.com_android_runtime.allow_all_shared_libs = true
@@ -193,6 +193,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -385,12 +406,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/deprecate_product_vndk/com.android.sdkext/ld.config.txt b/testdata/golden_output/deprecate_product_vndk/com.android.sdkext/ld.config.txt
index 73612ca..7d70dbf 100644
--- a/testdata/golden_output/deprecate_product_vndk/com.android.sdkext/ld.config.txt
+++ b/testdata/golden_output/deprecate_product_vndk/com.android.sdkext/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.sdkext = /apex/com.android.sdkext/bin
[com.android.sdkext]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.sdkext/${LIB}
namespace.default.permitted.paths = /apex/com.android.sdkext/${LIB}
@@ -210,6 +210,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -402,12 +423,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/deprecate_product_vndk/com.android.systemext1/ld.config.txt b/testdata/golden_output/deprecate_product_vndk/com.android.systemext1/ld.config.txt
new file mode 100644
index 0000000..ffa5132
--- /dev/null
+++ b/testdata/golden_output/deprecate_product_vndk/com.android.systemext1/ld.config.txt
@@ -0,0 +1,474 @@
+dir.com.android.systemext1 = /apex/com.android.systemext1/bin
+[com.android.systemext1]
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+namespace.default.isolated = true
+namespace.default.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.permitted.paths += /system/${LIB}
+namespace.default.permitted.paths += /system_ext/${LIB}
+namespace.default.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.default.asan.permitted.paths += /system/${LIB}
+namespace.default.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.default.asan.permitted.paths += /system_ext/${LIB}
+namespace.default.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.default.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.default.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.default.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.default.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.default.hwasan.permitted.paths += /system/${LIB}
+namespace.default.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.default.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.default.links = system
+namespace.default.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_adbd.isolated = true
+namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.permitted.paths += /system/${LIB}
+namespace.com_android_adbd.permitted.paths += /system_ext/${LIB}
+namespace.com_android_adbd.asan.search.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.asan.permitted.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /system/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_adbd.hwasan.search.paths = /apex/com.android.adbd/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.search.paths += /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.hwasan.permitted.paths = /apex/com.android.adbd/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.permitted.paths += /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_adbd.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_adbd.links = system
+namespace.com_android_adbd.link.system.shared_libs = libadbd_auth.so:libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_art.isolated = true
+namespace.com_android_art.search.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.permitted.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.permitted.paths += /system/${LIB}
+namespace.com_android_art.permitted.paths += /system_ext/${LIB}
+namespace.com_android_art.permitted.paths += /data
+namespace.com_android_art.permitted.paths += /system/framework
+namespace.com_android_art.permitted.paths += /apex/com.android.art/javalib
+namespace.com_android_art.asan.search.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.asan.permitted.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_art.asan.permitted.paths += /system/${LIB}
+namespace.com_android_art.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_art.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_art.asan.permitted.paths += /data/asan/data
+namespace.com_android_art.asan.permitted.paths += /data
+namespace.com_android_art.asan.permitted.paths += /data/asan/system/framework
+namespace.com_android_art.asan.permitted.paths += /system/framework
+namespace.com_android_art.asan.permitted.paths += /apex/com.android.art/javalib
+namespace.com_android_art.hwasan.search.paths = /apex/com.android.art/${LIB}/hwasan
+namespace.com_android_art.hwasan.search.paths += /apex/com.android.art/${LIB}
+namespace.com_android_art.hwasan.permitted.paths = /apex/com.android.art/${LIB}/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /apex/com.android.art/${LIB}
+namespace.com_android_art.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_art.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_art.hwasan.permitted.paths += /data/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /data
+namespace.com_android_art.hwasan.permitted.paths += /system/framework/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /system/framework
+namespace.com_android_art.hwasan.permitted.paths += /apex/com.android.art/javalib/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /apex/com.android.art/javalib
+namespace.com_android_art.links = com_android_adbd,com_android_i18n,system,com_android_neuralnetworks
+namespace.com_android_art.link.com_android_adbd.shared_libs = libadbconnection_client.so
+namespace.com_android_art.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicu_jni.so:libicui18n.so:libicuuc.so
+namespace.com_android_art.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_art.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
+namespace.com_android_i18n.isolated = true
+namespace.com_android_i18n.search.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.permitted.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.permitted.paths += /system/${LIB}
+namespace.com_android_i18n.permitted.paths += /system_ext/${LIB}
+namespace.com_android_i18n.asan.search.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.asan.permitted.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /system/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_i18n.hwasan.search.paths = /apex/com.android.i18n/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.search.paths += /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.hwasan.permitted.paths = /apex/com.android.i18n/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.permitted.paths += /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_i18n.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_i18n.links = system
+namespace.com_android_i18n.link.system.shared_libs = libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_media.isolated = true
+namespace.com_android_media.visible = true
+namespace.com_android_media.search.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.permitted.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.permitted.paths += /system/${LIB}
+namespace.com_android_media.permitted.paths += /system_ext/${LIB}
+namespace.com_android_media.asan.search.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.asan.permitted.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_media.asan.permitted.paths += /system/${LIB}
+namespace.com_android_media.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_media.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_media.hwasan.search.paths = /apex/com.android.media/${LIB}/hwasan
+namespace.com_android_media.hwasan.search.paths += /apex/com.android.media/${LIB}
+namespace.com_android_media.hwasan.permitted.paths = /apex/com.android.media/${LIB}/hwasan
+namespace.com_android_media.hwasan.permitted.paths += /apex/com.android.media/${LIB}
+namespace.com_android_media.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_media.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_media.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_media.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_media.links = system
+namespace.com_android_media.link.system.shared_libs = libbinder_ndk.so:libc.so:libcgrouprc.so:libdl.so:liblog.so:libm.so:libmediandk.so:libvndksupport.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_neuralnetworks.isolated = true
+namespace.com_android_neuralnetworks.search.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.permitted.paths += /system/${LIB}
+namespace.com_android_neuralnetworks.permitted.paths += /system_ext/${LIB}
+namespace.com_android_neuralnetworks.asan.search.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /system/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_neuralnetworks.hwasan.search.paths = /apex/com.android.neuralnetworks/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.search.paths += /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.hwasan.permitted.paths = /apex/com.android.neuralnetworks/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_neuralnetworks.links = system
+namespace.com_android_neuralnetworks.link.system.shared_libs = libc.so:libcgrouprc.so:libdl.so:liblog.so:libm.so:libnativewindow.so:libneuralnetworks_packageinfo.so:libvndksupport.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_os_statsd.isolated = true
+namespace.com_android_os_statsd.search.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.permitted.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.permitted.paths += /system/${LIB}
+namespace.com_android_os_statsd.permitted.paths += /system_ext/${LIB}
+namespace.com_android_os_statsd.asan.search.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /system/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_os_statsd.hwasan.search.paths = /apex/com.android.os.statsd/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.search.paths += /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.hwasan.permitted.paths = /apex/com.android.os.statsd/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.permitted.paths += /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_os_statsd.links = system,com_android_art
+namespace.com_android_os_statsd.link.system.shared_libs = libbinder_ndk.so:libc.so:libdl.so:libincident.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_os_statsd.link.com_android_art.shared_libs = libnativehelper.so
+namespace.com_android_resolv.isolated = true
+namespace.com_android_resolv.search.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.permitted.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.permitted.paths += /system/${LIB}
+namespace.com_android_resolv.permitted.paths += /system_ext/${LIB}
+namespace.com_android_resolv.asan.search.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.asan.permitted.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /system/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_resolv.hwasan.search.paths = /apex/com.android.resolv/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.search.paths += /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.hwasan.permitted.paths = /apex/com.android.resolv/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.permitted.paths += /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_resolv.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_resolv.links = system
+namespace.com_android_resolv.link.system.shared_libs = libbinder_ndk.so:libc.so:libdl.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_runtime.isolated = true
+namespace.com_android_runtime.visible = true
+namespace.com_android_runtime.search.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.permitted.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.permitted.paths += /system/${LIB}
+namespace.com_android_runtime.permitted.paths += /system_ext/${LIB}
+namespace.com_android_runtime.asan.search.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.asan.permitted.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /system/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_runtime.hwasan.search.paths = /apex/com.android.runtime/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.search.paths += /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.hwasan.permitted.paths = /apex/com.android.runtime/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_runtime.links = system
+namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.isolated = true
+namespace.sphal.visible = true
+namespace.sphal.search.paths = /odm/${LIB}
+namespace.sphal.search.paths += /vendor/${LIB}
+namespace.sphal.search.paths += /vendor/${LIB}/egl
+namespace.sphal.search.paths += /vendor/${LIB}/hw
+namespace.sphal.permitted.paths = /odm/${LIB}
+namespace.sphal.permitted.paths += /vendor/${LIB}
+namespace.sphal.permitted.paths += /vendor/odm/${LIB}
+namespace.sphal.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
+namespace.sphal.asan.search.paths += /odm/${LIB}
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
+namespace.sphal.asan.search.paths += /vendor/${LIB}
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}/egl
+namespace.sphal.asan.search.paths += /vendor/${LIB}/egl
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}/hw
+namespace.sphal.asan.search.paths += /vendor/${LIB}/hw
+namespace.sphal.asan.permitted.paths = /data/asan/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /odm/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/vendor/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /vendor/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/system/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.hwasan.search.paths = /odm/${LIB}/hwasan
+namespace.sphal.hwasan.search.paths += /odm/${LIB}
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hwasan
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/egl/hwasan
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/egl
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hw/hwasan
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hw
+namespace.sphal.hwasan.permitted.paths = /odm/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /odm/${LIB}
+namespace.sphal.hwasan.permitted.paths += /vendor/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /vendor/${LIB}
+namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}
+namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.links = system,vndk,com_android_neuralnetworks
+namespace.sphal.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.link.vndk.shared_libs = android.hardware.graphics.common@1.0.so:android.hardware.graphics.common@1.1.so:android.hardware.graphics.common@1.2.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.mapper@2.1.so:android.hardware.graphics.mapper@3.0.so:android.hardware.renderscript@1.0.so:android.hidl.memory.token@1.0.so:android.hidl.memory@1.0-impl.so:android.hidl.memory@1.0.so:android.hidl.safe_union@1.0.so:libRSCpuRef.so:libRSDriver.so:libRS_internal.so:libbase.so:libbcinfo.so:libc++.so:libcutils.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libion.so:libjsoncpp.so:liblzma.so:libprocessgroup.so:libunwindstack.so:libutils.so:libutilscallstack.so:libz.so
+namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
+namespace.system.isolated = true
+namespace.system.visible = true
+namespace.system.search.paths = /system/${LIB}
+namespace.system.search.paths += /system_ext/${LIB}
+namespace.system.permitted.paths = /system/${LIB}/drm
+namespace.system.permitted.paths += /system/${LIB}/extractors
+namespace.system.permitted.paths += /system/${LIB}/hw
+namespace.system.permitted.paths += /system_ext/${LIB}
+namespace.system.permitted.paths += /system/framework
+namespace.system.permitted.paths += /system/app
+namespace.system.permitted.paths += /system/priv-app
+namespace.system.permitted.paths += /system_ext/framework
+namespace.system.permitted.paths += /system_ext/app
+namespace.system.permitted.paths += /system_ext/priv-app
+namespace.system.permitted.paths += /vendor/framework
+namespace.system.permitted.paths += /vendor/app
+namespace.system.permitted.paths += /vendor/priv-app
+namespace.system.permitted.paths += /system/vendor/framework
+namespace.system.permitted.paths += /system/vendor/app
+namespace.system.permitted.paths += /system/vendor/priv-app
+namespace.system.permitted.paths += /odm/framework
+namespace.system.permitted.paths += /odm/app
+namespace.system.permitted.paths += /odm/priv-app
+namespace.system.permitted.paths += /oem/app
+namespace.system.permitted.paths += /product/framework
+namespace.system.permitted.paths += /product/app
+namespace.system.permitted.paths += /product/priv-app
+namespace.system.permitted.paths += /data
+namespace.system.permitted.paths += /mnt/expand
+namespace.system.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.system.permitted.paths += /system/${LIB}/bootstrap
+namespace.system.asan.search.paths = /data/asan/system/${LIB}
+namespace.system.asan.search.paths += /system/${LIB}
+namespace.system.asan.search.paths += /data/asan/system_ext/${LIB}
+namespace.system.asan.search.paths += /system_ext/${LIB}
+namespace.system.asan.permitted.paths = /data/asan/system/${LIB}/drm
+namespace.system.asan.permitted.paths += /system/${LIB}/drm
+namespace.system.asan.permitted.paths += /data/asan/system/${LIB}/extractors
+namespace.system.asan.permitted.paths += /system/${LIB}/extractors
+namespace.system.asan.permitted.paths += /data/asan/system/${LIB}/hw
+namespace.system.asan.permitted.paths += /system/${LIB}/hw
+namespace.system.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.system.asan.permitted.paths += /system_ext/${LIB}
+namespace.system.asan.permitted.paths += /data/asan/system/framework
+namespace.system.asan.permitted.paths += /system/framework
+namespace.system.asan.permitted.paths += /data/asan/system/app
+namespace.system.asan.permitted.paths += /system/app
+namespace.system.asan.permitted.paths += /data/asan/system/priv-app
+namespace.system.asan.permitted.paths += /system/priv-app
+namespace.system.asan.permitted.paths += /data/asan/system_ext/framework
+namespace.system.asan.permitted.paths += /system_ext/framework
+namespace.system.asan.permitted.paths += /data/asan/system_ext/app
+namespace.system.asan.permitted.paths += /system_ext/app
+namespace.system.asan.permitted.paths += /data/asan/system_ext/priv-app
+namespace.system.asan.permitted.paths += /system_ext/priv-app
+namespace.system.asan.permitted.paths += /data/asan/vendor/framework
+namespace.system.asan.permitted.paths += /vendor/framework
+namespace.system.asan.permitted.paths += /data/asan/vendor/app
+namespace.system.asan.permitted.paths += /vendor/app
+namespace.system.asan.permitted.paths += /data/asan/vendor/priv-app
+namespace.system.asan.permitted.paths += /vendor/priv-app
+namespace.system.asan.permitted.paths += /data/asan/system/vendor/framework
+namespace.system.asan.permitted.paths += /system/vendor/framework
+namespace.system.asan.permitted.paths += /data/asan/system/vendor/app
+namespace.system.asan.permitted.paths += /system/vendor/app
+namespace.system.asan.permitted.paths += /data/asan/system/vendor/priv-app
+namespace.system.asan.permitted.paths += /system/vendor/priv-app
+namespace.system.asan.permitted.paths += /data/asan/odm/framework
+namespace.system.asan.permitted.paths += /odm/framework
+namespace.system.asan.permitted.paths += /data/asan/odm/app
+namespace.system.asan.permitted.paths += /odm/app
+namespace.system.asan.permitted.paths += /data/asan/odm/priv-app
+namespace.system.asan.permitted.paths += /odm/priv-app
+namespace.system.asan.permitted.paths += /data/asan/oem/app
+namespace.system.asan.permitted.paths += /oem/app
+namespace.system.asan.permitted.paths += /data/asan/product/framework
+namespace.system.asan.permitted.paths += /product/framework
+namespace.system.asan.permitted.paths += /data/asan/product/app
+namespace.system.asan.permitted.paths += /product/app
+namespace.system.asan.permitted.paths += /data/asan/product/priv-app
+namespace.system.asan.permitted.paths += /product/priv-app
+namespace.system.asan.permitted.paths += /data/asan/data
+namespace.system.asan.permitted.paths += /data
+namespace.system.asan.permitted.paths += /data/asan/mnt/expand
+namespace.system.asan.permitted.paths += /mnt/expand
+namespace.system.asan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.system.asan.permitted.paths += /data/asan/system/${LIB}/bootstrap
+namespace.system.asan.permitted.paths += /system/${LIB}/bootstrap
+namespace.system.hwasan.search.paths = /system/${LIB}/hwasan
+namespace.system.hwasan.search.paths += /system/${LIB}
+namespace.system.hwasan.search.paths += /system_ext/${LIB}/hwasan
+namespace.system.hwasan.search.paths += /system_ext/${LIB}
+namespace.system.hwasan.permitted.paths = /system/${LIB}/drm/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/drm
+namespace.system.hwasan.permitted.paths += /system/${LIB}/extractors/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/extractors
+namespace.system.hwasan.permitted.paths += /system/${LIB}/hw/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/hw
+namespace.system.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.system.hwasan.permitted.paths += /system/framework/hwasan
+namespace.system.hwasan.permitted.paths += /system/framework
+namespace.system.hwasan.permitted.paths += /system/app/hwasan
+namespace.system.hwasan.permitted.paths += /system/app
+namespace.system.hwasan.permitted.paths += /system/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /system/priv-app
+namespace.system.hwasan.permitted.paths += /system_ext/framework/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/framework
+namespace.system.hwasan.permitted.paths += /system_ext/app/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/app
+namespace.system.hwasan.permitted.paths += /system_ext/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/priv-app
+namespace.system.hwasan.permitted.paths += /vendor/framework/hwasan
+namespace.system.hwasan.permitted.paths += /vendor/framework
+namespace.system.hwasan.permitted.paths += /vendor/app/hwasan
+namespace.system.hwasan.permitted.paths += /vendor/app
+namespace.system.hwasan.permitted.paths += /vendor/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /vendor/priv-app
+namespace.system.hwasan.permitted.paths += /system/vendor/framework/hwasan
+namespace.system.hwasan.permitted.paths += /system/vendor/framework
+namespace.system.hwasan.permitted.paths += /system/vendor/app/hwasan
+namespace.system.hwasan.permitted.paths += /system/vendor/app
+namespace.system.hwasan.permitted.paths += /system/vendor/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /system/vendor/priv-app
+namespace.system.hwasan.permitted.paths += /odm/framework/hwasan
+namespace.system.hwasan.permitted.paths += /odm/framework
+namespace.system.hwasan.permitted.paths += /odm/app/hwasan
+namespace.system.hwasan.permitted.paths += /odm/app
+namespace.system.hwasan.permitted.paths += /odm/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /odm/priv-app
+namespace.system.hwasan.permitted.paths += /oem/app/hwasan
+namespace.system.hwasan.permitted.paths += /oem/app
+namespace.system.hwasan.permitted.paths += /product/framework/hwasan
+namespace.system.hwasan.permitted.paths += /product/framework
+namespace.system.hwasan.permitted.paths += /product/app/hwasan
+namespace.system.hwasan.permitted.paths += /product/app
+namespace.system.hwasan.permitted.paths += /product/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /product/priv-app
+namespace.system.hwasan.permitted.paths += /data/hwasan
+namespace.system.hwasan.permitted.paths += /data
+namespace.system.hwasan.permitted.paths += /mnt/expand/hwasan
+namespace.system.hwasan.permitted.paths += /mnt/expand
+namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic/hwasan
+namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,default
+namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
+namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
+namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
+namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
+namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.default.shared_libs = libsystemextrequire.so
+namespace.vndk.isolated = true
+namespace.vndk.visible = true
+namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
+namespace.vndk.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.search.paths += /apex/com.android.vndk.vR/${LIB}
+namespace.vndk.search.paths += /odm/${LIB}
+namespace.vndk.search.paths += /vendor/${LIB}
+namespace.vndk.permitted.paths = /odm/${LIB}/hw
+namespace.vndk.permitted.paths += /odm/${LIB}/egl
+namespace.vndk.permitted.paths += /vendor/${LIB}/hw
+namespace.vndk.permitted.paths += /vendor/${LIB}/egl
+namespace.vndk.permitted.paths += /system/vendor/${LIB}/hw
+namespace.vndk.permitted.paths += /system/vendor/${LIB}/egl
+namespace.vndk.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw
+namespace.vndk.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /odm/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /apex/com.android.vndk.vR/${LIB}
+namespace.vndk.asan.search.paths += /data/asan/odm/${LIB}
+namespace.vndk.asan.search.paths += /odm/${LIB}
+namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}
+namespace.vndk.asan.search.paths += /vendor/${LIB}
+namespace.vndk.asan.permitted.paths = /data/asan/odm/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /odm/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /data/asan/odm/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /odm/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /data/asan/system/vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /system/vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /data/asan/system/vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /system/vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw
+namespace.vndk.hwasan.search.paths = /odm/${LIB}/vndk-sp/hwasan
+namespace.vndk.hwasan.search.paths += /odm/${LIB}/vndk-sp
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}/vndk-sp/hwasan
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.hwasan.search.paths += /apex/com.android.vndk.vR/${LIB}/hwasan
+namespace.vndk.hwasan.search.paths += /apex/com.android.vndk.vR/${LIB}
+namespace.vndk.hwasan.search.paths += /odm/${LIB}/hwasan
+namespace.vndk.hwasan.search.paths += /odm/${LIB}
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}/hwasan
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}
+namespace.vndk.hwasan.permitted.paths = /odm/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /odm/${LIB}/hw
+namespace.vndk.hwasan.permitted.paths += /odm/${LIB}/egl/hwasan
+namespace.vndk.hwasan.permitted.paths += /odm/${LIB}/egl
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/hw
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/egl/hwasan
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/egl
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/hw
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/egl/hwasan
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/egl
+namespace.vndk.hwasan.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw
+namespace.vndk.links = system,com_android_neuralnetworks
+namespace.vndk.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.vndk.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
diff --git a/testdata/golden_output/deprecate_product_vndk/com.product.service1/ld.config.txt b/testdata/golden_output/deprecate_product_vndk/com.product.service1/ld.config.txt
index a67ffd1..edfadb8 100644
--- a/testdata/golden_output/deprecate_product_vndk/com.product.service1/ld.config.txt
+++ b/testdata/golden_output/deprecate_product_vndk/com.product.service1/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.product.service1 = /apex/com.product.service1/bin
[com.product.service1]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,product,sphal,system
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,product,sphal,system
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.product.service1/${LIB}
namespace.default.permitted.paths = /apex/com.product.service1/${LIB}
@@ -21,7 +21,7 @@ namespace.default.hwasan.permitted.paths += /system/${LIB}
namespace.default.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
namespace.default.hwasan.permitted.paths += /system_ext/${LIB}
namespace.default.links = system
-namespace.default.link.system.shared_libs = libbinder_ndk.so:libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.default.link.system.shared_libs = libclang_rt.asan-i686-android.so:libbinder_ndk.so:libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -210,6 +210,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.product.isolated = true
namespace.product.visible = true
namespace.product.search.paths = /product/${LIB}
@@ -417,9 +438,10 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
diff --git a/testdata/golden_output/deprecate_product_vndk/com.vendor.service1/ld.config.txt b/testdata/golden_output/deprecate_product_vndk/com.vendor.service1/ld.config.txt
index 5876c95..8482eb6 100644
--- a/testdata/golden_output/deprecate_product_vndk/com.vendor.service1/ld.config.txt
+++ b/testdata/golden_output/deprecate_product_vndk/com.vendor.service1/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.vendor.service1 = /apex/com.vendor.service1/bin
[com.vendor.service1]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,rs,system,vendor,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,rs,system,vendor,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.vendor.service1/${LIB}
namespace.default.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -221,6 +221,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.rs.isolated = true
namespace.rs.visible = true
namespace.rs.search.paths = /odm/${LIB}/vndk-sp
@@ -416,12 +437,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vendor.isolated = true
namespace.vendor.visible = true
namespace.vendor.search.paths = /odm/${LIB}
diff --git a/testdata/golden_output/deprecate_product_vndk/com.vendor.service2/ld.config.txt b/testdata/golden_output/deprecate_product_vndk/com.vendor.service2/ld.config.txt
index 7d56d0b..c330d5b 100644
--- a/testdata/golden_output/deprecate_product_vndk/com.vendor.service2/ld.config.txt
+++ b/testdata/golden_output/deprecate_product_vndk/com.vendor.service2/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.vendor.service2 = /apex/com.vendor.service2/bin
[com.vendor.service2]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service1,mediacas,rs,system,vendor,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service1,mediacas,rs,system,vendor,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.vendor.service2/${LIB}
namespace.default.search.paths += /apex/com.vendor.service2/${LIB}/hw
@@ -215,6 +215,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service1.isolated = true
namespace.com_vendor_service1.search.paths = /apex/com.vendor.service1/${LIB}
namespace.com_vendor_service1.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -464,12 +485,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vendor.isolated = true
namespace.vendor.visible = true
namespace.vendor.search.paths = /odm/${LIB}
diff --git a/testdata/golden_output/deprecate_product_vndk/ld.config.txt b/testdata/golden_output/deprecate_product_vndk/ld.config.txt
index 48b8295..dc6b135 100644
--- a/testdata/golden_output/deprecate_product_vndk/ld.config.txt
+++ b/testdata/golden_output/deprecate_product_vndk/ld.config.txt
@@ -24,7 +24,7 @@ dir.postinstall = /postinstall
dir.system = /data
dir.system = /product/app/
[system]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_product_service1,com_vendor_service3,product,rs,sphal,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_product_service1,com_vendor_service3,product,rs,sphal,vndk
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /system/${LIB}
@@ -171,12 +171,13 @@ namespace.default.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bio
namespace.default.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.default.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.default.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.default.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.default.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.default.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.default.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.default.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.default.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -392,6 +393,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = default
namespace.com_android_runtime.link.default.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = default
+namespace.com_android_systemext1.link.default.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_product_service1.isolated = true
namespace.com_product_service1.search.paths = /apex/com.product.service1/${LIB}
namespace.com_product_service1.permitted.paths = /apex/com.product.service1/${LIB}
@@ -615,7 +637,7 @@ namespace.vndk.links = default,com_android_neuralnetworks
namespace.vndk.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.vndk.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[vendor]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service1,com_vendor_service3,rs,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service1,com_vendor_service3,rs,system,vndk
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /odm/${LIB}
@@ -850,6 +872,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service1.isolated = true
namespace.com_vendor_service1.search.paths = /apex/com.vendor.service1/${LIB}
namespace.com_vendor_service1.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -1102,12 +1145,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
namespace.vndk.search.paths += /odm/${LIB}/vndk
@@ -1172,7 +1216,7 @@ namespace.vndk.link.default.allow_all_shared_libs = true
namespace.vndk.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.vndk.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[product]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_product_service1,com_vendor_service3,system
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_product_service1,com_vendor_service3,system
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /product/${LIB}
@@ -1380,6 +1424,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_product_service1.isolated = true
namespace.com_product_service1.search.paths = /apex/com.product.service1/${LIB}
namespace.com_product_service1.permitted.paths = /apex/com.product.service1/${LIB}
@@ -1572,14 +1637,15 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
[unrestricted]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,rs,sphal,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service3,rs,sphal,vndk
namespace.default.isolated = false
namespace.default.visible = true
namespace.default.search.paths = /system/${LIB}
@@ -1607,12 +1673,13 @@ namespace.default.hwasan.search.paths += /vendor/${LIB}/hwasan
namespace.default.hwasan.search.paths += /vendor/${LIB}
namespace.default.hwasan.search.paths += /product/${LIB}/hwasan
namespace.default.hwasan.search.paths += /product/${LIB}
-namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.default.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.default.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.default.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.default.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.default.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.default.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -1828,6 +1895,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = default
namespace.com_android_runtime.link.default.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = default
+namespace.com_android_systemext1.link.default.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service3.isolated = true
namespace.com_vendor_service3.visible = true
namespace.com_vendor_service3.search.paths = /apex/com.vendor.service3/${LIB}
@@ -2031,7 +2119,7 @@ namespace.default.hwasan.search.paths += /system_ext/${LIB}
namespace.default.hwasan.search.paths += /product/${LIB}/hwasan
namespace.default.hwasan.search.paths += /product/${LIB}
[isolated]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,system
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service3,system
namespace.default.isolated = true
namespace.default.links = system
namespace.default.link.system.allow_all_shared_libs = true
@@ -2250,6 +2338,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service3.isolated = true
namespace.com_vendor_service3.visible = true
namespace.com_vendor_service3.search.paths = /apex/com.vendor.service3/${LIB}
@@ -2421,9 +2530,10 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
diff --git a/testdata/golden_output/deprecate_vndk/com.android.adbd/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.android.adbd/ld.config.txt
index c741be9..2e2ab9e 100644
--- a/testdata/golden_output/deprecate_vndk/com.android.adbd/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.android.adbd/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.adbd = /apex/com.android.adbd/bin
[com.android.adbd]
-additional.namespaces = com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system
+additional.namespaces = com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.adbd/${LIB}
namespace.default.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -189,6 +189,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -385,9 +406,10 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
diff --git a/testdata/golden_output/deprecate_vndk/com.android.art/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.android.art/ld.config.txt
index 473fb33..d53b934 100644
--- a/testdata/golden_output/deprecate_vndk/com.android.art/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.android.art/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.art = /apex/com.android.art/bin
[com.android.art]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,sphal,system
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service3,sphal,system
namespace.default.isolated = true
namespace.default.links = com_android_art,com_android_adbd,com_android_i18n,system,com_android_neuralnetworks
namespace.default.link.com_android_art.allow_all_shared_libs = true
@@ -223,6 +223,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service3.isolated = true
namespace.com_vendor_service3.visible = true
namespace.com_vendor_service3.search.paths = /apex/com.vendor.service3/${LIB}
@@ -445,9 +466,10 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
diff --git a/testdata/golden_output/deprecate_vndk/com.android.conscrypt/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.android.conscrypt/ld.config.txt
index be56485..2633569 100644
--- a/testdata/golden_output/deprecate_vndk/com.android.conscrypt/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.android.conscrypt/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.conscrypt = /apex/com.android.conscrypt/bin
[com.android.conscrypt]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.conscrypt/${LIB}
namespace.default.permitted.paths = /apex/com.android.conscrypt/${LIB}
@@ -211,6 +211,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -407,9 +428,10 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
diff --git a/testdata/golden_output/deprecate_vndk/com.android.media.swcodec/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.android.media.swcodec/ld.config.txt
index 017b0ac..73ef2d2 100644
--- a/testdata/golden_output/deprecate_vndk/com.android.media.swcodec/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.android.media.swcodec/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.media.swcodec = /apex/com.android.media.swcodec/bin
[com.android.media.swcodec]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.media.swcodec/${LIB}
namespace.default.permitted.paths = /apex/com.android.media.swcodec/${LIB}
@@ -210,6 +210,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -406,9 +427,10 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
diff --git a/testdata/golden_output/deprecate_vndk/com.android.runtime/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.android.runtime/ld.config.txt
index 80c8f1a..2e7143a 100644
--- a/testdata/golden_output/deprecate_vndk/com.android.runtime/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.android.runtime/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.runtime = /apex/com.android.runtime/bin
[com.android.runtime]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system
namespace.default.isolated = true
namespace.default.links = com_android_runtime,system
namespace.default.link.com_android_runtime.allow_all_shared_libs = true
@@ -193,6 +193,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -389,9 +410,10 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
diff --git a/testdata/golden_output/deprecate_vndk/com.android.sdkext/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.android.sdkext/ld.config.txt
index 8ad4d84..70e4fa9 100644
--- a/testdata/golden_output/deprecate_vndk/com.android.sdkext/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.android.sdkext/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.sdkext = /apex/com.android.sdkext/bin
[com.android.sdkext]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.sdkext/${LIB}
namespace.default.permitted.paths = /apex/com.android.sdkext/${LIB}
@@ -210,6 +210,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -406,9 +427,10 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
diff --git a/testdata/golden_output/deprecate_vndk/com.android.systemext1/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.android.systemext1/ld.config.txt
new file mode 100644
index 0000000..479dd81
--- /dev/null
+++ b/testdata/golden_output/deprecate_vndk/com.android.systemext1/ld.config.txt
@@ -0,0 +1,415 @@
+dir.com.android.systemext1 = /apex/com.android.systemext1/bin
+[com.android.systemext1]
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system
+namespace.default.isolated = true
+namespace.default.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.permitted.paths += /system/${LIB}
+namespace.default.permitted.paths += /system_ext/${LIB}
+namespace.default.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.default.asan.permitted.paths += /system/${LIB}
+namespace.default.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.default.asan.permitted.paths += /system_ext/${LIB}
+namespace.default.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.default.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.default.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.default.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.default.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.default.hwasan.permitted.paths += /system/${LIB}
+namespace.default.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.default.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.default.links = system
+namespace.default.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_adbd.isolated = true
+namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.permitted.paths += /system/${LIB}
+namespace.com_android_adbd.permitted.paths += /system_ext/${LIB}
+namespace.com_android_adbd.asan.search.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.asan.permitted.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /system/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_adbd.hwasan.search.paths = /apex/com.android.adbd/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.search.paths += /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.hwasan.permitted.paths = /apex/com.android.adbd/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.permitted.paths += /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_adbd.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_adbd.links = system
+namespace.com_android_adbd.link.system.shared_libs = libadbd_auth.so:libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_art.isolated = true
+namespace.com_android_art.search.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.permitted.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.permitted.paths += /system/${LIB}
+namespace.com_android_art.permitted.paths += /system_ext/${LIB}
+namespace.com_android_art.permitted.paths += /data
+namespace.com_android_art.permitted.paths += /system/framework
+namespace.com_android_art.permitted.paths += /apex/com.android.art/javalib
+namespace.com_android_art.asan.search.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.asan.permitted.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_art.asan.permitted.paths += /system/${LIB}
+namespace.com_android_art.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_art.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_art.asan.permitted.paths += /data/asan/data
+namespace.com_android_art.asan.permitted.paths += /data
+namespace.com_android_art.asan.permitted.paths += /data/asan/system/framework
+namespace.com_android_art.asan.permitted.paths += /system/framework
+namespace.com_android_art.asan.permitted.paths += /apex/com.android.art/javalib
+namespace.com_android_art.hwasan.search.paths = /apex/com.android.art/${LIB}/hwasan
+namespace.com_android_art.hwasan.search.paths += /apex/com.android.art/${LIB}
+namespace.com_android_art.hwasan.permitted.paths = /apex/com.android.art/${LIB}/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /apex/com.android.art/${LIB}
+namespace.com_android_art.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_art.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_art.hwasan.permitted.paths += /data/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /data
+namespace.com_android_art.hwasan.permitted.paths += /system/framework/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /system/framework
+namespace.com_android_art.hwasan.permitted.paths += /apex/com.android.art/javalib/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /apex/com.android.art/javalib
+namespace.com_android_art.links = com_android_adbd,com_android_i18n,system,com_android_neuralnetworks
+namespace.com_android_art.link.com_android_adbd.shared_libs = libadbconnection_client.so
+namespace.com_android_art.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicu_jni.so:libicui18n.so:libicuuc.so
+namespace.com_android_art.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_art.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
+namespace.com_android_i18n.isolated = true
+namespace.com_android_i18n.search.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.permitted.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.permitted.paths += /system/${LIB}
+namespace.com_android_i18n.permitted.paths += /system_ext/${LIB}
+namespace.com_android_i18n.asan.search.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.asan.permitted.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /system/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_i18n.hwasan.search.paths = /apex/com.android.i18n/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.search.paths += /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.hwasan.permitted.paths = /apex/com.android.i18n/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.permitted.paths += /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_i18n.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_i18n.links = system
+namespace.com_android_i18n.link.system.shared_libs = libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_media.isolated = true
+namespace.com_android_media.visible = true
+namespace.com_android_media.search.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.permitted.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.permitted.paths += /system/${LIB}
+namespace.com_android_media.permitted.paths += /system_ext/${LIB}
+namespace.com_android_media.asan.search.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.asan.permitted.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_media.asan.permitted.paths += /system/${LIB}
+namespace.com_android_media.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_media.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_media.hwasan.search.paths = /apex/com.android.media/${LIB}/hwasan
+namespace.com_android_media.hwasan.search.paths += /apex/com.android.media/${LIB}
+namespace.com_android_media.hwasan.permitted.paths = /apex/com.android.media/${LIB}/hwasan
+namespace.com_android_media.hwasan.permitted.paths += /apex/com.android.media/${LIB}
+namespace.com_android_media.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_media.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_media.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_media.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_media.links = system
+namespace.com_android_media.link.system.shared_libs = libbinder_ndk.so:libc.so:libcgrouprc.so:libdl.so:liblog.so:libm.so:libmediandk.so:libvndksupport.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_neuralnetworks.isolated = true
+namespace.com_android_neuralnetworks.search.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.permitted.paths += /system/${LIB}
+namespace.com_android_neuralnetworks.permitted.paths += /system_ext/${LIB}
+namespace.com_android_neuralnetworks.asan.search.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /system/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_neuralnetworks.hwasan.search.paths = /apex/com.android.neuralnetworks/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.search.paths += /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.hwasan.permitted.paths = /apex/com.android.neuralnetworks/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_neuralnetworks.links = system
+namespace.com_android_neuralnetworks.link.system.shared_libs = libc.so:libcgrouprc.so:libdl.so:liblog.so:libm.so:libnativewindow.so:libneuralnetworks_packageinfo.so:libvndksupport.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_os_statsd.isolated = true
+namespace.com_android_os_statsd.search.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.permitted.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.permitted.paths += /system/${LIB}
+namespace.com_android_os_statsd.permitted.paths += /system_ext/${LIB}
+namespace.com_android_os_statsd.asan.search.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /system/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_os_statsd.hwasan.search.paths = /apex/com.android.os.statsd/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.search.paths += /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.hwasan.permitted.paths = /apex/com.android.os.statsd/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.permitted.paths += /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_os_statsd.links = system,com_android_art
+namespace.com_android_os_statsd.link.system.shared_libs = libbinder_ndk.so:libc.so:libdl.so:libincident.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_os_statsd.link.com_android_art.shared_libs = libnativehelper.so
+namespace.com_android_resolv.isolated = true
+namespace.com_android_resolv.search.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.permitted.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.permitted.paths += /system/${LIB}
+namespace.com_android_resolv.permitted.paths += /system_ext/${LIB}
+namespace.com_android_resolv.asan.search.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.asan.permitted.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /system/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_resolv.hwasan.search.paths = /apex/com.android.resolv/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.search.paths += /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.hwasan.permitted.paths = /apex/com.android.resolv/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.permitted.paths += /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_resolv.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_resolv.links = system
+namespace.com_android_resolv.link.system.shared_libs = libbinder_ndk.so:libc.so:libdl.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_runtime.isolated = true
+namespace.com_android_runtime.visible = true
+namespace.com_android_runtime.search.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.permitted.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.permitted.paths += /system/${LIB}
+namespace.com_android_runtime.permitted.paths += /system_ext/${LIB}
+namespace.com_android_runtime.asan.search.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.asan.permitted.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /system/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_runtime.hwasan.search.paths = /apex/com.android.runtime/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.search.paths += /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.hwasan.permitted.paths = /apex/com.android.runtime/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_runtime.links = system
+namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.isolated = true
+namespace.sphal.visible = true
+namespace.sphal.search.paths = /odm/${LIB}
+namespace.sphal.search.paths += /vendor/${LIB}
+namespace.sphal.search.paths += /vendor/${LIB}/egl
+namespace.sphal.search.paths += /vendor/${LIB}/hw
+namespace.sphal.permitted.paths = /odm/${LIB}
+namespace.sphal.permitted.paths += /vendor/${LIB}
+namespace.sphal.permitted.paths += /vendor/odm/${LIB}
+namespace.sphal.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.permitted.paths += /data
+namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
+namespace.sphal.asan.search.paths += /odm/${LIB}
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
+namespace.sphal.asan.search.paths += /vendor/${LIB}
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}/egl
+namespace.sphal.asan.search.paths += /vendor/${LIB}/egl
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}/hw
+namespace.sphal.asan.search.paths += /vendor/${LIB}/hw
+namespace.sphal.asan.permitted.paths = /data/asan/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /odm/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/vendor/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /vendor/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/system/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/data
+namespace.sphal.asan.permitted.paths += /data
+namespace.sphal.hwasan.search.paths = /odm/${LIB}/hwasan
+namespace.sphal.hwasan.search.paths += /odm/${LIB}
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hwasan
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/egl/hwasan
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/egl
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hw/hwasan
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hw
+namespace.sphal.hwasan.permitted.paths = /odm/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /odm/${LIB}
+namespace.sphal.hwasan.permitted.paths += /vendor/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /vendor/${LIB}
+namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}
+namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.hwasan.permitted.paths += /data/hwasan
+namespace.sphal.hwasan.permitted.paths += /data
+namespace.sphal.links = system,com_android_neuralnetworks
+namespace.sphal.link.system.shared_libs = libft2.so:libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
+namespace.system.isolated = true
+namespace.system.visible = true
+namespace.system.search.paths = /system/${LIB}
+namespace.system.search.paths += /system_ext/${LIB}
+namespace.system.permitted.paths = /system/${LIB}/drm
+namespace.system.permitted.paths += /system/${LIB}/extractors
+namespace.system.permitted.paths += /system/${LIB}/hw
+namespace.system.permitted.paths += /system_ext/${LIB}
+namespace.system.permitted.paths += /system/framework
+namespace.system.permitted.paths += /system/app
+namespace.system.permitted.paths += /system/priv-app
+namespace.system.permitted.paths += /system_ext/framework
+namespace.system.permitted.paths += /system_ext/app
+namespace.system.permitted.paths += /system_ext/priv-app
+namespace.system.permitted.paths += /vendor/framework
+namespace.system.permitted.paths += /vendor/app
+namespace.system.permitted.paths += /vendor/priv-app
+namespace.system.permitted.paths += /system/vendor/framework
+namespace.system.permitted.paths += /system/vendor/app
+namespace.system.permitted.paths += /system/vendor/priv-app
+namespace.system.permitted.paths += /odm/framework
+namespace.system.permitted.paths += /odm/app
+namespace.system.permitted.paths += /odm/priv-app
+namespace.system.permitted.paths += /oem/app
+namespace.system.permitted.paths += /product/framework
+namespace.system.permitted.paths += /product/app
+namespace.system.permitted.paths += /product/priv-app
+namespace.system.permitted.paths += /data
+namespace.system.permitted.paths += /mnt/expand
+namespace.system.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.system.permitted.paths += /system/${LIB}/bootstrap
+namespace.system.asan.search.paths = /data/asan/system/${LIB}
+namespace.system.asan.search.paths += /system/${LIB}
+namespace.system.asan.search.paths += /data/asan/system_ext/${LIB}
+namespace.system.asan.search.paths += /system_ext/${LIB}
+namespace.system.asan.permitted.paths = /data/asan/system/${LIB}/drm
+namespace.system.asan.permitted.paths += /system/${LIB}/drm
+namespace.system.asan.permitted.paths += /data/asan/system/${LIB}/extractors
+namespace.system.asan.permitted.paths += /system/${LIB}/extractors
+namespace.system.asan.permitted.paths += /data/asan/system/${LIB}/hw
+namespace.system.asan.permitted.paths += /system/${LIB}/hw
+namespace.system.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.system.asan.permitted.paths += /system_ext/${LIB}
+namespace.system.asan.permitted.paths += /data/asan/system/framework
+namespace.system.asan.permitted.paths += /system/framework
+namespace.system.asan.permitted.paths += /data/asan/system/app
+namespace.system.asan.permitted.paths += /system/app
+namespace.system.asan.permitted.paths += /data/asan/system/priv-app
+namespace.system.asan.permitted.paths += /system/priv-app
+namespace.system.asan.permitted.paths += /data/asan/system_ext/framework
+namespace.system.asan.permitted.paths += /system_ext/framework
+namespace.system.asan.permitted.paths += /data/asan/system_ext/app
+namespace.system.asan.permitted.paths += /system_ext/app
+namespace.system.asan.permitted.paths += /data/asan/system_ext/priv-app
+namespace.system.asan.permitted.paths += /system_ext/priv-app
+namespace.system.asan.permitted.paths += /data/asan/vendor/framework
+namespace.system.asan.permitted.paths += /vendor/framework
+namespace.system.asan.permitted.paths += /data/asan/vendor/app
+namespace.system.asan.permitted.paths += /vendor/app
+namespace.system.asan.permitted.paths += /data/asan/vendor/priv-app
+namespace.system.asan.permitted.paths += /vendor/priv-app
+namespace.system.asan.permitted.paths += /data/asan/system/vendor/framework
+namespace.system.asan.permitted.paths += /system/vendor/framework
+namespace.system.asan.permitted.paths += /data/asan/system/vendor/app
+namespace.system.asan.permitted.paths += /system/vendor/app
+namespace.system.asan.permitted.paths += /data/asan/system/vendor/priv-app
+namespace.system.asan.permitted.paths += /system/vendor/priv-app
+namespace.system.asan.permitted.paths += /data/asan/odm/framework
+namespace.system.asan.permitted.paths += /odm/framework
+namespace.system.asan.permitted.paths += /data/asan/odm/app
+namespace.system.asan.permitted.paths += /odm/app
+namespace.system.asan.permitted.paths += /data/asan/odm/priv-app
+namespace.system.asan.permitted.paths += /odm/priv-app
+namespace.system.asan.permitted.paths += /data/asan/oem/app
+namespace.system.asan.permitted.paths += /oem/app
+namespace.system.asan.permitted.paths += /data/asan/product/framework
+namespace.system.asan.permitted.paths += /product/framework
+namespace.system.asan.permitted.paths += /data/asan/product/app
+namespace.system.asan.permitted.paths += /product/app
+namespace.system.asan.permitted.paths += /data/asan/product/priv-app
+namespace.system.asan.permitted.paths += /product/priv-app
+namespace.system.asan.permitted.paths += /data/asan/data
+namespace.system.asan.permitted.paths += /data
+namespace.system.asan.permitted.paths += /data/asan/mnt/expand
+namespace.system.asan.permitted.paths += /mnt/expand
+namespace.system.asan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.system.asan.permitted.paths += /data/asan/system/${LIB}/bootstrap
+namespace.system.asan.permitted.paths += /system/${LIB}/bootstrap
+namespace.system.hwasan.search.paths = /system/${LIB}/hwasan
+namespace.system.hwasan.search.paths += /system/${LIB}
+namespace.system.hwasan.search.paths += /system_ext/${LIB}/hwasan
+namespace.system.hwasan.search.paths += /system_ext/${LIB}
+namespace.system.hwasan.permitted.paths = /system/${LIB}/drm/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/drm
+namespace.system.hwasan.permitted.paths += /system/${LIB}/extractors/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/extractors
+namespace.system.hwasan.permitted.paths += /system/${LIB}/hw/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/hw
+namespace.system.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.system.hwasan.permitted.paths += /system/framework/hwasan
+namespace.system.hwasan.permitted.paths += /system/framework
+namespace.system.hwasan.permitted.paths += /system/app/hwasan
+namespace.system.hwasan.permitted.paths += /system/app
+namespace.system.hwasan.permitted.paths += /system/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /system/priv-app
+namespace.system.hwasan.permitted.paths += /system_ext/framework/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/framework
+namespace.system.hwasan.permitted.paths += /system_ext/app/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/app
+namespace.system.hwasan.permitted.paths += /system_ext/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/priv-app
+namespace.system.hwasan.permitted.paths += /vendor/framework/hwasan
+namespace.system.hwasan.permitted.paths += /vendor/framework
+namespace.system.hwasan.permitted.paths += /vendor/app/hwasan
+namespace.system.hwasan.permitted.paths += /vendor/app
+namespace.system.hwasan.permitted.paths += /vendor/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /vendor/priv-app
+namespace.system.hwasan.permitted.paths += /system/vendor/framework/hwasan
+namespace.system.hwasan.permitted.paths += /system/vendor/framework
+namespace.system.hwasan.permitted.paths += /system/vendor/app/hwasan
+namespace.system.hwasan.permitted.paths += /system/vendor/app
+namespace.system.hwasan.permitted.paths += /system/vendor/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /system/vendor/priv-app
+namespace.system.hwasan.permitted.paths += /odm/framework/hwasan
+namespace.system.hwasan.permitted.paths += /odm/framework
+namespace.system.hwasan.permitted.paths += /odm/app/hwasan
+namespace.system.hwasan.permitted.paths += /odm/app
+namespace.system.hwasan.permitted.paths += /odm/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /odm/priv-app
+namespace.system.hwasan.permitted.paths += /oem/app/hwasan
+namespace.system.hwasan.permitted.paths += /oem/app
+namespace.system.hwasan.permitted.paths += /product/framework/hwasan
+namespace.system.hwasan.permitted.paths += /product/framework
+namespace.system.hwasan.permitted.paths += /product/app/hwasan
+namespace.system.hwasan.permitted.paths += /product/app
+namespace.system.hwasan.permitted.paths += /product/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /product/priv-app
+namespace.system.hwasan.permitted.paths += /data/hwasan
+namespace.system.hwasan.permitted.paths += /data
+namespace.system.hwasan.permitted.paths += /mnt/expand/hwasan
+namespace.system.hwasan.permitted.paths += /mnt/expand
+namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic/hwasan
+namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,default
+namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
+namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
+namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
+namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
+namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.default.shared_libs = libsystemextrequire.so
diff --git a/testdata/golden_output/deprecate_vndk/com.product.service1/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.product.service1/ld.config.txt
index c5371e4..804bc77 100644
--- a/testdata/golden_output/deprecate_vndk/com.product.service1/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.product.service1/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.product.service1 = /apex/com.product.service1/bin
[com.product.service1]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,product,sphal,system
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,product,sphal,system
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.product.service1/${LIB}
namespace.default.permitted.paths = /apex/com.product.service1/${LIB}
@@ -21,7 +21,7 @@ namespace.default.hwasan.permitted.paths += /system/${LIB}
namespace.default.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
namespace.default.hwasan.permitted.paths += /system_ext/${LIB}
namespace.default.links = system
-namespace.default.link.system.shared_libs = libbinder_ndk.so:libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.default.link.system.shared_libs = libclang_rt.asan-i686-android.so:libbinder_ndk.so:libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -210,6 +210,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.product.isolated = true
namespace.product.visible = true
namespace.product.search.paths = /product/${LIB}
@@ -422,9 +443,10 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
diff --git a/testdata/golden_output/deprecate_vndk/com.vendor.service1/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.vendor.service1/ld.config.txt
index 3e9c37c..6575eea 100644
--- a/testdata/golden_output/deprecate_vndk/com.vendor.service1/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.vendor.service1/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.vendor.service1 = /apex/com.vendor.service1/bin
[com.vendor.service1]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,rs,system,vendor
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,rs,system,vendor
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.vendor.service1/${LIB}
namespace.default.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -29,9 +29,9 @@ namespace.default.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
namespace.default.hwasan.permitted.paths += /system_ext/${LIB}
namespace.default.hwasan.permitted.paths += /vendor/${LIB}/egl/hwasan
namespace.default.hwasan.permitted.paths += /vendor/${LIB}/egl
-namespace.default.links = vendor,system
+namespace.default.links = system,vendor
+namespace.default.link.system.shared_libs = libclang_rt.asan-i686-android.so:libbinder_ndk.so:libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.default.link.vendor.shared_libs = libbinder.so:libvendorprovide.so
-namespace.default.link.system.shared_libs = libbinder_ndk.so:libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -220,6 +220,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.rs.isolated = true
namespace.rs.visible = true
namespace.rs.search.paths = /odm/${LIB}/vndk-sp
@@ -411,12 +432,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vendor.isolated = true
namespace.vendor.visible = true
namespace.vendor.search.paths = /odm/${LIB}
diff --git a/testdata/golden_output/deprecate_vndk/com.vendor.service2/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.vendor.service2/ld.config.txt
index 313eefc..e568f99 100644
--- a/testdata/golden_output/deprecate_vndk/com.vendor.service2/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.vendor.service2/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.vendor.service2 = /apex/com.vendor.service2/bin
[com.vendor.service2]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service1,mediacas,rs,system,vendor
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service1,mediacas,rs,system,vendor
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.vendor.service2/${LIB}
namespace.default.search.paths += /apex/com.vendor.service2/${LIB}/hw
@@ -24,10 +24,10 @@ namespace.default.hwasan.permitted.paths += /system/${LIB}/hwasan
namespace.default.hwasan.permitted.paths += /system/${LIB}
namespace.default.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
namespace.default.hwasan.permitted.paths += /system_ext/${LIB}
-namespace.default.links = mediacas,vendor,system
+namespace.default.links = mediacas,system,vendor
namespace.default.link.mediacas.allow_all_shared_libs = true
+namespace.default.link.system.shared_libs = libclang_rt.asan-i686-android.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.default.link.vendor.shared_libs = libbinder.so
-namespace.default.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -216,6 +216,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service1.isolated = true
namespace.com_vendor_service1.search.paths = /apex/com.vendor.service1/${LIB}
namespace.com_vendor_service1.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -459,12 +480,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vendor.isolated = true
namespace.vendor.visible = true
namespace.vendor.search.paths = /odm/${LIB}
diff --git a/testdata/golden_output/deprecate_vndk/ld.config.txt b/testdata/golden_output/deprecate_vndk/ld.config.txt
index bf20c2c..63d2964 100644
--- a/testdata/golden_output/deprecate_vndk/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/ld.config.txt
@@ -24,7 +24,7 @@ dir.postinstall = /postinstall
dir.system = /data
dir.system = /product/app/
[system]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_product_service1,com_vendor_service3,product,rs,sphal
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_product_service1,com_vendor_service3,product,rs,sphal
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /system/${LIB}
@@ -171,12 +171,13 @@ namespace.default.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bio
namespace.default.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.default.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.default.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.default.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.default.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.default.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.default.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.default.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.default.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -392,6 +393,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = default
namespace.com_android_runtime.link.default.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = default
+namespace.com_android_systemext1.link.default.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_product_service1.isolated = true
namespace.com_product_service1.search.paths = /apex/com.product.service1/${LIB}
namespace.com_product_service1.permitted.paths = /apex/com.product.service1/${LIB}
@@ -552,7 +574,7 @@ namespace.sphal.link.default.shared_libs = libft2.so:libEGL.so:libGLESv1_CM.so:l
namespace.sphal.link.rs.shared_libs = libRS_internal.so
namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[vendor]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service1,com_vendor_service3,rs,system
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service1,com_vendor_service3,rs,system
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /odm/${LIB}
@@ -786,6 +808,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service1.isolated = true
namespace.com_vendor_service1.search.paths = /apex/com.vendor.service1/${LIB}
namespace.com_vendor_service1.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -1034,14 +1077,15 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
[product]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_product_service1,com_vendor_service3,system
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_product_service1,com_vendor_service3,system
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /product/${LIB}
@@ -1249,6 +1293,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_product_service1.isolated = true
namespace.com_product_service1.search.paths = /apex/com.product.service1/${LIB}
namespace.com_product_service1.permitted.paths = /apex/com.product.service1/${LIB}
@@ -1441,14 +1506,15 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
[unrestricted]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,rs,sphal
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service3,rs,sphal
namespace.default.isolated = false
namespace.default.visible = true
namespace.default.search.paths = /system/${LIB}
@@ -1476,12 +1542,13 @@ namespace.default.hwasan.search.paths += /vendor/${LIB}/hwasan
namespace.default.hwasan.search.paths += /vendor/${LIB}
namespace.default.hwasan.search.paths += /product/${LIB}/hwasan
namespace.default.hwasan.search.paths += /product/${LIB}
-namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.default.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.default.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.default.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.default.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.default.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.default.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -1697,6 +1764,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = default
namespace.com_android_runtime.link.default.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = default
+namespace.com_android_systemext1.link.default.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service3.isolated = true
namespace.com_vendor_service3.visible = true
namespace.com_vendor_service3.search.paths = /apex/com.vendor.service3/${LIB}
@@ -1837,7 +1925,7 @@ namespace.default.hwasan.search.paths += /system_ext/${LIB}
namespace.default.hwasan.search.paths += /product/${LIB}/hwasan
namespace.default.hwasan.search.paths += /product/${LIB}
[isolated]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,system
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service3,system
namespace.default.isolated = true
namespace.default.links = system
namespace.default.link.system.allow_all_shared_libs = true
@@ -2056,6 +2144,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service3.isolated = true
namespace.com_vendor_service3.visible = true
namespace.com_vendor_service3.search.paths = /apex/com.vendor.service3/${LIB}
@@ -2227,9 +2336,10 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
diff --git a/testdata/golden_output/gen-only-a-single-apex/com.vendor.service2/ld.config.txt b/testdata/golden_output/gen-only-a-single-apex/com.vendor.service2/ld.config.txt
index 7d56d0b..c330d5b 100644
--- a/testdata/golden_output/gen-only-a-single-apex/com.vendor.service2/ld.config.txt
+++ b/testdata/golden_output/gen-only-a-single-apex/com.vendor.service2/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.vendor.service2 = /apex/com.vendor.service2/bin
[com.vendor.service2]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service1,mediacas,rs,system,vendor,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service1,mediacas,rs,system,vendor,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.vendor.service2/${LIB}
namespace.default.search.paths += /apex/com.vendor.service2/${LIB}/hw
@@ -215,6 +215,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service1.isolated = true
namespace.com_vendor_service1.search.paths = /apex/com.vendor.service1/${LIB}
namespace.com_vendor_service1.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -464,12 +485,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vendor.isolated = true
namespace.vendor.visible = true
namespace.vendor.search.paths = /odm/${LIB}
diff --git a/testdata/golden_output/guest/com.android.adbd/ld.config.txt b/testdata/golden_output/guest/com.android.adbd/ld.config.txt
index 0cb10ea..4d4c56f 100644
--- a/testdata/golden_output/guest/com.android.adbd/ld.config.txt
+++ b/testdata/golden_output/guest/com.android.adbd/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.adbd = /apex/com.android.adbd/bin
[com.android.adbd]
-additional.namespaces = com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.adbd/${LIB}
namespace.default.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -189,6 +189,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -381,12 +402,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/guest/com.android.art/ld.config.txt b/testdata/golden_output/guest/com.android.art/ld.config.txt
index 3103554..695b745 100644
--- a/testdata/golden_output/guest/com.android.art/ld.config.txt
+++ b/testdata/golden_output/guest/com.android.art/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.art = /apex/com.android.art/bin
[com.android.art]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service3,sphal,system,vndk
namespace.default.isolated = true
namespace.default.links = com_android_art,com_android_adbd,com_android_i18n,system,com_android_neuralnetworks
namespace.default.link.com_android_art.allow_all_shared_libs = true
@@ -223,6 +223,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service3.isolated = true
namespace.com_vendor_service3.visible = true
namespace.com_vendor_service3.search.paths = /apex/com.vendor.service3/${LIB}
@@ -441,12 +462,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/guest/com.android.conscrypt/ld.config.txt b/testdata/golden_output/guest/com.android.conscrypt/ld.config.txt
index 1dcea6e..f009e1e 100644
--- a/testdata/golden_output/guest/com.android.conscrypt/ld.config.txt
+++ b/testdata/golden_output/guest/com.android.conscrypt/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.conscrypt = /apex/com.android.conscrypt/bin
[com.android.conscrypt]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.conscrypt/${LIB}
namespace.default.permitted.paths = /apex/com.android.conscrypt/${LIB}
@@ -211,6 +211,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -403,12 +424,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/guest/com.android.media.swcodec/ld.config.txt b/testdata/golden_output/guest/com.android.media.swcodec/ld.config.txt
index ad917a9..c6c4ad3 100644
--- a/testdata/golden_output/guest/com.android.media.swcodec/ld.config.txt
+++ b/testdata/golden_output/guest/com.android.media.swcodec/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.media.swcodec = /apex/com.android.media.swcodec/bin
[com.android.media.swcodec]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.media.swcodec/${LIB}
namespace.default.permitted.paths = /apex/com.android.media.swcodec/${LIB}
@@ -210,6 +210,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -402,12 +423,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/guest/com.android.runtime/ld.config.txt b/testdata/golden_output/guest/com.android.runtime/ld.config.txt
index c5a9dd0..c57b6d2 100644
--- a/testdata/golden_output/guest/com.android.runtime/ld.config.txt
+++ b/testdata/golden_output/guest/com.android.runtime/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.runtime = /apex/com.android.runtime/bin
[com.android.runtime]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.links = com_android_runtime,system
namespace.default.link.com_android_runtime.allow_all_shared_libs = true
@@ -193,6 +193,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -385,12 +406,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/guest/com.android.sdkext/ld.config.txt b/testdata/golden_output/guest/com.android.sdkext/ld.config.txt
index 73612ca..7d70dbf 100644
--- a/testdata/golden_output/guest/com.android.sdkext/ld.config.txt
+++ b/testdata/golden_output/guest/com.android.sdkext/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.sdkext = /apex/com.android.sdkext/bin
[com.android.sdkext]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.sdkext/${LIB}
namespace.default.permitted.paths = /apex/com.android.sdkext/${LIB}
@@ -210,6 +210,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -402,12 +423,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/guest/com.android.systemext1/ld.config.txt b/testdata/golden_output/guest/com.android.systemext1/ld.config.txt
new file mode 100644
index 0000000..ffa5132
--- /dev/null
+++ b/testdata/golden_output/guest/com.android.systemext1/ld.config.txt
@@ -0,0 +1,474 @@
+dir.com.android.systemext1 = /apex/com.android.systemext1/bin
+[com.android.systemext1]
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+namespace.default.isolated = true
+namespace.default.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.permitted.paths += /system/${LIB}
+namespace.default.permitted.paths += /system_ext/${LIB}
+namespace.default.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.default.asan.permitted.paths += /system/${LIB}
+namespace.default.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.default.asan.permitted.paths += /system_ext/${LIB}
+namespace.default.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.default.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.default.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.default.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.default.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.default.hwasan.permitted.paths += /system/${LIB}
+namespace.default.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.default.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.default.links = system
+namespace.default.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_adbd.isolated = true
+namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.permitted.paths += /system/${LIB}
+namespace.com_android_adbd.permitted.paths += /system_ext/${LIB}
+namespace.com_android_adbd.asan.search.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.asan.permitted.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /system/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_adbd.hwasan.search.paths = /apex/com.android.adbd/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.search.paths += /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.hwasan.permitted.paths = /apex/com.android.adbd/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.permitted.paths += /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_adbd.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_adbd.links = system
+namespace.com_android_adbd.link.system.shared_libs = libadbd_auth.so:libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_art.isolated = true
+namespace.com_android_art.search.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.permitted.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.permitted.paths += /system/${LIB}
+namespace.com_android_art.permitted.paths += /system_ext/${LIB}
+namespace.com_android_art.permitted.paths += /data
+namespace.com_android_art.permitted.paths += /system/framework
+namespace.com_android_art.permitted.paths += /apex/com.android.art/javalib
+namespace.com_android_art.asan.search.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.asan.permitted.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_art.asan.permitted.paths += /system/${LIB}
+namespace.com_android_art.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_art.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_art.asan.permitted.paths += /data/asan/data
+namespace.com_android_art.asan.permitted.paths += /data
+namespace.com_android_art.asan.permitted.paths += /data/asan/system/framework
+namespace.com_android_art.asan.permitted.paths += /system/framework
+namespace.com_android_art.asan.permitted.paths += /apex/com.android.art/javalib
+namespace.com_android_art.hwasan.search.paths = /apex/com.android.art/${LIB}/hwasan
+namespace.com_android_art.hwasan.search.paths += /apex/com.android.art/${LIB}
+namespace.com_android_art.hwasan.permitted.paths = /apex/com.android.art/${LIB}/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /apex/com.android.art/${LIB}
+namespace.com_android_art.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_art.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_art.hwasan.permitted.paths += /data/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /data
+namespace.com_android_art.hwasan.permitted.paths += /system/framework/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /system/framework
+namespace.com_android_art.hwasan.permitted.paths += /apex/com.android.art/javalib/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /apex/com.android.art/javalib
+namespace.com_android_art.links = com_android_adbd,com_android_i18n,system,com_android_neuralnetworks
+namespace.com_android_art.link.com_android_adbd.shared_libs = libadbconnection_client.so
+namespace.com_android_art.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicu_jni.so:libicui18n.so:libicuuc.so
+namespace.com_android_art.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_art.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
+namespace.com_android_i18n.isolated = true
+namespace.com_android_i18n.search.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.permitted.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.permitted.paths += /system/${LIB}
+namespace.com_android_i18n.permitted.paths += /system_ext/${LIB}
+namespace.com_android_i18n.asan.search.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.asan.permitted.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /system/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_i18n.hwasan.search.paths = /apex/com.android.i18n/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.search.paths += /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.hwasan.permitted.paths = /apex/com.android.i18n/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.permitted.paths += /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_i18n.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_i18n.links = system
+namespace.com_android_i18n.link.system.shared_libs = libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_media.isolated = true
+namespace.com_android_media.visible = true
+namespace.com_android_media.search.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.permitted.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.permitted.paths += /system/${LIB}
+namespace.com_android_media.permitted.paths += /system_ext/${LIB}
+namespace.com_android_media.asan.search.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.asan.permitted.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_media.asan.permitted.paths += /system/${LIB}
+namespace.com_android_media.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_media.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_media.hwasan.search.paths = /apex/com.android.media/${LIB}/hwasan
+namespace.com_android_media.hwasan.search.paths += /apex/com.android.media/${LIB}
+namespace.com_android_media.hwasan.permitted.paths = /apex/com.android.media/${LIB}/hwasan
+namespace.com_android_media.hwasan.permitted.paths += /apex/com.android.media/${LIB}
+namespace.com_android_media.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_media.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_media.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_media.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_media.links = system
+namespace.com_android_media.link.system.shared_libs = libbinder_ndk.so:libc.so:libcgrouprc.so:libdl.so:liblog.so:libm.so:libmediandk.so:libvndksupport.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_neuralnetworks.isolated = true
+namespace.com_android_neuralnetworks.search.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.permitted.paths += /system/${LIB}
+namespace.com_android_neuralnetworks.permitted.paths += /system_ext/${LIB}
+namespace.com_android_neuralnetworks.asan.search.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /system/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_neuralnetworks.hwasan.search.paths = /apex/com.android.neuralnetworks/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.search.paths += /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.hwasan.permitted.paths = /apex/com.android.neuralnetworks/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_neuralnetworks.links = system
+namespace.com_android_neuralnetworks.link.system.shared_libs = libc.so:libcgrouprc.so:libdl.so:liblog.so:libm.so:libnativewindow.so:libneuralnetworks_packageinfo.so:libvndksupport.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_os_statsd.isolated = true
+namespace.com_android_os_statsd.search.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.permitted.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.permitted.paths += /system/${LIB}
+namespace.com_android_os_statsd.permitted.paths += /system_ext/${LIB}
+namespace.com_android_os_statsd.asan.search.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /system/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_os_statsd.hwasan.search.paths = /apex/com.android.os.statsd/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.search.paths += /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.hwasan.permitted.paths = /apex/com.android.os.statsd/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.permitted.paths += /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_os_statsd.links = system,com_android_art
+namespace.com_android_os_statsd.link.system.shared_libs = libbinder_ndk.so:libc.so:libdl.so:libincident.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_os_statsd.link.com_android_art.shared_libs = libnativehelper.so
+namespace.com_android_resolv.isolated = true
+namespace.com_android_resolv.search.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.permitted.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.permitted.paths += /system/${LIB}
+namespace.com_android_resolv.permitted.paths += /system_ext/${LIB}
+namespace.com_android_resolv.asan.search.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.asan.permitted.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /system/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_resolv.hwasan.search.paths = /apex/com.android.resolv/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.search.paths += /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.hwasan.permitted.paths = /apex/com.android.resolv/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.permitted.paths += /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_resolv.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_resolv.links = system
+namespace.com_android_resolv.link.system.shared_libs = libbinder_ndk.so:libc.so:libdl.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_runtime.isolated = true
+namespace.com_android_runtime.visible = true
+namespace.com_android_runtime.search.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.permitted.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.permitted.paths += /system/${LIB}
+namespace.com_android_runtime.permitted.paths += /system_ext/${LIB}
+namespace.com_android_runtime.asan.search.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.asan.permitted.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /system/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_runtime.hwasan.search.paths = /apex/com.android.runtime/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.search.paths += /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.hwasan.permitted.paths = /apex/com.android.runtime/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_runtime.links = system
+namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.isolated = true
+namespace.sphal.visible = true
+namespace.sphal.search.paths = /odm/${LIB}
+namespace.sphal.search.paths += /vendor/${LIB}
+namespace.sphal.search.paths += /vendor/${LIB}/egl
+namespace.sphal.search.paths += /vendor/${LIB}/hw
+namespace.sphal.permitted.paths = /odm/${LIB}
+namespace.sphal.permitted.paths += /vendor/${LIB}
+namespace.sphal.permitted.paths += /vendor/odm/${LIB}
+namespace.sphal.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
+namespace.sphal.asan.search.paths += /odm/${LIB}
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
+namespace.sphal.asan.search.paths += /vendor/${LIB}
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}/egl
+namespace.sphal.asan.search.paths += /vendor/${LIB}/egl
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}/hw
+namespace.sphal.asan.search.paths += /vendor/${LIB}/hw
+namespace.sphal.asan.permitted.paths = /data/asan/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /odm/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/vendor/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /vendor/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/system/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.hwasan.search.paths = /odm/${LIB}/hwasan
+namespace.sphal.hwasan.search.paths += /odm/${LIB}
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hwasan
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/egl/hwasan
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/egl
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hw/hwasan
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hw
+namespace.sphal.hwasan.permitted.paths = /odm/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /odm/${LIB}
+namespace.sphal.hwasan.permitted.paths += /vendor/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /vendor/${LIB}
+namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}
+namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.links = system,vndk,com_android_neuralnetworks
+namespace.sphal.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.link.vndk.shared_libs = android.hardware.graphics.common@1.0.so:android.hardware.graphics.common@1.1.so:android.hardware.graphics.common@1.2.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.mapper@2.1.so:android.hardware.graphics.mapper@3.0.so:android.hardware.renderscript@1.0.so:android.hidl.memory.token@1.0.so:android.hidl.memory@1.0-impl.so:android.hidl.memory@1.0.so:android.hidl.safe_union@1.0.so:libRSCpuRef.so:libRSDriver.so:libRS_internal.so:libbase.so:libbcinfo.so:libc++.so:libcutils.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libion.so:libjsoncpp.so:liblzma.so:libprocessgroup.so:libunwindstack.so:libutils.so:libutilscallstack.so:libz.so
+namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
+namespace.system.isolated = true
+namespace.system.visible = true
+namespace.system.search.paths = /system/${LIB}
+namespace.system.search.paths += /system_ext/${LIB}
+namespace.system.permitted.paths = /system/${LIB}/drm
+namespace.system.permitted.paths += /system/${LIB}/extractors
+namespace.system.permitted.paths += /system/${LIB}/hw
+namespace.system.permitted.paths += /system_ext/${LIB}
+namespace.system.permitted.paths += /system/framework
+namespace.system.permitted.paths += /system/app
+namespace.system.permitted.paths += /system/priv-app
+namespace.system.permitted.paths += /system_ext/framework
+namespace.system.permitted.paths += /system_ext/app
+namespace.system.permitted.paths += /system_ext/priv-app
+namespace.system.permitted.paths += /vendor/framework
+namespace.system.permitted.paths += /vendor/app
+namespace.system.permitted.paths += /vendor/priv-app
+namespace.system.permitted.paths += /system/vendor/framework
+namespace.system.permitted.paths += /system/vendor/app
+namespace.system.permitted.paths += /system/vendor/priv-app
+namespace.system.permitted.paths += /odm/framework
+namespace.system.permitted.paths += /odm/app
+namespace.system.permitted.paths += /odm/priv-app
+namespace.system.permitted.paths += /oem/app
+namespace.system.permitted.paths += /product/framework
+namespace.system.permitted.paths += /product/app
+namespace.system.permitted.paths += /product/priv-app
+namespace.system.permitted.paths += /data
+namespace.system.permitted.paths += /mnt/expand
+namespace.system.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.system.permitted.paths += /system/${LIB}/bootstrap
+namespace.system.asan.search.paths = /data/asan/system/${LIB}
+namespace.system.asan.search.paths += /system/${LIB}
+namespace.system.asan.search.paths += /data/asan/system_ext/${LIB}
+namespace.system.asan.search.paths += /system_ext/${LIB}
+namespace.system.asan.permitted.paths = /data/asan/system/${LIB}/drm
+namespace.system.asan.permitted.paths += /system/${LIB}/drm
+namespace.system.asan.permitted.paths += /data/asan/system/${LIB}/extractors
+namespace.system.asan.permitted.paths += /system/${LIB}/extractors
+namespace.system.asan.permitted.paths += /data/asan/system/${LIB}/hw
+namespace.system.asan.permitted.paths += /system/${LIB}/hw
+namespace.system.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.system.asan.permitted.paths += /system_ext/${LIB}
+namespace.system.asan.permitted.paths += /data/asan/system/framework
+namespace.system.asan.permitted.paths += /system/framework
+namespace.system.asan.permitted.paths += /data/asan/system/app
+namespace.system.asan.permitted.paths += /system/app
+namespace.system.asan.permitted.paths += /data/asan/system/priv-app
+namespace.system.asan.permitted.paths += /system/priv-app
+namespace.system.asan.permitted.paths += /data/asan/system_ext/framework
+namespace.system.asan.permitted.paths += /system_ext/framework
+namespace.system.asan.permitted.paths += /data/asan/system_ext/app
+namespace.system.asan.permitted.paths += /system_ext/app
+namespace.system.asan.permitted.paths += /data/asan/system_ext/priv-app
+namespace.system.asan.permitted.paths += /system_ext/priv-app
+namespace.system.asan.permitted.paths += /data/asan/vendor/framework
+namespace.system.asan.permitted.paths += /vendor/framework
+namespace.system.asan.permitted.paths += /data/asan/vendor/app
+namespace.system.asan.permitted.paths += /vendor/app
+namespace.system.asan.permitted.paths += /data/asan/vendor/priv-app
+namespace.system.asan.permitted.paths += /vendor/priv-app
+namespace.system.asan.permitted.paths += /data/asan/system/vendor/framework
+namespace.system.asan.permitted.paths += /system/vendor/framework
+namespace.system.asan.permitted.paths += /data/asan/system/vendor/app
+namespace.system.asan.permitted.paths += /system/vendor/app
+namespace.system.asan.permitted.paths += /data/asan/system/vendor/priv-app
+namespace.system.asan.permitted.paths += /system/vendor/priv-app
+namespace.system.asan.permitted.paths += /data/asan/odm/framework
+namespace.system.asan.permitted.paths += /odm/framework
+namespace.system.asan.permitted.paths += /data/asan/odm/app
+namespace.system.asan.permitted.paths += /odm/app
+namespace.system.asan.permitted.paths += /data/asan/odm/priv-app
+namespace.system.asan.permitted.paths += /odm/priv-app
+namespace.system.asan.permitted.paths += /data/asan/oem/app
+namespace.system.asan.permitted.paths += /oem/app
+namespace.system.asan.permitted.paths += /data/asan/product/framework
+namespace.system.asan.permitted.paths += /product/framework
+namespace.system.asan.permitted.paths += /data/asan/product/app
+namespace.system.asan.permitted.paths += /product/app
+namespace.system.asan.permitted.paths += /data/asan/product/priv-app
+namespace.system.asan.permitted.paths += /product/priv-app
+namespace.system.asan.permitted.paths += /data/asan/data
+namespace.system.asan.permitted.paths += /data
+namespace.system.asan.permitted.paths += /data/asan/mnt/expand
+namespace.system.asan.permitted.paths += /mnt/expand
+namespace.system.asan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.system.asan.permitted.paths += /data/asan/system/${LIB}/bootstrap
+namespace.system.asan.permitted.paths += /system/${LIB}/bootstrap
+namespace.system.hwasan.search.paths = /system/${LIB}/hwasan
+namespace.system.hwasan.search.paths += /system/${LIB}
+namespace.system.hwasan.search.paths += /system_ext/${LIB}/hwasan
+namespace.system.hwasan.search.paths += /system_ext/${LIB}
+namespace.system.hwasan.permitted.paths = /system/${LIB}/drm/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/drm
+namespace.system.hwasan.permitted.paths += /system/${LIB}/extractors/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/extractors
+namespace.system.hwasan.permitted.paths += /system/${LIB}/hw/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/hw
+namespace.system.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.system.hwasan.permitted.paths += /system/framework/hwasan
+namespace.system.hwasan.permitted.paths += /system/framework
+namespace.system.hwasan.permitted.paths += /system/app/hwasan
+namespace.system.hwasan.permitted.paths += /system/app
+namespace.system.hwasan.permitted.paths += /system/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /system/priv-app
+namespace.system.hwasan.permitted.paths += /system_ext/framework/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/framework
+namespace.system.hwasan.permitted.paths += /system_ext/app/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/app
+namespace.system.hwasan.permitted.paths += /system_ext/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/priv-app
+namespace.system.hwasan.permitted.paths += /vendor/framework/hwasan
+namespace.system.hwasan.permitted.paths += /vendor/framework
+namespace.system.hwasan.permitted.paths += /vendor/app/hwasan
+namespace.system.hwasan.permitted.paths += /vendor/app
+namespace.system.hwasan.permitted.paths += /vendor/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /vendor/priv-app
+namespace.system.hwasan.permitted.paths += /system/vendor/framework/hwasan
+namespace.system.hwasan.permitted.paths += /system/vendor/framework
+namespace.system.hwasan.permitted.paths += /system/vendor/app/hwasan
+namespace.system.hwasan.permitted.paths += /system/vendor/app
+namespace.system.hwasan.permitted.paths += /system/vendor/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /system/vendor/priv-app
+namespace.system.hwasan.permitted.paths += /odm/framework/hwasan
+namespace.system.hwasan.permitted.paths += /odm/framework
+namespace.system.hwasan.permitted.paths += /odm/app/hwasan
+namespace.system.hwasan.permitted.paths += /odm/app
+namespace.system.hwasan.permitted.paths += /odm/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /odm/priv-app
+namespace.system.hwasan.permitted.paths += /oem/app/hwasan
+namespace.system.hwasan.permitted.paths += /oem/app
+namespace.system.hwasan.permitted.paths += /product/framework/hwasan
+namespace.system.hwasan.permitted.paths += /product/framework
+namespace.system.hwasan.permitted.paths += /product/app/hwasan
+namespace.system.hwasan.permitted.paths += /product/app
+namespace.system.hwasan.permitted.paths += /product/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /product/priv-app
+namespace.system.hwasan.permitted.paths += /data/hwasan
+namespace.system.hwasan.permitted.paths += /data
+namespace.system.hwasan.permitted.paths += /mnt/expand/hwasan
+namespace.system.hwasan.permitted.paths += /mnt/expand
+namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic/hwasan
+namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,default
+namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
+namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
+namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
+namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
+namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.default.shared_libs = libsystemextrequire.so
+namespace.vndk.isolated = true
+namespace.vndk.visible = true
+namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
+namespace.vndk.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.search.paths += /apex/com.android.vndk.vR/${LIB}
+namespace.vndk.search.paths += /odm/${LIB}
+namespace.vndk.search.paths += /vendor/${LIB}
+namespace.vndk.permitted.paths = /odm/${LIB}/hw
+namespace.vndk.permitted.paths += /odm/${LIB}/egl
+namespace.vndk.permitted.paths += /vendor/${LIB}/hw
+namespace.vndk.permitted.paths += /vendor/${LIB}/egl
+namespace.vndk.permitted.paths += /system/vendor/${LIB}/hw
+namespace.vndk.permitted.paths += /system/vendor/${LIB}/egl
+namespace.vndk.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw
+namespace.vndk.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /odm/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /apex/com.android.vndk.vR/${LIB}
+namespace.vndk.asan.search.paths += /data/asan/odm/${LIB}
+namespace.vndk.asan.search.paths += /odm/${LIB}
+namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}
+namespace.vndk.asan.search.paths += /vendor/${LIB}
+namespace.vndk.asan.permitted.paths = /data/asan/odm/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /odm/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /data/asan/odm/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /odm/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /data/asan/system/vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /system/vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /data/asan/system/vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /system/vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw
+namespace.vndk.hwasan.search.paths = /odm/${LIB}/vndk-sp/hwasan
+namespace.vndk.hwasan.search.paths += /odm/${LIB}/vndk-sp
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}/vndk-sp/hwasan
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.hwasan.search.paths += /apex/com.android.vndk.vR/${LIB}/hwasan
+namespace.vndk.hwasan.search.paths += /apex/com.android.vndk.vR/${LIB}
+namespace.vndk.hwasan.search.paths += /odm/${LIB}/hwasan
+namespace.vndk.hwasan.search.paths += /odm/${LIB}
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}/hwasan
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}
+namespace.vndk.hwasan.permitted.paths = /odm/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /odm/${LIB}/hw
+namespace.vndk.hwasan.permitted.paths += /odm/${LIB}/egl/hwasan
+namespace.vndk.hwasan.permitted.paths += /odm/${LIB}/egl
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/hw
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/egl/hwasan
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/egl
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/hw
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/egl/hwasan
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/egl
+namespace.vndk.hwasan.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw
+namespace.vndk.links = system,com_android_neuralnetworks
+namespace.vndk.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.vndk.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
diff --git a/testdata/golden_output/guest/com.product.service1/ld.config.txt b/testdata/golden_output/guest/com.product.service1/ld.config.txt
index 4a41149..7e79397 100644
--- a/testdata/golden_output/guest/com.product.service1/ld.config.txt
+++ b/testdata/golden_output/guest/com.product.service1/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.product.service1 = /apex/com.product.service1/bin
[com.product.service1]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,product,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,product,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.product.service1/${LIB}
namespace.default.permitted.paths = /apex/com.product.service1/${LIB}
@@ -211,6 +211,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.product.isolated = true
namespace.product.visible = true
namespace.product.search.paths = /product/${LIB}
@@ -420,12 +441,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.search.paths = /product/${LIB}/vndk-sp
namespace.vndk.search.paths += /product/${LIB}/vndk
diff --git a/testdata/golden_output/guest/com.vendor.service1/ld.config.txt b/testdata/golden_output/guest/com.vendor.service1/ld.config.txt
index 5876c95..8482eb6 100644
--- a/testdata/golden_output/guest/com.vendor.service1/ld.config.txt
+++ b/testdata/golden_output/guest/com.vendor.service1/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.vendor.service1 = /apex/com.vendor.service1/bin
[com.vendor.service1]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,rs,system,vendor,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,rs,system,vendor,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.vendor.service1/${LIB}
namespace.default.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -221,6 +221,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.rs.isolated = true
namespace.rs.visible = true
namespace.rs.search.paths = /odm/${LIB}/vndk-sp
@@ -416,12 +437,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vendor.isolated = true
namespace.vendor.visible = true
namespace.vendor.search.paths = /odm/${LIB}
diff --git a/testdata/golden_output/guest/com.vendor.service2/ld.config.txt b/testdata/golden_output/guest/com.vendor.service2/ld.config.txt
index 7d56d0b..c330d5b 100644
--- a/testdata/golden_output/guest/com.vendor.service2/ld.config.txt
+++ b/testdata/golden_output/guest/com.vendor.service2/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.vendor.service2 = /apex/com.vendor.service2/bin
[com.vendor.service2]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service1,mediacas,rs,system,vendor,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service1,mediacas,rs,system,vendor,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.vendor.service2/${LIB}
namespace.default.search.paths += /apex/com.vendor.service2/${LIB}/hw
@@ -215,6 +215,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service1.isolated = true
namespace.com_vendor_service1.search.paths = /apex/com.vendor.service1/${LIB}
namespace.com_vendor_service1.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -464,12 +485,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vendor.isolated = true
namespace.vendor.visible = true
namespace.vendor.search.paths = /odm/${LIB}
diff --git a/testdata/golden_output/guest/ld.config.txt b/testdata/golden_output/guest/ld.config.txt
index 2e2ccfa..94387d4 100644
--- a/testdata/golden_output/guest/ld.config.txt
+++ b/testdata/golden_output/guest/ld.config.txt
@@ -24,7 +24,7 @@ dir.postinstall = /postinstall
dir.system = /data
dir.system = /product/app/
[system]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_product_service1,com_vendor_service3,product,rs,sphal,vndk,vndk_product
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_product_service1,com_vendor_service3,product,rs,sphal,vndk,vndk_product
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /system/${LIB}
@@ -171,12 +171,13 @@ namespace.default.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bio
namespace.default.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.default.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.default.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.default.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.default.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.default.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.default.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.default.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.default.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -392,6 +393,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = default
namespace.com_android_runtime.link.default.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = default
+namespace.com_android_systemext1.link.default.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_product_service1.isolated = true
namespace.com_product_service1.search.paths = /apex/com.product.service1/${LIB}
namespace.com_product_service1.permitted.paths = /apex/com.product.service1/${LIB}
@@ -635,7 +657,7 @@ namespace.vndk_product.links = default,com_android_neuralnetworks
namespace.vndk_product.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.vndk_product.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[vendor]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service1,com_vendor_service3,rs,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service1,com_vendor_service3,rs,system,vndk
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /odm/${LIB}
@@ -870,6 +892,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service1.isolated = true
namespace.com_vendor_service1.search.paths = /apex/com.vendor.service1/${LIB}
namespace.com_vendor_service1.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -1122,12 +1165,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
namespace.vndk.search.paths += /odm/${LIB}/vndk
@@ -1192,7 +1236,7 @@ namespace.vndk.link.default.allow_all_shared_libs = true
namespace.vndk.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.vndk.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[product]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_product_service1,com_vendor_service3,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_product_service1,com_vendor_service3,system,vndk
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /product/${LIB}
@@ -1401,6 +1445,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_product_service1.isolated = true
namespace.com_product_service1.search.paths = /apex/com.product.service1/${LIB}
namespace.com_product_service1.permitted.paths = /apex/com.product.service1/${LIB}
@@ -1593,12 +1658,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.search.paths = /product/${LIB}/vndk-sp
namespace.vndk.search.paths += /product/${LIB}/vndk
@@ -1619,7 +1685,7 @@ namespace.vndk.link.default.allow_all_shared_libs = true
namespace.vndk.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.vndk.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[unrestricted]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,rs,sphal,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service3,rs,sphal,vndk
namespace.default.isolated = false
namespace.default.visible = true
namespace.default.search.paths = /system/${LIB}
@@ -1647,12 +1713,13 @@ namespace.default.hwasan.search.paths += /vendor/${LIB}/hwasan
namespace.default.hwasan.search.paths += /vendor/${LIB}
namespace.default.hwasan.search.paths += /product/${LIB}/hwasan
namespace.default.hwasan.search.paths += /product/${LIB}
-namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.default.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.default.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.default.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.default.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.default.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.default.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -1868,6 +1935,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = default
namespace.com_android_runtime.link.default.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = default
+namespace.com_android_systemext1.link.default.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service3.isolated = true
namespace.com_vendor_service3.visible = true
namespace.com_vendor_service3.search.paths = /apex/com.vendor.service3/${LIB}
@@ -2071,7 +2159,7 @@ namespace.default.hwasan.search.paths += /system_ext/${LIB}
namespace.default.hwasan.search.paths += /product/${LIB}/hwasan
namespace.default.hwasan.search.paths += /product/${LIB}
[isolated]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,system
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service3,system
namespace.default.isolated = true
namespace.default.links = system
namespace.default.link.system.allow_all_shared_libs = true
@@ -2290,6 +2378,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service3.isolated = true
namespace.com_vendor_service3.visible = true
namespace.com_vendor_service3.search.paths = /apex/com.vendor.service3/${LIB}
@@ -2461,9 +2570,10 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
diff --git a/testdata/golden_output/stage2/com.android.adbd/ld.config.txt b/testdata/golden_output/stage2/com.android.adbd/ld.config.txt
index 0cb10ea..4d4c56f 100644
--- a/testdata/golden_output/stage2/com.android.adbd/ld.config.txt
+++ b/testdata/golden_output/stage2/com.android.adbd/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.adbd = /apex/com.android.adbd/bin
[com.android.adbd]
-additional.namespaces = com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.adbd/${LIB}
namespace.default.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -189,6 +189,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -381,12 +402,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/stage2/com.android.art/ld.config.txt b/testdata/golden_output/stage2/com.android.art/ld.config.txt
index 3103554..695b745 100644
--- a/testdata/golden_output/stage2/com.android.art/ld.config.txt
+++ b/testdata/golden_output/stage2/com.android.art/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.art = /apex/com.android.art/bin
[com.android.art]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service3,sphal,system,vndk
namespace.default.isolated = true
namespace.default.links = com_android_art,com_android_adbd,com_android_i18n,system,com_android_neuralnetworks
namespace.default.link.com_android_art.allow_all_shared_libs = true
@@ -223,6 +223,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service3.isolated = true
namespace.com_vendor_service3.visible = true
namespace.com_vendor_service3.search.paths = /apex/com.vendor.service3/${LIB}
@@ -441,12 +462,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/stage2/com.android.conscrypt/ld.config.txt b/testdata/golden_output/stage2/com.android.conscrypt/ld.config.txt
index 1dcea6e..f009e1e 100644
--- a/testdata/golden_output/stage2/com.android.conscrypt/ld.config.txt
+++ b/testdata/golden_output/stage2/com.android.conscrypt/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.conscrypt = /apex/com.android.conscrypt/bin
[com.android.conscrypt]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.conscrypt/${LIB}
namespace.default.permitted.paths = /apex/com.android.conscrypt/${LIB}
@@ -211,6 +211,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -403,12 +424,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/stage2/com.android.media.swcodec/ld.config.txt b/testdata/golden_output/stage2/com.android.media.swcodec/ld.config.txt
index ad917a9..c6c4ad3 100644
--- a/testdata/golden_output/stage2/com.android.media.swcodec/ld.config.txt
+++ b/testdata/golden_output/stage2/com.android.media.swcodec/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.media.swcodec = /apex/com.android.media.swcodec/bin
[com.android.media.swcodec]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.media.swcodec/${LIB}
namespace.default.permitted.paths = /apex/com.android.media.swcodec/${LIB}
@@ -210,6 +210,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -402,12 +423,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/stage2/com.android.runtime/ld.config.txt b/testdata/golden_output/stage2/com.android.runtime/ld.config.txt
index c5a9dd0..c57b6d2 100644
--- a/testdata/golden_output/stage2/com.android.runtime/ld.config.txt
+++ b/testdata/golden_output/stage2/com.android.runtime/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.runtime = /apex/com.android.runtime/bin
[com.android.runtime]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.links = com_android_runtime,system
namespace.default.link.com_android_runtime.allow_all_shared_libs = true
@@ -193,6 +193,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -385,12 +406,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/stage2/com.android.sdkext/ld.config.txt b/testdata/golden_output/stage2/com.android.sdkext/ld.config.txt
index 73612ca..7d70dbf 100644
--- a/testdata/golden_output/stage2/com.android.sdkext/ld.config.txt
+++ b/testdata/golden_output/stage2/com.android.sdkext/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.sdkext = /apex/com.android.sdkext/bin
[com.android.sdkext]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.sdkext/${LIB}
namespace.default.permitted.paths = /apex/com.android.sdkext/${LIB}
@@ -210,6 +210,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -402,12 +423,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/stage2/com.android.systemext1/ld.config.txt b/testdata/golden_output/stage2/com.android.systemext1/ld.config.txt
new file mode 100644
index 0000000..ffa5132
--- /dev/null
+++ b/testdata/golden_output/stage2/com.android.systemext1/ld.config.txt
@@ -0,0 +1,474 @@
+dir.com.android.systemext1 = /apex/com.android.systemext1/bin
+[com.android.systemext1]
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+namespace.default.isolated = true
+namespace.default.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.permitted.paths += /system/${LIB}
+namespace.default.permitted.paths += /system_ext/${LIB}
+namespace.default.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.default.asan.permitted.paths += /system/${LIB}
+namespace.default.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.default.asan.permitted.paths += /system_ext/${LIB}
+namespace.default.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.default.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.default.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.default.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.default.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.default.hwasan.permitted.paths += /system/${LIB}
+namespace.default.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.default.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.default.links = system
+namespace.default.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_adbd.isolated = true
+namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.permitted.paths += /system/${LIB}
+namespace.com_android_adbd.permitted.paths += /system_ext/${LIB}
+namespace.com_android_adbd.asan.search.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.asan.permitted.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /system/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_adbd.hwasan.search.paths = /apex/com.android.adbd/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.search.paths += /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.hwasan.permitted.paths = /apex/com.android.adbd/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.permitted.paths += /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_adbd.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_adbd.links = system
+namespace.com_android_adbd.link.system.shared_libs = libadbd_auth.so:libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_art.isolated = true
+namespace.com_android_art.search.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.permitted.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.permitted.paths += /system/${LIB}
+namespace.com_android_art.permitted.paths += /system_ext/${LIB}
+namespace.com_android_art.permitted.paths += /data
+namespace.com_android_art.permitted.paths += /system/framework
+namespace.com_android_art.permitted.paths += /apex/com.android.art/javalib
+namespace.com_android_art.asan.search.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.asan.permitted.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_art.asan.permitted.paths += /system/${LIB}
+namespace.com_android_art.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_art.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_art.asan.permitted.paths += /data/asan/data
+namespace.com_android_art.asan.permitted.paths += /data
+namespace.com_android_art.asan.permitted.paths += /data/asan/system/framework
+namespace.com_android_art.asan.permitted.paths += /system/framework
+namespace.com_android_art.asan.permitted.paths += /apex/com.android.art/javalib
+namespace.com_android_art.hwasan.search.paths = /apex/com.android.art/${LIB}/hwasan
+namespace.com_android_art.hwasan.search.paths += /apex/com.android.art/${LIB}
+namespace.com_android_art.hwasan.permitted.paths = /apex/com.android.art/${LIB}/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /apex/com.android.art/${LIB}
+namespace.com_android_art.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_art.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_art.hwasan.permitted.paths += /data/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /data
+namespace.com_android_art.hwasan.permitted.paths += /system/framework/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /system/framework
+namespace.com_android_art.hwasan.permitted.paths += /apex/com.android.art/javalib/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /apex/com.android.art/javalib
+namespace.com_android_art.links = com_android_adbd,com_android_i18n,system,com_android_neuralnetworks
+namespace.com_android_art.link.com_android_adbd.shared_libs = libadbconnection_client.so
+namespace.com_android_art.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicu_jni.so:libicui18n.so:libicuuc.so
+namespace.com_android_art.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_art.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
+namespace.com_android_i18n.isolated = true
+namespace.com_android_i18n.search.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.permitted.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.permitted.paths += /system/${LIB}
+namespace.com_android_i18n.permitted.paths += /system_ext/${LIB}
+namespace.com_android_i18n.asan.search.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.asan.permitted.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /system/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_i18n.hwasan.search.paths = /apex/com.android.i18n/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.search.paths += /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.hwasan.permitted.paths = /apex/com.android.i18n/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.permitted.paths += /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_i18n.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_i18n.links = system
+namespace.com_android_i18n.link.system.shared_libs = libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_media.isolated = true
+namespace.com_android_media.visible = true
+namespace.com_android_media.search.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.permitted.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.permitted.paths += /system/${LIB}
+namespace.com_android_media.permitted.paths += /system_ext/${LIB}
+namespace.com_android_media.asan.search.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.asan.permitted.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_media.asan.permitted.paths += /system/${LIB}
+namespace.com_android_media.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_media.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_media.hwasan.search.paths = /apex/com.android.media/${LIB}/hwasan
+namespace.com_android_media.hwasan.search.paths += /apex/com.android.media/${LIB}
+namespace.com_android_media.hwasan.permitted.paths = /apex/com.android.media/${LIB}/hwasan
+namespace.com_android_media.hwasan.permitted.paths += /apex/com.android.media/${LIB}
+namespace.com_android_media.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_media.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_media.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_media.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_media.links = system
+namespace.com_android_media.link.system.shared_libs = libbinder_ndk.so:libc.so:libcgrouprc.so:libdl.so:liblog.so:libm.so:libmediandk.so:libvndksupport.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_neuralnetworks.isolated = true
+namespace.com_android_neuralnetworks.search.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.permitted.paths += /system/${LIB}
+namespace.com_android_neuralnetworks.permitted.paths += /system_ext/${LIB}
+namespace.com_android_neuralnetworks.asan.search.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /system/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_neuralnetworks.hwasan.search.paths = /apex/com.android.neuralnetworks/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.search.paths += /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.hwasan.permitted.paths = /apex/com.android.neuralnetworks/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_neuralnetworks.links = system
+namespace.com_android_neuralnetworks.link.system.shared_libs = libc.so:libcgrouprc.so:libdl.so:liblog.so:libm.so:libnativewindow.so:libneuralnetworks_packageinfo.so:libvndksupport.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_os_statsd.isolated = true
+namespace.com_android_os_statsd.search.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.permitted.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.permitted.paths += /system/${LIB}
+namespace.com_android_os_statsd.permitted.paths += /system_ext/${LIB}
+namespace.com_android_os_statsd.asan.search.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /system/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_os_statsd.hwasan.search.paths = /apex/com.android.os.statsd/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.search.paths += /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.hwasan.permitted.paths = /apex/com.android.os.statsd/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.permitted.paths += /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_os_statsd.links = system,com_android_art
+namespace.com_android_os_statsd.link.system.shared_libs = libbinder_ndk.so:libc.so:libdl.so:libincident.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_os_statsd.link.com_android_art.shared_libs = libnativehelper.so
+namespace.com_android_resolv.isolated = true
+namespace.com_android_resolv.search.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.permitted.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.permitted.paths += /system/${LIB}
+namespace.com_android_resolv.permitted.paths += /system_ext/${LIB}
+namespace.com_android_resolv.asan.search.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.asan.permitted.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /system/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_resolv.hwasan.search.paths = /apex/com.android.resolv/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.search.paths += /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.hwasan.permitted.paths = /apex/com.android.resolv/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.permitted.paths += /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_resolv.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_resolv.links = system
+namespace.com_android_resolv.link.system.shared_libs = libbinder_ndk.so:libc.so:libdl.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_runtime.isolated = true
+namespace.com_android_runtime.visible = true
+namespace.com_android_runtime.search.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.permitted.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.permitted.paths += /system/${LIB}
+namespace.com_android_runtime.permitted.paths += /system_ext/${LIB}
+namespace.com_android_runtime.asan.search.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.asan.permitted.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /system/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_runtime.hwasan.search.paths = /apex/com.android.runtime/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.search.paths += /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.hwasan.permitted.paths = /apex/com.android.runtime/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_runtime.links = system
+namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.isolated = true
+namespace.sphal.visible = true
+namespace.sphal.search.paths = /odm/${LIB}
+namespace.sphal.search.paths += /vendor/${LIB}
+namespace.sphal.search.paths += /vendor/${LIB}/egl
+namespace.sphal.search.paths += /vendor/${LIB}/hw
+namespace.sphal.permitted.paths = /odm/${LIB}
+namespace.sphal.permitted.paths += /vendor/${LIB}
+namespace.sphal.permitted.paths += /vendor/odm/${LIB}
+namespace.sphal.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
+namespace.sphal.asan.search.paths += /odm/${LIB}
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
+namespace.sphal.asan.search.paths += /vendor/${LIB}
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}/egl
+namespace.sphal.asan.search.paths += /vendor/${LIB}/egl
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}/hw
+namespace.sphal.asan.search.paths += /vendor/${LIB}/hw
+namespace.sphal.asan.permitted.paths = /data/asan/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /odm/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/vendor/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /vendor/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/system/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.hwasan.search.paths = /odm/${LIB}/hwasan
+namespace.sphal.hwasan.search.paths += /odm/${LIB}
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hwasan
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/egl/hwasan
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/egl
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hw/hwasan
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hw
+namespace.sphal.hwasan.permitted.paths = /odm/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /odm/${LIB}
+namespace.sphal.hwasan.permitted.paths += /vendor/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /vendor/${LIB}
+namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}
+namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.links = system,vndk,com_android_neuralnetworks
+namespace.sphal.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.link.vndk.shared_libs = android.hardware.graphics.common@1.0.so:android.hardware.graphics.common@1.1.so:android.hardware.graphics.common@1.2.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.mapper@2.1.so:android.hardware.graphics.mapper@3.0.so:android.hardware.renderscript@1.0.so:android.hidl.memory.token@1.0.so:android.hidl.memory@1.0-impl.so:android.hidl.memory@1.0.so:android.hidl.safe_union@1.0.so:libRSCpuRef.so:libRSDriver.so:libRS_internal.so:libbase.so:libbcinfo.so:libc++.so:libcutils.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libion.so:libjsoncpp.so:liblzma.so:libprocessgroup.so:libunwindstack.so:libutils.so:libutilscallstack.so:libz.so
+namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
+namespace.system.isolated = true
+namespace.system.visible = true
+namespace.system.search.paths = /system/${LIB}
+namespace.system.search.paths += /system_ext/${LIB}
+namespace.system.permitted.paths = /system/${LIB}/drm
+namespace.system.permitted.paths += /system/${LIB}/extractors
+namespace.system.permitted.paths += /system/${LIB}/hw
+namespace.system.permitted.paths += /system_ext/${LIB}
+namespace.system.permitted.paths += /system/framework
+namespace.system.permitted.paths += /system/app
+namespace.system.permitted.paths += /system/priv-app
+namespace.system.permitted.paths += /system_ext/framework
+namespace.system.permitted.paths += /system_ext/app
+namespace.system.permitted.paths += /system_ext/priv-app
+namespace.system.permitted.paths += /vendor/framework
+namespace.system.permitted.paths += /vendor/app
+namespace.system.permitted.paths += /vendor/priv-app
+namespace.system.permitted.paths += /system/vendor/framework
+namespace.system.permitted.paths += /system/vendor/app
+namespace.system.permitted.paths += /system/vendor/priv-app
+namespace.system.permitted.paths += /odm/framework
+namespace.system.permitted.paths += /odm/app
+namespace.system.permitted.paths += /odm/priv-app
+namespace.system.permitted.paths += /oem/app
+namespace.system.permitted.paths += /product/framework
+namespace.system.permitted.paths += /product/app
+namespace.system.permitted.paths += /product/priv-app
+namespace.system.permitted.paths += /data
+namespace.system.permitted.paths += /mnt/expand
+namespace.system.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.system.permitted.paths += /system/${LIB}/bootstrap
+namespace.system.asan.search.paths = /data/asan/system/${LIB}
+namespace.system.asan.search.paths += /system/${LIB}
+namespace.system.asan.search.paths += /data/asan/system_ext/${LIB}
+namespace.system.asan.search.paths += /system_ext/${LIB}
+namespace.system.asan.permitted.paths = /data/asan/system/${LIB}/drm
+namespace.system.asan.permitted.paths += /system/${LIB}/drm
+namespace.system.asan.permitted.paths += /data/asan/system/${LIB}/extractors
+namespace.system.asan.permitted.paths += /system/${LIB}/extractors
+namespace.system.asan.permitted.paths += /data/asan/system/${LIB}/hw
+namespace.system.asan.permitted.paths += /system/${LIB}/hw
+namespace.system.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.system.asan.permitted.paths += /system_ext/${LIB}
+namespace.system.asan.permitted.paths += /data/asan/system/framework
+namespace.system.asan.permitted.paths += /system/framework
+namespace.system.asan.permitted.paths += /data/asan/system/app
+namespace.system.asan.permitted.paths += /system/app
+namespace.system.asan.permitted.paths += /data/asan/system/priv-app
+namespace.system.asan.permitted.paths += /system/priv-app
+namespace.system.asan.permitted.paths += /data/asan/system_ext/framework
+namespace.system.asan.permitted.paths += /system_ext/framework
+namespace.system.asan.permitted.paths += /data/asan/system_ext/app
+namespace.system.asan.permitted.paths += /system_ext/app
+namespace.system.asan.permitted.paths += /data/asan/system_ext/priv-app
+namespace.system.asan.permitted.paths += /system_ext/priv-app
+namespace.system.asan.permitted.paths += /data/asan/vendor/framework
+namespace.system.asan.permitted.paths += /vendor/framework
+namespace.system.asan.permitted.paths += /data/asan/vendor/app
+namespace.system.asan.permitted.paths += /vendor/app
+namespace.system.asan.permitted.paths += /data/asan/vendor/priv-app
+namespace.system.asan.permitted.paths += /vendor/priv-app
+namespace.system.asan.permitted.paths += /data/asan/system/vendor/framework
+namespace.system.asan.permitted.paths += /system/vendor/framework
+namespace.system.asan.permitted.paths += /data/asan/system/vendor/app
+namespace.system.asan.permitted.paths += /system/vendor/app
+namespace.system.asan.permitted.paths += /data/asan/system/vendor/priv-app
+namespace.system.asan.permitted.paths += /system/vendor/priv-app
+namespace.system.asan.permitted.paths += /data/asan/odm/framework
+namespace.system.asan.permitted.paths += /odm/framework
+namespace.system.asan.permitted.paths += /data/asan/odm/app
+namespace.system.asan.permitted.paths += /odm/app
+namespace.system.asan.permitted.paths += /data/asan/odm/priv-app
+namespace.system.asan.permitted.paths += /odm/priv-app
+namespace.system.asan.permitted.paths += /data/asan/oem/app
+namespace.system.asan.permitted.paths += /oem/app
+namespace.system.asan.permitted.paths += /data/asan/product/framework
+namespace.system.asan.permitted.paths += /product/framework
+namespace.system.asan.permitted.paths += /data/asan/product/app
+namespace.system.asan.permitted.paths += /product/app
+namespace.system.asan.permitted.paths += /data/asan/product/priv-app
+namespace.system.asan.permitted.paths += /product/priv-app
+namespace.system.asan.permitted.paths += /data/asan/data
+namespace.system.asan.permitted.paths += /data
+namespace.system.asan.permitted.paths += /data/asan/mnt/expand
+namespace.system.asan.permitted.paths += /mnt/expand
+namespace.system.asan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.system.asan.permitted.paths += /data/asan/system/${LIB}/bootstrap
+namespace.system.asan.permitted.paths += /system/${LIB}/bootstrap
+namespace.system.hwasan.search.paths = /system/${LIB}/hwasan
+namespace.system.hwasan.search.paths += /system/${LIB}
+namespace.system.hwasan.search.paths += /system_ext/${LIB}/hwasan
+namespace.system.hwasan.search.paths += /system_ext/${LIB}
+namespace.system.hwasan.permitted.paths = /system/${LIB}/drm/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/drm
+namespace.system.hwasan.permitted.paths += /system/${LIB}/extractors/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/extractors
+namespace.system.hwasan.permitted.paths += /system/${LIB}/hw/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/hw
+namespace.system.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.system.hwasan.permitted.paths += /system/framework/hwasan
+namespace.system.hwasan.permitted.paths += /system/framework
+namespace.system.hwasan.permitted.paths += /system/app/hwasan
+namespace.system.hwasan.permitted.paths += /system/app
+namespace.system.hwasan.permitted.paths += /system/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /system/priv-app
+namespace.system.hwasan.permitted.paths += /system_ext/framework/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/framework
+namespace.system.hwasan.permitted.paths += /system_ext/app/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/app
+namespace.system.hwasan.permitted.paths += /system_ext/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/priv-app
+namespace.system.hwasan.permitted.paths += /vendor/framework/hwasan
+namespace.system.hwasan.permitted.paths += /vendor/framework
+namespace.system.hwasan.permitted.paths += /vendor/app/hwasan
+namespace.system.hwasan.permitted.paths += /vendor/app
+namespace.system.hwasan.permitted.paths += /vendor/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /vendor/priv-app
+namespace.system.hwasan.permitted.paths += /system/vendor/framework/hwasan
+namespace.system.hwasan.permitted.paths += /system/vendor/framework
+namespace.system.hwasan.permitted.paths += /system/vendor/app/hwasan
+namespace.system.hwasan.permitted.paths += /system/vendor/app
+namespace.system.hwasan.permitted.paths += /system/vendor/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /system/vendor/priv-app
+namespace.system.hwasan.permitted.paths += /odm/framework/hwasan
+namespace.system.hwasan.permitted.paths += /odm/framework
+namespace.system.hwasan.permitted.paths += /odm/app/hwasan
+namespace.system.hwasan.permitted.paths += /odm/app
+namespace.system.hwasan.permitted.paths += /odm/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /odm/priv-app
+namespace.system.hwasan.permitted.paths += /oem/app/hwasan
+namespace.system.hwasan.permitted.paths += /oem/app
+namespace.system.hwasan.permitted.paths += /product/framework/hwasan
+namespace.system.hwasan.permitted.paths += /product/framework
+namespace.system.hwasan.permitted.paths += /product/app/hwasan
+namespace.system.hwasan.permitted.paths += /product/app
+namespace.system.hwasan.permitted.paths += /product/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /product/priv-app
+namespace.system.hwasan.permitted.paths += /data/hwasan
+namespace.system.hwasan.permitted.paths += /data
+namespace.system.hwasan.permitted.paths += /mnt/expand/hwasan
+namespace.system.hwasan.permitted.paths += /mnt/expand
+namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic/hwasan
+namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,default
+namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
+namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
+namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
+namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
+namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.default.shared_libs = libsystemextrequire.so
+namespace.vndk.isolated = true
+namespace.vndk.visible = true
+namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
+namespace.vndk.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.search.paths += /apex/com.android.vndk.vR/${LIB}
+namespace.vndk.search.paths += /odm/${LIB}
+namespace.vndk.search.paths += /vendor/${LIB}
+namespace.vndk.permitted.paths = /odm/${LIB}/hw
+namespace.vndk.permitted.paths += /odm/${LIB}/egl
+namespace.vndk.permitted.paths += /vendor/${LIB}/hw
+namespace.vndk.permitted.paths += /vendor/${LIB}/egl
+namespace.vndk.permitted.paths += /system/vendor/${LIB}/hw
+namespace.vndk.permitted.paths += /system/vendor/${LIB}/egl
+namespace.vndk.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw
+namespace.vndk.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /odm/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /apex/com.android.vndk.vR/${LIB}
+namespace.vndk.asan.search.paths += /data/asan/odm/${LIB}
+namespace.vndk.asan.search.paths += /odm/${LIB}
+namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}
+namespace.vndk.asan.search.paths += /vendor/${LIB}
+namespace.vndk.asan.permitted.paths = /data/asan/odm/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /odm/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /data/asan/odm/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /odm/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /data/asan/system/vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /system/vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /data/asan/system/vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /system/vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw
+namespace.vndk.hwasan.search.paths = /odm/${LIB}/vndk-sp/hwasan
+namespace.vndk.hwasan.search.paths += /odm/${LIB}/vndk-sp
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}/vndk-sp/hwasan
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.hwasan.search.paths += /apex/com.android.vndk.vR/${LIB}/hwasan
+namespace.vndk.hwasan.search.paths += /apex/com.android.vndk.vR/${LIB}
+namespace.vndk.hwasan.search.paths += /odm/${LIB}/hwasan
+namespace.vndk.hwasan.search.paths += /odm/${LIB}
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}/hwasan
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}
+namespace.vndk.hwasan.permitted.paths = /odm/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /odm/${LIB}/hw
+namespace.vndk.hwasan.permitted.paths += /odm/${LIB}/egl/hwasan
+namespace.vndk.hwasan.permitted.paths += /odm/${LIB}/egl
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/hw
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/egl/hwasan
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/egl
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/hw
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/egl/hwasan
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/egl
+namespace.vndk.hwasan.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw
+namespace.vndk.links = system,com_android_neuralnetworks
+namespace.vndk.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.vndk.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
diff --git a/testdata/golden_output/stage2/com.product.service1/ld.config.txt b/testdata/golden_output/stage2/com.product.service1/ld.config.txt
index 4a41149..7e79397 100644
--- a/testdata/golden_output/stage2/com.product.service1/ld.config.txt
+++ b/testdata/golden_output/stage2/com.product.service1/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.product.service1 = /apex/com.product.service1/bin
[com.product.service1]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,product,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,product,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.product.service1/${LIB}
namespace.default.permitted.paths = /apex/com.product.service1/${LIB}
@@ -211,6 +211,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.product.isolated = true
namespace.product.visible = true
namespace.product.search.paths = /product/${LIB}
@@ -420,12 +441,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.search.paths = /product/${LIB}/vndk-sp
namespace.vndk.search.paths += /product/${LIB}/vndk
diff --git a/testdata/golden_output/stage2/com.vendor.service1/ld.config.txt b/testdata/golden_output/stage2/com.vendor.service1/ld.config.txt
index 5876c95..8482eb6 100644
--- a/testdata/golden_output/stage2/com.vendor.service1/ld.config.txt
+++ b/testdata/golden_output/stage2/com.vendor.service1/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.vendor.service1 = /apex/com.vendor.service1/bin
[com.vendor.service1]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,rs,system,vendor,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,rs,system,vendor,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.vendor.service1/${LIB}
namespace.default.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -221,6 +221,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.rs.isolated = true
namespace.rs.visible = true
namespace.rs.search.paths = /odm/${LIB}/vndk-sp
@@ -416,12 +437,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vendor.isolated = true
namespace.vendor.visible = true
namespace.vendor.search.paths = /odm/${LIB}
diff --git a/testdata/golden_output/stage2/com.vendor.service2/ld.config.txt b/testdata/golden_output/stage2/com.vendor.service2/ld.config.txt
index 7d56d0b..c330d5b 100644
--- a/testdata/golden_output/stage2/com.vendor.service2/ld.config.txt
+++ b/testdata/golden_output/stage2/com.vendor.service2/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.vendor.service2 = /apex/com.vendor.service2/bin
[com.vendor.service2]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service1,mediacas,rs,system,vendor,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service1,mediacas,rs,system,vendor,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.vendor.service2/${LIB}
namespace.default.search.paths += /apex/com.vendor.service2/${LIB}/hw
@@ -215,6 +215,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service1.isolated = true
namespace.com_vendor_service1.search.paths = /apex/com.vendor.service1/${LIB}
namespace.com_vendor_service1.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -464,12 +485,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vendor.isolated = true
namespace.vendor.visible = true
namespace.vendor.search.paths = /odm/${LIB}
diff --git a/testdata/golden_output/stage2/ld.config.txt b/testdata/golden_output/stage2/ld.config.txt
index 2e2ccfa..94387d4 100644
--- a/testdata/golden_output/stage2/ld.config.txt
+++ b/testdata/golden_output/stage2/ld.config.txt
@@ -24,7 +24,7 @@ dir.postinstall = /postinstall
dir.system = /data
dir.system = /product/app/
[system]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_product_service1,com_vendor_service3,product,rs,sphal,vndk,vndk_product
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_product_service1,com_vendor_service3,product,rs,sphal,vndk,vndk_product
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /system/${LIB}
@@ -171,12 +171,13 @@ namespace.default.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bio
namespace.default.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.default.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.default.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.default.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.default.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.default.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.default.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.default.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.default.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -392,6 +393,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = default
namespace.com_android_runtime.link.default.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = default
+namespace.com_android_systemext1.link.default.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_product_service1.isolated = true
namespace.com_product_service1.search.paths = /apex/com.product.service1/${LIB}
namespace.com_product_service1.permitted.paths = /apex/com.product.service1/${LIB}
@@ -635,7 +657,7 @@ namespace.vndk_product.links = default,com_android_neuralnetworks
namespace.vndk_product.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.vndk_product.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[vendor]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service1,com_vendor_service3,rs,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service1,com_vendor_service3,rs,system,vndk
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /odm/${LIB}
@@ -870,6 +892,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service1.isolated = true
namespace.com_vendor_service1.search.paths = /apex/com.vendor.service1/${LIB}
namespace.com_vendor_service1.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -1122,12 +1165,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
namespace.vndk.search.paths += /odm/${LIB}/vndk
@@ -1192,7 +1236,7 @@ namespace.vndk.link.default.allow_all_shared_libs = true
namespace.vndk.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.vndk.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[product]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_product_service1,com_vendor_service3,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_product_service1,com_vendor_service3,system,vndk
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /product/${LIB}
@@ -1401,6 +1445,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_product_service1.isolated = true
namespace.com_product_service1.search.paths = /apex/com.product.service1/${LIB}
namespace.com_product_service1.permitted.paths = /apex/com.product.service1/${LIB}
@@ -1593,12 +1658,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.search.paths = /product/${LIB}/vndk-sp
namespace.vndk.search.paths += /product/${LIB}/vndk
@@ -1619,7 +1685,7 @@ namespace.vndk.link.default.allow_all_shared_libs = true
namespace.vndk.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.vndk.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[unrestricted]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,rs,sphal,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service3,rs,sphal,vndk
namespace.default.isolated = false
namespace.default.visible = true
namespace.default.search.paths = /system/${LIB}
@@ -1647,12 +1713,13 @@ namespace.default.hwasan.search.paths += /vendor/${LIB}/hwasan
namespace.default.hwasan.search.paths += /vendor/${LIB}
namespace.default.hwasan.search.paths += /product/${LIB}/hwasan
namespace.default.hwasan.search.paths += /product/${LIB}
-namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.default.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.default.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.default.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.default.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.default.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.default.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -1868,6 +1935,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = default
namespace.com_android_runtime.link.default.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = default
+namespace.com_android_systemext1.link.default.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service3.isolated = true
namespace.com_vendor_service3.visible = true
namespace.com_vendor_service3.search.paths = /apex/com.vendor.service3/${LIB}
@@ -2071,7 +2159,7 @@ namespace.default.hwasan.search.paths += /system_ext/${LIB}
namespace.default.hwasan.search.paths += /product/${LIB}/hwasan
namespace.default.hwasan.search.paths += /product/${LIB}
[isolated]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,system
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service3,system
namespace.default.isolated = true
namespace.default.links = system
namespace.default.link.system.allow_all_shared_libs = true
@@ -2290,6 +2378,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service3.isolated = true
namespace.com_vendor_service3.visible = true
namespace.com_vendor_service3.search.paths = /apex/com.vendor.service3/${LIB}
@@ -2461,9 +2570,10 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
diff --git a/testdata/golden_output/vndk-in-system/com.android.adbd/ld.config.txt b/testdata/golden_output/vndk-in-system/com.android.adbd/ld.config.txt
index 0cb10ea..4d4c56f 100644
--- a/testdata/golden_output/vndk-in-system/com.android.adbd/ld.config.txt
+++ b/testdata/golden_output/vndk-in-system/com.android.adbd/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.adbd = /apex/com.android.adbd/bin
[com.android.adbd]
-additional.namespaces = com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.adbd/${LIB}
namespace.default.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -189,6 +189,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -381,12 +402,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/vndk-in-system/com.android.art/ld.config.txt b/testdata/golden_output/vndk-in-system/com.android.art/ld.config.txt
index 3103554..695b745 100644
--- a/testdata/golden_output/vndk-in-system/com.android.art/ld.config.txt
+++ b/testdata/golden_output/vndk-in-system/com.android.art/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.art = /apex/com.android.art/bin
[com.android.art]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service3,sphal,system,vndk
namespace.default.isolated = true
namespace.default.links = com_android_art,com_android_adbd,com_android_i18n,system,com_android_neuralnetworks
namespace.default.link.com_android_art.allow_all_shared_libs = true
@@ -223,6 +223,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service3.isolated = true
namespace.com_vendor_service3.visible = true
namespace.com_vendor_service3.search.paths = /apex/com.vendor.service3/${LIB}
@@ -441,12 +462,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/vndk-in-system/com.android.conscrypt/ld.config.txt b/testdata/golden_output/vndk-in-system/com.android.conscrypt/ld.config.txt
index 1dcea6e..f009e1e 100644
--- a/testdata/golden_output/vndk-in-system/com.android.conscrypt/ld.config.txt
+++ b/testdata/golden_output/vndk-in-system/com.android.conscrypt/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.conscrypt = /apex/com.android.conscrypt/bin
[com.android.conscrypt]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.conscrypt/${LIB}
namespace.default.permitted.paths = /apex/com.android.conscrypt/${LIB}
@@ -211,6 +211,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -403,12 +424,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/vndk-in-system/com.android.media.swcodec/ld.config.txt b/testdata/golden_output/vndk-in-system/com.android.media.swcodec/ld.config.txt
index ad917a9..c6c4ad3 100644
--- a/testdata/golden_output/vndk-in-system/com.android.media.swcodec/ld.config.txt
+++ b/testdata/golden_output/vndk-in-system/com.android.media.swcodec/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.media.swcodec = /apex/com.android.media.swcodec/bin
[com.android.media.swcodec]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.media.swcodec/${LIB}
namespace.default.permitted.paths = /apex/com.android.media.swcodec/${LIB}
@@ -210,6 +210,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -402,12 +423,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/vndk-in-system/com.android.runtime/ld.config.txt b/testdata/golden_output/vndk-in-system/com.android.runtime/ld.config.txt
index c5a9dd0..c57b6d2 100644
--- a/testdata/golden_output/vndk-in-system/com.android.runtime/ld.config.txt
+++ b/testdata/golden_output/vndk-in-system/com.android.runtime/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.runtime = /apex/com.android.runtime/bin
[com.android.runtime]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.links = com_android_runtime,system
namespace.default.link.com_android_runtime.allow_all_shared_libs = true
@@ -193,6 +193,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -385,12 +406,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/vndk-in-system/com.android.sdkext/ld.config.txt b/testdata/golden_output/vndk-in-system/com.android.sdkext/ld.config.txt
index 73612ca..7d70dbf 100644
--- a/testdata/golden_output/vndk-in-system/com.android.sdkext/ld.config.txt
+++ b/testdata/golden_output/vndk-in-system/com.android.sdkext/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.android.sdkext = /apex/com.android.sdkext/bin
[com.android.sdkext]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,sphal,system,vndk
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.android.sdkext/${LIB}
namespace.default.permitted.paths = /apex/com.android.sdkext/${LIB}
@@ -210,6 +210,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.isolated = true
namespace.sphal.visible = true
namespace.sphal.search.paths = /odm/${LIB}
@@ -402,12 +423,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.visible = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/vndk-in-system/com.android.systemext1/ld.config.txt b/testdata/golden_output/vndk-in-system/com.android.systemext1/ld.config.txt
new file mode 100644
index 0000000..ffa5132
--- /dev/null
+++ b/testdata/golden_output/vndk-in-system/com.android.systemext1/ld.config.txt
@@ -0,0 +1,474 @@
+dir.com.android.systemext1 = /apex/com.android.systemext1/bin
+[com.android.systemext1]
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,sphal,system,vndk
+namespace.default.isolated = true
+namespace.default.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.permitted.paths += /system/${LIB}
+namespace.default.permitted.paths += /system_ext/${LIB}
+namespace.default.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.default.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.default.asan.permitted.paths += /system/${LIB}
+namespace.default.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.default.asan.permitted.paths += /system_ext/${LIB}
+namespace.default.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.default.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.default.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.default.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.default.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.default.hwasan.permitted.paths += /system/${LIB}
+namespace.default.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.default.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.default.links = system
+namespace.default.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_adbd.isolated = true
+namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.permitted.paths += /system/${LIB}
+namespace.com_android_adbd.permitted.paths += /system_ext/${LIB}
+namespace.com_android_adbd.asan.search.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.asan.permitted.paths = /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /system/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_adbd.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_adbd.hwasan.search.paths = /apex/com.android.adbd/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.search.paths += /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.hwasan.permitted.paths = /apex/com.android.adbd/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.permitted.paths += /apex/com.android.adbd/${LIB}
+namespace.com_android_adbd.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_adbd.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_adbd.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_adbd.links = system
+namespace.com_android_adbd.link.system.shared_libs = libadbd_auth.so:libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_art.isolated = true
+namespace.com_android_art.search.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.permitted.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.permitted.paths += /system/${LIB}
+namespace.com_android_art.permitted.paths += /system_ext/${LIB}
+namespace.com_android_art.permitted.paths += /data
+namespace.com_android_art.permitted.paths += /system/framework
+namespace.com_android_art.permitted.paths += /apex/com.android.art/javalib
+namespace.com_android_art.asan.search.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.asan.permitted.paths = /apex/com.android.art/${LIB}
+namespace.com_android_art.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_art.asan.permitted.paths += /system/${LIB}
+namespace.com_android_art.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_art.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_art.asan.permitted.paths += /data/asan/data
+namespace.com_android_art.asan.permitted.paths += /data
+namespace.com_android_art.asan.permitted.paths += /data/asan/system/framework
+namespace.com_android_art.asan.permitted.paths += /system/framework
+namespace.com_android_art.asan.permitted.paths += /apex/com.android.art/javalib
+namespace.com_android_art.hwasan.search.paths = /apex/com.android.art/${LIB}/hwasan
+namespace.com_android_art.hwasan.search.paths += /apex/com.android.art/${LIB}
+namespace.com_android_art.hwasan.permitted.paths = /apex/com.android.art/${LIB}/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /apex/com.android.art/${LIB}
+namespace.com_android_art.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_art.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_art.hwasan.permitted.paths += /data/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /data
+namespace.com_android_art.hwasan.permitted.paths += /system/framework/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /system/framework
+namespace.com_android_art.hwasan.permitted.paths += /apex/com.android.art/javalib/hwasan
+namespace.com_android_art.hwasan.permitted.paths += /apex/com.android.art/javalib
+namespace.com_android_art.links = com_android_adbd,com_android_i18n,system,com_android_neuralnetworks
+namespace.com_android_art.link.com_android_adbd.shared_libs = libadbconnection_client.so
+namespace.com_android_art.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicu_jni.so:libicui18n.so:libicuuc.so
+namespace.com_android_art.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_art.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
+namespace.com_android_i18n.isolated = true
+namespace.com_android_i18n.search.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.permitted.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.permitted.paths += /system/${LIB}
+namespace.com_android_i18n.permitted.paths += /system_ext/${LIB}
+namespace.com_android_i18n.asan.search.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.asan.permitted.paths = /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /system/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_i18n.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_i18n.hwasan.search.paths = /apex/com.android.i18n/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.search.paths += /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.hwasan.permitted.paths = /apex/com.android.i18n/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.permitted.paths += /apex/com.android.i18n/${LIB}
+namespace.com_android_i18n.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_i18n.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_i18n.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_i18n.links = system
+namespace.com_android_i18n.link.system.shared_libs = libc.so:libdl.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_media.isolated = true
+namespace.com_android_media.visible = true
+namespace.com_android_media.search.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.permitted.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.permitted.paths += /system/${LIB}
+namespace.com_android_media.permitted.paths += /system_ext/${LIB}
+namespace.com_android_media.asan.search.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.asan.permitted.paths = /apex/com.android.media/${LIB}
+namespace.com_android_media.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_media.asan.permitted.paths += /system/${LIB}
+namespace.com_android_media.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_media.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_media.hwasan.search.paths = /apex/com.android.media/${LIB}/hwasan
+namespace.com_android_media.hwasan.search.paths += /apex/com.android.media/${LIB}
+namespace.com_android_media.hwasan.permitted.paths = /apex/com.android.media/${LIB}/hwasan
+namespace.com_android_media.hwasan.permitted.paths += /apex/com.android.media/${LIB}
+namespace.com_android_media.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_media.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_media.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_media.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_media.links = system
+namespace.com_android_media.link.system.shared_libs = libbinder_ndk.so:libc.so:libcgrouprc.so:libdl.so:liblog.so:libm.so:libmediandk.so:libvndksupport.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_neuralnetworks.isolated = true
+namespace.com_android_neuralnetworks.search.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.permitted.paths += /system/${LIB}
+namespace.com_android_neuralnetworks.permitted.paths += /system_ext/${LIB}
+namespace.com_android_neuralnetworks.asan.search.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths = /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /system/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_neuralnetworks.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_neuralnetworks.hwasan.search.paths = /apex/com.android.neuralnetworks/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.search.paths += /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.hwasan.permitted.paths = /apex/com.android.neuralnetworks/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /apex/com.android.neuralnetworks/${LIB}
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_neuralnetworks.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_neuralnetworks.links = system
+namespace.com_android_neuralnetworks.link.system.shared_libs = libc.so:libcgrouprc.so:libdl.so:liblog.so:libm.so:libnativewindow.so:libneuralnetworks_packageinfo.so:libvndksupport.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_os_statsd.isolated = true
+namespace.com_android_os_statsd.search.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.permitted.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.permitted.paths += /system/${LIB}
+namespace.com_android_os_statsd.permitted.paths += /system_ext/${LIB}
+namespace.com_android_os_statsd.asan.search.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths = /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /system/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_os_statsd.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_os_statsd.hwasan.search.paths = /apex/com.android.os.statsd/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.search.paths += /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.hwasan.permitted.paths = /apex/com.android.os.statsd/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.permitted.paths += /apex/com.android.os.statsd/${LIB}
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_os_statsd.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_os_statsd.links = system,com_android_art
+namespace.com_android_os_statsd.link.system.shared_libs = libbinder_ndk.so:libc.so:libdl.so:libincident.so:liblog.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_os_statsd.link.com_android_art.shared_libs = libnativehelper.so
+namespace.com_android_resolv.isolated = true
+namespace.com_android_resolv.search.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.permitted.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.permitted.paths += /system/${LIB}
+namespace.com_android_resolv.permitted.paths += /system_ext/${LIB}
+namespace.com_android_resolv.asan.search.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.asan.permitted.paths = /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /system/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_resolv.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_resolv.hwasan.search.paths = /apex/com.android.resolv/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.search.paths += /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.hwasan.permitted.paths = /apex/com.android.resolv/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.permitted.paths += /apex/com.android.resolv/${LIB}
+namespace.com_android_resolv.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_resolv.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_resolv.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_resolv.links = system
+namespace.com_android_resolv.link.system.shared_libs = libbinder_ndk.so:libc.so:libdl.so:libm.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_runtime.isolated = true
+namespace.com_android_runtime.visible = true
+namespace.com_android_runtime.search.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.permitted.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.permitted.paths += /system/${LIB}
+namespace.com_android_runtime.permitted.paths += /system_ext/${LIB}
+namespace.com_android_runtime.asan.search.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.asan.permitted.paths = /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /system/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_runtime.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_runtime.hwasan.search.paths = /apex/com.android.runtime/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.search.paths += /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.hwasan.permitted.paths = /apex/com.android.runtime/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}
+namespace.com_android_runtime.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_runtime.links = system
+namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.isolated = true
+namespace.sphal.visible = true
+namespace.sphal.search.paths = /odm/${LIB}
+namespace.sphal.search.paths += /vendor/${LIB}
+namespace.sphal.search.paths += /vendor/${LIB}/egl
+namespace.sphal.search.paths += /vendor/${LIB}/hw
+namespace.sphal.permitted.paths = /odm/${LIB}
+namespace.sphal.permitted.paths += /vendor/${LIB}
+namespace.sphal.permitted.paths += /vendor/odm/${LIB}
+namespace.sphal.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
+namespace.sphal.asan.search.paths += /odm/${LIB}
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
+namespace.sphal.asan.search.paths += /vendor/${LIB}
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}/egl
+namespace.sphal.asan.search.paths += /vendor/${LIB}/egl
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}/hw
+namespace.sphal.asan.search.paths += /vendor/${LIB}/hw
+namespace.sphal.asan.permitted.paths = /data/asan/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /odm/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/vendor/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /vendor/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/system/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.hwasan.search.paths = /odm/${LIB}/hwasan
+namespace.sphal.hwasan.search.paths += /odm/${LIB}
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hwasan
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/egl/hwasan
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/egl
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hw/hwasan
+namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hw
+namespace.sphal.hwasan.permitted.paths = /odm/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /odm/${LIB}
+namespace.sphal.hwasan.permitted.paths += /vendor/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /vendor/${LIB}
+namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}
+namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}/hwasan
+namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.links = system,vndk,com_android_neuralnetworks
+namespace.sphal.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.link.vndk.shared_libs = android.hardware.graphics.common@1.0.so:android.hardware.graphics.common@1.1.so:android.hardware.graphics.common@1.2.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.mapper@2.1.so:android.hardware.graphics.mapper@3.0.so:android.hardware.renderscript@1.0.so:android.hidl.memory.token@1.0.so:android.hidl.memory@1.0-impl.so:android.hidl.memory@1.0.so:android.hidl.safe_union@1.0.so:libRSCpuRef.so:libRSDriver.so:libRS_internal.so:libbase.so:libbcinfo.so:libc++.so:libcutils.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libion.so:libjsoncpp.so:liblzma.so:libprocessgroup.so:libunwindstack.so:libutils.so:libutilscallstack.so:libz.so
+namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
+namespace.system.isolated = true
+namespace.system.visible = true
+namespace.system.search.paths = /system/${LIB}
+namespace.system.search.paths += /system_ext/${LIB}
+namespace.system.permitted.paths = /system/${LIB}/drm
+namespace.system.permitted.paths += /system/${LIB}/extractors
+namespace.system.permitted.paths += /system/${LIB}/hw
+namespace.system.permitted.paths += /system_ext/${LIB}
+namespace.system.permitted.paths += /system/framework
+namespace.system.permitted.paths += /system/app
+namespace.system.permitted.paths += /system/priv-app
+namespace.system.permitted.paths += /system_ext/framework
+namespace.system.permitted.paths += /system_ext/app
+namespace.system.permitted.paths += /system_ext/priv-app
+namespace.system.permitted.paths += /vendor/framework
+namespace.system.permitted.paths += /vendor/app
+namespace.system.permitted.paths += /vendor/priv-app
+namespace.system.permitted.paths += /system/vendor/framework
+namespace.system.permitted.paths += /system/vendor/app
+namespace.system.permitted.paths += /system/vendor/priv-app
+namespace.system.permitted.paths += /odm/framework
+namespace.system.permitted.paths += /odm/app
+namespace.system.permitted.paths += /odm/priv-app
+namespace.system.permitted.paths += /oem/app
+namespace.system.permitted.paths += /product/framework
+namespace.system.permitted.paths += /product/app
+namespace.system.permitted.paths += /product/priv-app
+namespace.system.permitted.paths += /data
+namespace.system.permitted.paths += /mnt/expand
+namespace.system.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.system.permitted.paths += /system/${LIB}/bootstrap
+namespace.system.asan.search.paths = /data/asan/system/${LIB}
+namespace.system.asan.search.paths += /system/${LIB}
+namespace.system.asan.search.paths += /data/asan/system_ext/${LIB}
+namespace.system.asan.search.paths += /system_ext/${LIB}
+namespace.system.asan.permitted.paths = /data/asan/system/${LIB}/drm
+namespace.system.asan.permitted.paths += /system/${LIB}/drm
+namespace.system.asan.permitted.paths += /data/asan/system/${LIB}/extractors
+namespace.system.asan.permitted.paths += /system/${LIB}/extractors
+namespace.system.asan.permitted.paths += /data/asan/system/${LIB}/hw
+namespace.system.asan.permitted.paths += /system/${LIB}/hw
+namespace.system.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.system.asan.permitted.paths += /system_ext/${LIB}
+namespace.system.asan.permitted.paths += /data/asan/system/framework
+namespace.system.asan.permitted.paths += /system/framework
+namespace.system.asan.permitted.paths += /data/asan/system/app
+namespace.system.asan.permitted.paths += /system/app
+namespace.system.asan.permitted.paths += /data/asan/system/priv-app
+namespace.system.asan.permitted.paths += /system/priv-app
+namespace.system.asan.permitted.paths += /data/asan/system_ext/framework
+namespace.system.asan.permitted.paths += /system_ext/framework
+namespace.system.asan.permitted.paths += /data/asan/system_ext/app
+namespace.system.asan.permitted.paths += /system_ext/app
+namespace.system.asan.permitted.paths += /data/asan/system_ext/priv-app
+namespace.system.asan.permitted.paths += /system_ext/priv-app
+namespace.system.asan.permitted.paths += /data/asan/vendor/framework
+namespace.system.asan.permitted.paths += /vendor/framework
+namespace.system.asan.permitted.paths += /data/asan/vendor/app
+namespace.system.asan.permitted.paths += /vendor/app
+namespace.system.asan.permitted.paths += /data/asan/vendor/priv-app
+namespace.system.asan.permitted.paths += /vendor/priv-app
+namespace.system.asan.permitted.paths += /data/asan/system/vendor/framework
+namespace.system.asan.permitted.paths += /system/vendor/framework
+namespace.system.asan.permitted.paths += /data/asan/system/vendor/app
+namespace.system.asan.permitted.paths += /system/vendor/app
+namespace.system.asan.permitted.paths += /data/asan/system/vendor/priv-app
+namespace.system.asan.permitted.paths += /system/vendor/priv-app
+namespace.system.asan.permitted.paths += /data/asan/odm/framework
+namespace.system.asan.permitted.paths += /odm/framework
+namespace.system.asan.permitted.paths += /data/asan/odm/app
+namespace.system.asan.permitted.paths += /odm/app
+namespace.system.asan.permitted.paths += /data/asan/odm/priv-app
+namespace.system.asan.permitted.paths += /odm/priv-app
+namespace.system.asan.permitted.paths += /data/asan/oem/app
+namespace.system.asan.permitted.paths += /oem/app
+namespace.system.asan.permitted.paths += /data/asan/product/framework
+namespace.system.asan.permitted.paths += /product/framework
+namespace.system.asan.permitted.paths += /data/asan/product/app
+namespace.system.asan.permitted.paths += /product/app
+namespace.system.asan.permitted.paths += /data/asan/product/priv-app
+namespace.system.asan.permitted.paths += /product/priv-app
+namespace.system.asan.permitted.paths += /data/asan/data
+namespace.system.asan.permitted.paths += /data
+namespace.system.asan.permitted.paths += /data/asan/mnt/expand
+namespace.system.asan.permitted.paths += /mnt/expand
+namespace.system.asan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.system.asan.permitted.paths += /data/asan/system/${LIB}/bootstrap
+namespace.system.asan.permitted.paths += /system/${LIB}/bootstrap
+namespace.system.hwasan.search.paths = /system/${LIB}/hwasan
+namespace.system.hwasan.search.paths += /system/${LIB}
+namespace.system.hwasan.search.paths += /system_ext/${LIB}/hwasan
+namespace.system.hwasan.search.paths += /system_ext/${LIB}
+namespace.system.hwasan.permitted.paths = /system/${LIB}/drm/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/drm
+namespace.system.hwasan.permitted.paths += /system/${LIB}/extractors/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/extractors
+namespace.system.hwasan.permitted.paths += /system/${LIB}/hw/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/hw
+namespace.system.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.system.hwasan.permitted.paths += /system/framework/hwasan
+namespace.system.hwasan.permitted.paths += /system/framework
+namespace.system.hwasan.permitted.paths += /system/app/hwasan
+namespace.system.hwasan.permitted.paths += /system/app
+namespace.system.hwasan.permitted.paths += /system/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /system/priv-app
+namespace.system.hwasan.permitted.paths += /system_ext/framework/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/framework
+namespace.system.hwasan.permitted.paths += /system_ext/app/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/app
+namespace.system.hwasan.permitted.paths += /system_ext/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /system_ext/priv-app
+namespace.system.hwasan.permitted.paths += /vendor/framework/hwasan
+namespace.system.hwasan.permitted.paths += /vendor/framework
+namespace.system.hwasan.permitted.paths += /vendor/app/hwasan
+namespace.system.hwasan.permitted.paths += /vendor/app
+namespace.system.hwasan.permitted.paths += /vendor/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /vendor/priv-app
+namespace.system.hwasan.permitted.paths += /system/vendor/framework/hwasan
+namespace.system.hwasan.permitted.paths += /system/vendor/framework
+namespace.system.hwasan.permitted.paths += /system/vendor/app/hwasan
+namespace.system.hwasan.permitted.paths += /system/vendor/app
+namespace.system.hwasan.permitted.paths += /system/vendor/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /system/vendor/priv-app
+namespace.system.hwasan.permitted.paths += /odm/framework/hwasan
+namespace.system.hwasan.permitted.paths += /odm/framework
+namespace.system.hwasan.permitted.paths += /odm/app/hwasan
+namespace.system.hwasan.permitted.paths += /odm/app
+namespace.system.hwasan.permitted.paths += /odm/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /odm/priv-app
+namespace.system.hwasan.permitted.paths += /oem/app/hwasan
+namespace.system.hwasan.permitted.paths += /oem/app
+namespace.system.hwasan.permitted.paths += /product/framework/hwasan
+namespace.system.hwasan.permitted.paths += /product/framework
+namespace.system.hwasan.permitted.paths += /product/app/hwasan
+namespace.system.hwasan.permitted.paths += /product/app
+namespace.system.hwasan.permitted.paths += /product/priv-app/hwasan
+namespace.system.hwasan.permitted.paths += /product/priv-app
+namespace.system.hwasan.permitted.paths += /data/hwasan
+namespace.system.hwasan.permitted.paths += /data
+namespace.system.hwasan.permitted.paths += /mnt/expand/hwasan
+namespace.system.hwasan.permitted.paths += /mnt/expand
+namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic/hwasan
+namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
+namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,default
+namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
+namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
+namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
+namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
+namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.default.shared_libs = libsystemextrequire.so
+namespace.vndk.isolated = true
+namespace.vndk.visible = true
+namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
+namespace.vndk.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.search.paths += /apex/com.android.vndk.vR/${LIB}
+namespace.vndk.search.paths += /odm/${LIB}
+namespace.vndk.search.paths += /vendor/${LIB}
+namespace.vndk.permitted.paths = /odm/${LIB}/hw
+namespace.vndk.permitted.paths += /odm/${LIB}/egl
+namespace.vndk.permitted.paths += /vendor/${LIB}/hw
+namespace.vndk.permitted.paths += /vendor/${LIB}/egl
+namespace.vndk.permitted.paths += /system/vendor/${LIB}/hw
+namespace.vndk.permitted.paths += /system/vendor/${LIB}/egl
+namespace.vndk.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw
+namespace.vndk.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /odm/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /apex/com.android.vndk.vR/${LIB}
+namespace.vndk.asan.search.paths += /data/asan/odm/${LIB}
+namespace.vndk.asan.search.paths += /odm/${LIB}
+namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}
+namespace.vndk.asan.search.paths += /vendor/${LIB}
+namespace.vndk.asan.permitted.paths = /data/asan/odm/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /odm/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /data/asan/odm/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /odm/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /data/asan/system/vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /system/vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /data/asan/system/vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /system/vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw
+namespace.vndk.hwasan.search.paths = /odm/${LIB}/vndk-sp/hwasan
+namespace.vndk.hwasan.search.paths += /odm/${LIB}/vndk-sp
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}/vndk-sp/hwasan
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.hwasan.search.paths += /apex/com.android.vndk.vR/${LIB}/hwasan
+namespace.vndk.hwasan.search.paths += /apex/com.android.vndk.vR/${LIB}
+namespace.vndk.hwasan.search.paths += /odm/${LIB}/hwasan
+namespace.vndk.hwasan.search.paths += /odm/${LIB}
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}/hwasan
+namespace.vndk.hwasan.search.paths += /vendor/${LIB}
+namespace.vndk.hwasan.permitted.paths = /odm/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /odm/${LIB}/hw
+namespace.vndk.hwasan.permitted.paths += /odm/${LIB}/egl/hwasan
+namespace.vndk.hwasan.permitted.paths += /odm/${LIB}/egl
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/hw
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/egl/hwasan
+namespace.vndk.hwasan.permitted.paths += /vendor/${LIB}/egl
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/hw
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/egl/hwasan
+namespace.vndk.hwasan.permitted.paths += /system/vendor/${LIB}/egl
+namespace.vndk.hwasan.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw/hwasan
+namespace.vndk.hwasan.permitted.paths += /apex/com.android.vndk.vR/${LIB}/hw
+namespace.vndk.links = system,com_android_neuralnetworks
+namespace.vndk.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.vndk.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
diff --git a/testdata/golden_output/vndk-in-system/com.product.service1/ld.config.txt b/testdata/golden_output/vndk-in-system/com.product.service1/ld.config.txt
index df95916..a13a837 100644
--- a/testdata/golden_output/vndk-in-system/com.product.service1/ld.config.txt
+++ b/testdata/golden_output/vndk-in-system/com.product.service1/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.product.service1 = /apex/com.product.service1/bin
[com.product.service1]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,product,sphal,system,vndk,vndk_in_system
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,product,sphal,system,vndk,vndk_in_system
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.product.service1/${LIB}
namespace.default.permitted.paths = /apex/com.product.service1/${LIB}
@@ -212,6 +212,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.product.isolated = true
namespace.product.visible = true
namespace.product.search.paths = /product/${LIB}
@@ -422,12 +443,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.search.paths = /product/${LIB}/vndk-sp
namespace.vndk.search.paths += /product/${LIB}/vndk
diff --git a/testdata/golden_output/vndk-in-system/com.vendor.service1/ld.config.txt b/testdata/golden_output/vndk-in-system/com.vendor.service1/ld.config.txt
index 419aae4..d482467 100644
--- a/testdata/golden_output/vndk-in-system/com.vendor.service1/ld.config.txt
+++ b/testdata/golden_output/vndk-in-system/com.vendor.service1/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.vendor.service1 = /apex/com.vendor.service1/bin
[com.vendor.service1]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,rs,system,vendor,vndk,vndk_in_system
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,rs,system,vendor,vndk,vndk_in_system
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.vendor.service1/${LIB}
namespace.default.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -222,6 +222,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.rs.isolated = true
namespace.rs.visible = true
namespace.rs.search.paths = /odm/${LIB}/vndk-sp
@@ -417,12 +438,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vendor.isolated = true
namespace.vendor.visible = true
namespace.vendor.search.paths = /odm/${LIB}
diff --git a/testdata/golden_output/vndk-in-system/com.vendor.service2/ld.config.txt b/testdata/golden_output/vndk-in-system/com.vendor.service2/ld.config.txt
index ff4bf76..b911911 100644
--- a/testdata/golden_output/vndk-in-system/com.vendor.service2/ld.config.txt
+++ b/testdata/golden_output/vndk-in-system/com.vendor.service2/ld.config.txt
@@ -1,6 +1,6 @@
dir.com.vendor.service2 = /apex/com.vendor.service2/bin
[com.vendor.service2]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service1,mediacas,rs,system,vendor,vndk,vndk_in_system
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service1,mediacas,rs,system,vendor,vndk,vndk_in_system
namespace.default.isolated = true
namespace.default.search.paths = /apex/com.vendor.service2/${LIB}
namespace.default.search.paths += /apex/com.vendor.service2/${LIB}/hw
@@ -215,6 +215,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service1.isolated = true
namespace.com_vendor_service1.search.paths = /apex/com.vendor.service1/${LIB}
namespace.com_vendor_service1.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -466,12 +487,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vendor.isolated = true
namespace.vendor.visible = true
namespace.vendor.search.paths = /odm/${LIB}
diff --git a/testdata/golden_output/vndk-in-system/ld.config.txt b/testdata/golden_output/vndk-in-system/ld.config.txt
index 1f70326..bc53e0c 100644
--- a/testdata/golden_output/vndk-in-system/ld.config.txt
+++ b/testdata/golden_output/vndk-in-system/ld.config.txt
@@ -24,7 +24,7 @@ dir.postinstall = /postinstall
dir.system = /data
dir.system = /product/app/
[system]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_product_service1,com_vendor_service3,product,rs,sphal,vndk,vndk_product
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_product_service1,com_vendor_service3,product,rs,sphal,vndk,vndk_product
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /system/${LIB}
@@ -171,12 +171,13 @@ namespace.default.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bio
namespace.default.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.default.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.default.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.default.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.default.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.default.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.default.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.default.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.default.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -392,6 +393,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = default
namespace.com_android_runtime.link.default.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = default
+namespace.com_android_systemext1.link.default.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_product_service1.isolated = true
namespace.com_product_service1.search.paths = /apex/com.product.service1/${LIB}
namespace.com_product_service1.permitted.paths = /apex/com.product.service1/${LIB}
@@ -635,7 +657,7 @@ namespace.vndk_product.links = default,com_android_neuralnetworks
namespace.vndk_product.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.vndk_product.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[vendor]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service1,com_vendor_service3,rs,system,vndk,vndk_in_system
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service1,com_vendor_service3,rs,system,vndk,vndk_in_system
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /odm/${LIB}
@@ -871,6 +893,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service1.isolated = true
namespace.com_vendor_service1.search.paths = /apex/com.vendor.service1/${LIB}
namespace.com_vendor_service1.search.paths += /apex/com.vendor.service1/${LIB}/hw
@@ -1124,12 +1167,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
namespace.vndk.search.paths += /odm/${LIB}/vndk
@@ -1212,7 +1256,7 @@ namespace.vndk_in_system.link.vndk.allow_all_shared_libs = true
namespace.vndk_in_system.link.default.allow_all_shared_libs = true
namespace.vndk_in_system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[product]
-additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_product_service1,com_vendor_service3,system,vndk,vndk_in_system
+additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_product_service1,com_vendor_service3,system,vndk,vndk_in_system
namespace.default.isolated = true
namespace.default.visible = true
namespace.default.search.paths = /product/${LIB}
@@ -1422,6 +1466,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_product_service1.isolated = true
namespace.com_product_service1.search.paths = /apex/com.product.service1/${LIB}
namespace.com_product_service1.permitted.paths = /apex/com.product.service1/${LIB}
@@ -1614,12 +1679,13 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.vndk.isolated = true
namespace.vndk.search.paths = /product/${LIB}/vndk-sp
namespace.vndk.search.paths += /product/${LIB}/vndk
@@ -1658,7 +1724,7 @@ namespace.vndk_in_system.link.vndk.allow_all_shared_libs = true
namespace.vndk_in_system.link.default.allow_all_shared_libs = true
namespace.vndk_in_system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[unrestricted]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,rs,sphal,vndk
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service3,rs,sphal,vndk
namespace.default.isolated = false
namespace.default.visible = true
namespace.default.search.paths = /system/${LIB}
@@ -1686,12 +1752,13 @@ namespace.default.hwasan.search.paths += /vendor/${LIB}/hwasan
namespace.default.hwasan.search.paths += /vendor/${LIB}
namespace.default.hwasan.search.paths += /product/${LIB}/hwasan
namespace.default.hwasan.search.paths += /product/${LIB}
-namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.default.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.default.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.default.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.default.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.default.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.default.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.default.link.com_android_systemext1.shared_libs = libsystemextrequire.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
namespace.com_android_adbd.permitted.paths = /apex/com.android.adbd/${LIB}
@@ -1907,6 +1974,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = default
namespace.com_android_runtime.link.default.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = default
+namespace.com_android_systemext1.link.default.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service3.isolated = true
namespace.com_vendor_service3.visible = true
namespace.com_vendor_service3.search.paths = /apex/com.vendor.service3/${LIB}
@@ -2110,7 +2198,7 @@ namespace.default.hwasan.search.paths += /system_ext/${LIB}
namespace.default.hwasan.search.paths += /product/${LIB}/hwasan
namespace.default.hwasan.search.paths += /product/${LIB}
[isolated]
-additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,system
+additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_android_systemext1,com_vendor_service3,system
namespace.default.isolated = true
namespace.default.links = system
namespace.default.link.system.allow_all_shared_libs = true
@@ -2329,6 +2417,27 @@ namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}/hwasa
namespace.com_android_runtime.hwasan.permitted.paths += /system_ext/${LIB}
namespace.com_android_runtime.links = system
namespace.com_android_runtime.link.system.shared_libs = liblog.so:libc.so:libdl.so:libdl_android.so:libm.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.com_android_systemext1.isolated = true
+namespace.com_android_systemext1.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.asan.search.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths = /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /data/asan/system_ext/${LIB}
+namespace.com_android_systemext1.asan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.hwasan.search.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.search.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths = /apex/com.android.systemext1/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /apex/com.android.systemext1/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system/${LIB}
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}/hwasan
+namespace.com_android_systemext1.hwasan.permitted.paths += /system_ext/${LIB}
+namespace.com_android_systemext1.links = system
+namespace.com_android_systemext1.link.system.shared_libs = libc.so:libdl.so:libdl_android.so:liblog.so:libm.so:libsystemextprovide.so:libclang_rt.asan-arm-android.so:libclang_rt.asan-i686-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.com_vendor_service3.isolated = true
namespace.com_vendor_service3.visible = true
namespace.com_vendor_service3.search.paths = /apex/com.vendor.service3/${LIB}
@@ -2500,9 +2609,10 @@ namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bion
namespace.system.hwasan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap/hwasan
namespace.system.hwasan.permitted.paths += /system/${LIB}/bootstrap
-namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd
+namespace.system.links = com_android_i18n,com_android_art,com_android_resolv,com_android_neuralnetworks,com_android_os_statsd,com_android_systemext1
namespace.system.link.com_android_i18n.shared_libs = libandroidicu.so:libicu.so:libicui18n.so:libicuuc.so:libpac.so
namespace.system.link.com_android_art.shared_libs = libdexfile.so:libdexfiled.so:libnativebridge.so:libnativehelper.so:libnativeloader.so
namespace.system.link.com_android_resolv.shared_libs = libnetd_resolv.so
namespace.system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.link.com_android_os_statsd.shared_libs = libstatspull.so:libstatssocket.so
+namespace.system.link.com_android_systemext1.shared_libs = libsystemextrequire.so
diff --git a/testdata/root/system_ext/apex/com.android.systemext1/apex_manifest.json b/testdata/root/system_ext/apex/com.android.systemext1/apex_manifest.json
new file mode 100644
index 0000000..9da8ecb
--- /dev/null
+++ b/testdata/root/system_ext/apex/com.android.systemext1/apex_manifest.json
@@ -0,0 +1,15 @@
+{
+ "name": "com.android.systemext1",
+ "version": 1,
+ "provideNativeLibs": [
+ "libsystemextrequire.so"
+ ],
+ "requireNativeLibs": [
+ "libc.so",
+ "libdl.so",
+ "libdl_android.so",
+ "liblog.so",
+ "libm.so",
+ "libsystemextprovide.so"
+ ]
+}
diff --git a/testdata/root/system_ext/apex/com.android.systemext1/bin/.keep b/testdata/root/system_ext/apex/com.android.systemext1/bin/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/testdata/root/system_ext/apex/com.android.systemext1/bin/.keep
diff --git a/testdata/root/system_ext/etc/linker.config.json b/testdata/root/system_ext/etc/linker.config.json
new file mode 100644
index 0000000..239abe9
--- /dev/null
+++ b/testdata/root/system_ext/etc/linker.config.json
@@ -0,0 +1,8 @@
+{
+ "provideLibs": [
+ "libsystemextprovide.so"
+ ],
+ "requireLibs": [
+ "libsystemextrequire.so"
+ ]
+}