aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJooyung Han <jooyung@google.com>2023-10-12 15:19:46 +0900
committerJooyung Han <jooyung@google.com>2024-01-18 12:57:58 +0900
commitd5620a07b8cc83c2d8ff0d0fc513273f5bebb082 (patch)
tree2702db0d5be64d514a0e51cd88e32cf3fbe1c0d5
parentd9394d4f13e36ab0784dccf8da0a7ed2a07ad2de (diff)
downloadlinkerconfig-android14-gsi.tar.gz
Add :mediacas aliasandroid14-gsi
which exports "mediacas" namespace for vendor apex which needs to open plugsin from /vendor/lib/mediacas. Bug: 298542407 Test: linkerconfig_diff_test Change-Id: I50d9dfc08743caef0ed5273556dc912505581d1a (cherry picked from commit 6750e7a4314199fd7a6b547f69f6ece65f853434)
-rw-r--r--contents/include/linkerconfig/namespacebuilder.h3
-rw-r--r--contents/namespace/vendordefault.cc43
-rw-r--r--contents/section/apexdefault.cc5
-rw-r--r--contents/section/vendor.cc2
-rw-r--r--testdata/golden_output/gen-only-a-single-apex/com.vendor.service2/ld.config.txt27
-rw-r--r--testdata/golden_output/guest/com.vendor.service2/ld.config.txt27
-rw-r--r--testdata/golden_output/legacy/com.vendor.service2/ld.config.txt25
-rw-r--r--testdata/golden_output/product-enabled/com.vendor.service2/ld.config.txt27
-rw-r--r--testdata/golden_output/stage2/com.vendor.service2/ld.config.txt27
-rw-r--r--testdata/golden_output/vndk-in-system/com.vendor.service2/ld.config.txt28
-rw-r--r--testdata/root/vendor/apex/com.vendor.service2/apex_manifest.json1
11 files changed, 203 insertions, 12 deletions
diff --git a/contents/include/linkerconfig/namespacebuilder.h b/contents/include/linkerconfig/namespacebuilder.h
index 7f6a056..1725ac4 100644
--- a/contents/include/linkerconfig/namespacebuilder.h
+++ b/contents/include/linkerconfig/namespacebuilder.h
@@ -53,6 +53,9 @@ modules::Namespace BuildApexEmptyDefaultNamespace(
const Context& ctx, const modules::ApexInfo& apex_info);
NamespaceBuilder BuildApexPlatformNamespace;
+void AddVendorSubdirNamespaceProviders(const Context& ctx,
+ modules::LibProviders& providers);
+
} // namespace contents
} // namespace linkerconfig
} // namespace android
diff --git a/contents/namespace/vendordefault.cc b/contents/namespace/vendordefault.cc
index aea148f..08c9c3a 100644
--- a/contents/namespace/vendordefault.cc
+++ b/contents/namespace/vendordefault.cc
@@ -24,6 +24,9 @@
#include "linkerconfig/common.h"
#include "linkerconfig/environment.h"
+using android::linkerconfig::modules::AllowAllSharedLibs;
+using android::linkerconfig::modules::LibProvider;
+using android::linkerconfig::modules::LibProviders;
using android::linkerconfig::modules::Namespace;
namespace android {
@@ -63,6 +66,46 @@ Namespace BuildVendorNamespace([[maybe_unused]] const Context& ctx,
ns.AddProvides(ctx.GetVendorProvideLibs());
return ns;
}
+
+static Namespace BuildVendorSubdirNamespace(const Context&,
+ const std::string& name,
+ const std::string& subdir) {
+ Namespace ns(name, /*is_isolated=*/true, /*is_visible=*/true);
+ ns.AddSearchPath("/vendor/${LIB}/" + subdir);
+ ns.AddPermittedPath("/vendor/${LIB}/" + subdir);
+ ns.AddPermittedPath("/system/vendor/${LIB}/" + subdir);
+
+ // Common requirements for vendor libraries:
+ ns.AddRequires(base::Split(Var("LLNDK_LIBRARIES_VENDOR", ""), ":"));
+ ns.AddRequires(std::vector{":vendorall"});
+ ns.AddRequires(std::vector{":vndk"});
+
+ return ns;
+}
+
+void AddVendorSubdirNamespaceProviders(const Context& ctx,
+ LibProviders& providers) {
+ // Export known vendor subdirs as linker namespaces
+
+ // /vendor/lib/mediacas is for CAS HAL to open CAS plugins
+ providers[":mediacas"] = {LibProvider{
+ "mediacas",
+ std::bind(BuildVendorSubdirNamespace, ctx, "mediacas", "mediacas"),
+ AllowAllSharedLibs{},
+ }};
+
+ // Vendor subdir namespace should be able to access all /vendor/libs.
+ std::string vendor_namespace_name = "default";
+ if (ctx.IsApexBinaryConfig()) {
+ vendor_namespace_name = "vendor";
+ }
+ providers[":vendorall"] = {LibProvider{
+ "vendor",
+ std::bind(BuildVendorNamespace, ctx, vendor_namespace_name),
+ AllowAllSharedLibs{},
+ }};
+}
+
} // namespace contents
} // namespace linkerconfig
} // namespace android
diff --git a/contents/section/apexdefault.cc b/contents/section/apexdefault.cc
index 88d4837..b9d244f 100644
--- a/contents/section/apexdefault.cc
+++ b/contents/section/apexdefault.cc
@@ -33,6 +33,7 @@ using android::linkerconfig::modules::LibProviders;
using android::linkerconfig::modules::Namespace;
using android::linkerconfig::modules::SharedLibs;
using android::linkerconfig::modules::Section;
+using android::linkerconfig::modules::SharedLibs;
namespace android {
namespace linkerconfig {
@@ -147,6 +148,10 @@ Section BuildApexDefaultSection(Context& ctx, const ApexInfo& apex_info) {
}};
}
+ if (apex_info.InVendor()) {
+ AddVendorSubdirNamespaceProviders(ctx, libs_providers);
+ }
+
return BuildSection(
ctx, apex_info.name, std::move(namespaces), visible_apexes, libs_providers);
}
diff --git a/contents/section/vendor.cc b/contents/section/vendor.cc
index 87cd43b..ca8f648 100644
--- a/contents/section/vendor.cc
+++ b/contents/section/vendor.cc
@@ -59,6 +59,8 @@ Section BuildVendorSection(Context& ctx) {
libs_providers[":vndk"] = GetVndkProvider(ctx, VndkUserPartition::Vendor);
}
+ AddVendorSubdirNamespaceProviders(ctx, libs_providers);
+
return BuildSection(
ctx, "vendor", std::move(namespaces), visible_apexes, libs_providers);
}
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 7d31fc2..01f2d4d 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,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_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
@@ -28,7 +28,8 @@ 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.links = mediacas,system
+namespace.default.link.mediacas.allow_all_shared_libs = true
namespace.default.link.system.shared_libs = 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:libc.so:libdl.so:libdl_android.so:libm.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
@@ -254,6 +255,28 @@ namespace.com_vendor_service1.links = vndk,system,vendor
namespace.com_vendor_service1.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:android.frameworks.cameraservice.common@2.0.so:android.frameworks.cameraservice.device@2.0.so:android.frameworks.cameraservice.service@2.0.so:android.frameworks.displayservice@1.0.so:android.frameworks.schedulerservice@1.0.so:android.frameworks.sensorservice@1.0.so:android.frameworks.stats@1.0.so:android.hardware.atrace@1.0.so:android.hardware.audio.common@2.0.so:android.hardware.audio.common@4.0.so:android.hardware.audio.common@5.0.so:android.hardware.audio.common@6.0.so:android.hardware.audio.effect@2.0.so:android.hardware.audio.effect@4.0.so:android.hardware.audio.effect@5.0.so:android.hardware.audio.effect@6.0.so:android.hardware.audio@2.0.so:android.hardware.audio@4.0.so:android.hardware.audio@5.0.so:android.hardware.audio@6.0.so:android.hardware.authsecret@1.0.so:android.hardware.automotive.audiocontrol@1.0.so:android.hardware.automotive.evs@1.0.so:android.hardware.automotive.vehicle@2.0.so:android.hardware.biometrics.face@1.0.so:android.hardware.biometrics.fingerprint@2.1.so:android.hardware.bluetooth.a2dp@1.0.so:android.hardware.bluetooth.audio@2.0.so:android.hardware.bluetooth@1.0.so:android.hardware.bluetooth@1.1.so:android.hardware.boot@1.0.so:android.hardware.boot@1.1.so:android.hardware.broadcastradio@1.0.so:android.hardware.broadcastradio@1.1.so:android.hardware.broadcastradio@2.0.so:android.hardware.camera.common@1.0.so:android.hardware.camera.device@1.0.so:android.hardware.camera.device@3.2.so:android.hardware.camera.device@3.3.so:android.hardware.camera.device@3.4.so:android.hardware.camera.device@3.5.so:android.hardware.camera.metadata@3.2.so:android.hardware.camera.metadata@3.3.so:android.hardware.camera.metadata@3.4.so:android.hardware.camera.provider@2.4.so:android.hardware.camera.provider@2.5.so:android.hardware.cas.native@1.0.so:android.hardware.cas@1.0.so:android.hardware.cas@1.1.so:android.hardware.cas@1.2.so:android.hardware.configstore-utils.so:android.hardware.configstore@1.0.so:android.hardware.configstore@1.1.so:android.hardware.confirmationui-support-lib.so:android.hardware.confirmationui@1.0.so:android.hardware.contexthub@1.0.so:android.hardware.drm@1.0.so:android.hardware.drm@1.1.so:android.hardware.drm@1.2.so:android.hardware.dumpstate@1.0.so:android.hardware.dumpstate@1.1.so:android.hardware.fastboot@1.0.so:android.hardware.gatekeeper@1.0.so:android.hardware.gnss.measurement_corrections@1.0.so:android.hardware.gnss.visibility_control@1.0.so:android.hardware.gnss@1.0.so:android.hardware.gnss@1.1.so:android.hardware.gnss@2.0.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.allocator@3.0.so:android.hardware.graphics.bufferqueue@1.0.so:android.hardware.graphics.bufferqueue@2.0.so:android.hardware.graphics.composer@2.1.so:android.hardware.graphics.composer@2.2.so:android.hardware.graphics.composer@2.3.so:android.hardware.health.storage@1.0.so:android.hardware.health@1.0.so:android.hardware.health@2.0.so:android.hardware.health@2.1.so:android.hardware.identity-V1-ndk_platform.so:android.hardware.input.classifier@1.0.so:android.hardware.input.common@1.0.so:android.hardware.ir@1.0.so:android.hardware.keymaster-V1-ndk_platform.so:android.hardware.keymaster@3.0.so:android.hardware.keymaster@4.0.so:android.hardware.keymaster@4.1.so:android.hardware.light-V1-ndk_platform.so:android.hardware.light@2.0.so:android.hardware.media.bufferpool@1.0.so:android.hardware.media.bufferpool@2.0.so:android.hardware.media.c2@1.0.so:android.hardware.media.omx@1.0.so:android.hardware.media@1.0.so:android.hardware.memtrack@1.0.so:android.hardware.neuralnetworks@1.0.so:android.hardware.neuralnetworks@1.1.so:android.hardware.neuralnetworks@1.2.so:android.hardware.neuralnetworks@1.3.so:android.hardware.nfc@1.0.so:android.hardware.nfc@1.1.so:android.hardware.nfc@1.2.so:android.hardware.oemlock@1.0.so:android.hardware.power-V1-ndk_platform.so:android.hardware.power.stats@1.0.so:android.hardware.power@1.0.so:android.hardware.power@1.1.so:android.hardware.power@1.2.so:android.hardware.power@1.3.so:android.hardware.radio.config@1.0.so:android.hardware.radio.config@1.1.so:android.hardware.radio.config@1.2.so:android.hardware.radio.config@1.3.so:android.hardware.radio.deprecated@1.0.so:android.hardware.radio@1.0.so:android.hardware.radio@1.1.so:android.hardware.radio@1.2.so:android.hardware.radio@1.3.so:android.hardware.radio@1.4.so:android.hardware.radio@1.5.so:android.hardware.secure_element@1.0.so:android.hardware.secure_element@1.1.so:android.hardware.secure_element@1.2.so:android.hardware.sensors@1.0.so:android.hardware.sensors@2.0.so:android.hardware.soundtrigger@2.0-core.so:android.hardware.soundtrigger@2.0.so:android.hardware.soundtrigger@2.1.so:android.hardware.soundtrigger@2.2.so:android.hardware.tetheroffload.config@1.0.so:android.hardware.tetheroffload.control@1.0.so:android.hardware.thermal@1.0.so:android.hardware.thermal@1.1.so:android.hardware.thermal@2.0.so:android.hardware.tv.cec@1.0.so:android.hardware.tv.cec@2.0.so:android.hardware.tv.input@1.0.so:android.hardware.tv.tuner@1.0.so:android.hardware.usb.gadget@1.0.so:android.hardware.usb@1.0.so:android.hardware.usb@1.1.so:android.hardware.usb@1.2.so:android.hardware.vibrator-V1-ndk_platform.so:android.hardware.vibrator@1.0.so:android.hardware.vibrator@1.1.so:android.hardware.vibrator@1.2.so:android.hardware.vibrator@1.3.so:android.hardware.vr@1.0.so:android.hardware.weaver@1.0.so:android.hardware.wifi.hostapd@1.0.so:android.hardware.wifi.hostapd@1.1.so:android.hardware.wifi.offload@1.0.so:android.hardware.wifi.supplicant@1.0.so:android.hardware.wifi.supplicant@1.1.so:android.hardware.wifi.supplicant@1.2.so:android.hardware.wifi@1.0.so:android.hardware.wifi@1.1.so:android.hardware.wifi@1.2.so:android.hardware.wifi@1.3.so:android.hidl.allocator@1.0.so:android.hidl.memory.block@1.0.so:android.hidl.token@1.0-utils.so:android.hidl.token@1.0.so:android.system.net.netd@1.0.so:android.system.net.netd@1.1.so:android.system.suspend@1.0.so:android.system.wifi.keystore@1.0.so:libadf.so:libaudioroute.so:libaudioutils.so:libbinder.so:libcamera_metadata.so:libcap.so:libclang_rt.scudo-i686-android.so:libclang_rt.scudo_minimal-i686-android.so:libclang_rt.ubsan_standalone-i686-android.so:libclang_rt.ubsan_standalone-x86_64-android.so:libcn-cbor.so:libcodec2.so:libcrypto.so:libcrypto_utils.so:libcurl.so:libdiskconfig.so:libdumpstateutil.so:libevent.so:libexif.so:libexpat.so:libfmq.so:libgatekeeper.so:libhardware_legacy.so:libhidlallocatorutils.so:libjpeg.so:libldacBT_abr.so:libldacBT_enc.so:liblz4.so:libmedia_helper.so:libmedia_omx.so:libmemtrack.so:libminijail.so:libmkbootimg_abi_check.so:libnetutils.so:libnl.so:libpcre2.so:libpiex.so:libpng.so:libpower.so:libprocinfo.so:libradio_metadata.so:libselinux.so:libspeexresampler.so:libsqlite.so:libssl.so:libstagefright_bufferpool@2.0.so:libstagefright_bufferqueue_helper.so:libstagefright_foundation.so:libstagefright_omx.so:libstagefright_omx_utils.so:libstagefright_xmlparser.so:libsysutils.so:libtinyalsa.so:libtinyxml2.so:libui.so:libusbhost.so:libwifi-system-iface.so:libxml2.so:libyuv.so:libziparchive.so
namespace.com_vendor_service1.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_vendor_service1.link.vendor.shared_libs = libvendorprovide.so
+namespace.mediacas.isolated = true
+namespace.mediacas.visible = true
+namespace.mediacas.search.paths = /vendor/${LIB}/mediacas
+namespace.mediacas.permitted.paths = /vendor/${LIB}/mediacas
+namespace.mediacas.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.asan.search.paths = /data/asan/vendor/${LIB}/mediacas
+namespace.mediacas.asan.search.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths = /data/asan/vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /data/asan/system/vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.search.paths = /vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.search.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.permitted.paths = /vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.permitted.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.permitted.paths += /system/vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.links = vendor,vndk,system,com_android_neuralnetworks
+namespace.mediacas.link.vendor.allow_all_shared_libs = true
+namespace.mediacas.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:android.frameworks.cameraservice.common@2.0.so:android.frameworks.cameraservice.device@2.0.so:android.frameworks.cameraservice.service@2.0.so:android.frameworks.displayservice@1.0.so:android.frameworks.schedulerservice@1.0.so:android.frameworks.sensorservice@1.0.so:android.frameworks.stats@1.0.so:android.hardware.atrace@1.0.so:android.hardware.audio.common@2.0.so:android.hardware.audio.common@4.0.so:android.hardware.audio.common@5.0.so:android.hardware.audio.common@6.0.so:android.hardware.audio.effect@2.0.so:android.hardware.audio.effect@4.0.so:android.hardware.audio.effect@5.0.so:android.hardware.audio.effect@6.0.so:android.hardware.audio@2.0.so:android.hardware.audio@4.0.so:android.hardware.audio@5.0.so:android.hardware.audio@6.0.so:android.hardware.authsecret@1.0.so:android.hardware.automotive.audiocontrol@1.0.so:android.hardware.automotive.evs@1.0.so:android.hardware.automotive.vehicle@2.0.so:android.hardware.biometrics.face@1.0.so:android.hardware.biometrics.fingerprint@2.1.so:android.hardware.bluetooth.a2dp@1.0.so:android.hardware.bluetooth.audio@2.0.so:android.hardware.bluetooth@1.0.so:android.hardware.bluetooth@1.1.so:android.hardware.boot@1.0.so:android.hardware.boot@1.1.so:android.hardware.broadcastradio@1.0.so:android.hardware.broadcastradio@1.1.so:android.hardware.broadcastradio@2.0.so:android.hardware.camera.common@1.0.so:android.hardware.camera.device@1.0.so:android.hardware.camera.device@3.2.so:android.hardware.camera.device@3.3.so:android.hardware.camera.device@3.4.so:android.hardware.camera.device@3.5.so:android.hardware.camera.metadata@3.2.so:android.hardware.camera.metadata@3.3.so:android.hardware.camera.metadata@3.4.so:android.hardware.camera.provider@2.4.so:android.hardware.camera.provider@2.5.so:android.hardware.cas.native@1.0.so:android.hardware.cas@1.0.so:android.hardware.cas@1.1.so:android.hardware.cas@1.2.so:android.hardware.configstore-utils.so:android.hardware.configstore@1.0.so:android.hardware.configstore@1.1.so:android.hardware.confirmationui-support-lib.so:android.hardware.confirmationui@1.0.so:android.hardware.contexthub@1.0.so:android.hardware.drm@1.0.so:android.hardware.drm@1.1.so:android.hardware.drm@1.2.so:android.hardware.dumpstate@1.0.so:android.hardware.dumpstate@1.1.so:android.hardware.fastboot@1.0.so:android.hardware.gatekeeper@1.0.so:android.hardware.gnss.measurement_corrections@1.0.so:android.hardware.gnss.visibility_control@1.0.so:android.hardware.gnss@1.0.so:android.hardware.gnss@1.1.so:android.hardware.gnss@2.0.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.allocator@3.0.so:android.hardware.graphics.bufferqueue@1.0.so:android.hardware.graphics.bufferqueue@2.0.so:android.hardware.graphics.composer@2.1.so:android.hardware.graphics.composer@2.2.so:android.hardware.graphics.composer@2.3.so:android.hardware.health.storage@1.0.so:android.hardware.health@1.0.so:android.hardware.health@2.0.so:android.hardware.health@2.1.so:android.hardware.identity-V1-ndk_platform.so:android.hardware.input.classifier@1.0.so:android.hardware.input.common@1.0.so:android.hardware.ir@1.0.so:android.hardware.keymaster-V1-ndk_platform.so:android.hardware.keymaster@3.0.so:android.hardware.keymaster@4.0.so:android.hardware.keymaster@4.1.so:android.hardware.light-V1-ndk_platform.so:android.hardware.light@2.0.so:android.hardware.media.bufferpool@1.0.so:android.hardware.media.bufferpool@2.0.so:android.hardware.media.c2@1.0.so:android.hardware.media.omx@1.0.so:android.hardware.media@1.0.so:android.hardware.memtrack@1.0.so:android.hardware.neuralnetworks@1.0.so:android.hardware.neuralnetworks@1.1.so:android.hardware.neuralnetworks@1.2.so:android.hardware.neuralnetworks@1.3.so:android.hardware.nfc@1.0.so:android.hardware.nfc@1.1.so:android.hardware.nfc@1.2.so:android.hardware.oemlock@1.0.so:android.hardware.power-V1-ndk_platform.so:android.hardware.power.stats@1.0.so:android.hardware.power@1.0.so:android.hardware.power@1.1.so:android.hardware.power@1.2.so:android.hardware.power@1.3.so:android.hardware.radio.config@1.0.so:android.hardware.radio.config@1.1.so:android.hardware.radio.config@1.2.so:android.hardware.radio.config@1.3.so:android.hardware.radio.deprecated@1.0.so:android.hardware.radio@1.0.so:android.hardware.radio@1.1.so:android.hardware.radio@1.2.so:android.hardware.radio@1.3.so:android.hardware.radio@1.4.so:android.hardware.radio@1.5.so:android.hardware.secure_element@1.0.so:android.hardware.secure_element@1.1.so:android.hardware.secure_element@1.2.so:android.hardware.sensors@1.0.so:android.hardware.sensors@2.0.so:android.hardware.soundtrigger@2.0-core.so:android.hardware.soundtrigger@2.0.so:android.hardware.soundtrigger@2.1.so:android.hardware.soundtrigger@2.2.so:android.hardware.tetheroffload.config@1.0.so:android.hardware.tetheroffload.control@1.0.so:android.hardware.thermal@1.0.so:android.hardware.thermal@1.1.so:android.hardware.thermal@2.0.so:android.hardware.tv.cec@1.0.so:android.hardware.tv.cec@2.0.so:android.hardware.tv.input@1.0.so:android.hardware.tv.tuner@1.0.so:android.hardware.usb.gadget@1.0.so:android.hardware.usb@1.0.so:android.hardware.usb@1.1.so:android.hardware.usb@1.2.so:android.hardware.vibrator-V1-ndk_platform.so:android.hardware.vibrator@1.0.so:android.hardware.vibrator@1.1.so:android.hardware.vibrator@1.2.so:android.hardware.vibrator@1.3.so:android.hardware.vr@1.0.so:android.hardware.weaver@1.0.so:android.hardware.wifi.hostapd@1.0.so:android.hardware.wifi.hostapd@1.1.so:android.hardware.wifi.offload@1.0.so:android.hardware.wifi.supplicant@1.0.so:android.hardware.wifi.supplicant@1.1.so:android.hardware.wifi.supplicant@1.2.so:android.hardware.wifi@1.0.so:android.hardware.wifi@1.1.so:android.hardware.wifi@1.2.so:android.hardware.wifi@1.3.so:android.hidl.allocator@1.0.so:android.hidl.memory.block@1.0.so:android.hidl.token@1.0-utils.so:android.hidl.token@1.0.so:android.system.net.netd@1.0.so:android.system.net.netd@1.1.so:android.system.suspend@1.0.so:android.system.wifi.keystore@1.0.so:libadf.so:libaudioroute.so:libaudioutils.so:libbinder.so:libcamera_metadata.so:libcap.so:libclang_rt.scudo-i686-android.so:libclang_rt.scudo_minimal-i686-android.so:libclang_rt.ubsan_standalone-i686-android.so:libclang_rt.ubsan_standalone-x86_64-android.so:libcn-cbor.so:libcodec2.so:libcrypto.so:libcrypto_utils.so:libcurl.so:libdiskconfig.so:libdumpstateutil.so:libevent.so:libexif.so:libexpat.so:libfmq.so:libgatekeeper.so:libhardware_legacy.so:libhidlallocatorutils.so:libjpeg.so:libldacBT_abr.so:libldacBT_enc.so:liblz4.so:libmedia_helper.so:libmedia_omx.so:libmemtrack.so:libminijail.so:libmkbootimg_abi_check.so:libnetutils.so:libnl.so:libpcre2.so:libpiex.so:libpng.so:libpower.so:libprocinfo.so:libradio_metadata.so:libselinux.so:libspeexresampler.so:libsqlite.so:libssl.so:libstagefright_bufferpool@2.0.so:libstagefright_bufferqueue_helper.so:libstagefright_foundation.so:libstagefright_omx.so:libstagefright_omx_utils.so:libstagefright_xmlparser.so:libsysutils.so:libtinyalsa.so:libtinyxml2.so:libui.so:libusbhost.so:libwifi-system-iface.so:libxml2.so:libyuv.so:libziparchive.so
+namespace.mediacas.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.mediacas.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.rs.isolated = true
namespace.rs.visible = true
namespace.rs.search.paths = /odm/${LIB}/vndk-sp
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 a90c243..4a4f963 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,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_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
@@ -28,7 +28,8 @@ 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.links = mediacas,system
+namespace.default.link.mediacas.allow_all_shared_libs = true
namespace.default.link.system.shared_libs = 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:libc.so:libdl.so:libdl_android.so:libm.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
@@ -254,6 +255,28 @@ namespace.com_vendor_service1.links = vndk,system,vendor
namespace.com_vendor_service1.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:android.frameworks.cameraservice.common@2.0.so:android.frameworks.cameraservice.device@2.0.so:android.frameworks.cameraservice.service@2.0.so:android.frameworks.displayservice@1.0.so:android.frameworks.schedulerservice@1.0.so:android.frameworks.sensorservice@1.0.so:android.frameworks.stats@1.0.so:android.hardware.atrace@1.0.so:android.hardware.audio.common@2.0.so:android.hardware.audio.common@4.0.so:android.hardware.audio.common@5.0.so:android.hardware.audio.common@6.0.so:android.hardware.audio.effect@2.0.so:android.hardware.audio.effect@4.0.so:android.hardware.audio.effect@5.0.so:android.hardware.audio.effect@6.0.so:android.hardware.audio@2.0.so:android.hardware.audio@4.0.so:android.hardware.audio@5.0.so:android.hardware.audio@6.0.so:android.hardware.authsecret@1.0.so:android.hardware.automotive.audiocontrol@1.0.so:android.hardware.automotive.evs@1.0.so:android.hardware.automotive.vehicle@2.0.so:android.hardware.biometrics.face@1.0.so:android.hardware.biometrics.fingerprint@2.1.so:android.hardware.bluetooth.a2dp@1.0.so:android.hardware.bluetooth.audio@2.0.so:android.hardware.bluetooth@1.0.so:android.hardware.bluetooth@1.1.so:android.hardware.boot@1.0.so:android.hardware.boot@1.1.so:android.hardware.broadcastradio@1.0.so:android.hardware.broadcastradio@1.1.so:android.hardware.broadcastradio@2.0.so:android.hardware.camera.common@1.0.so:android.hardware.camera.device@1.0.so:android.hardware.camera.device@3.2.so:android.hardware.camera.device@3.3.so:android.hardware.camera.device@3.4.so:android.hardware.camera.device@3.5.so:android.hardware.camera.metadata@3.2.so:android.hardware.camera.metadata@3.3.so:android.hardware.camera.metadata@3.4.so:android.hardware.camera.provider@2.4.so:android.hardware.camera.provider@2.5.so:android.hardware.cas.native@1.0.so:android.hardware.cas@1.0.so:android.hardware.cas@1.1.so:android.hardware.cas@1.2.so:android.hardware.configstore-utils.so:android.hardware.configstore@1.0.so:android.hardware.configstore@1.1.so:android.hardware.confirmationui-support-lib.so:android.hardware.confirmationui@1.0.so:android.hardware.contexthub@1.0.so:android.hardware.drm@1.0.so:android.hardware.drm@1.1.so:android.hardware.drm@1.2.so:android.hardware.dumpstate@1.0.so:android.hardware.dumpstate@1.1.so:android.hardware.fastboot@1.0.so:android.hardware.gatekeeper@1.0.so:android.hardware.gnss.measurement_corrections@1.0.so:android.hardware.gnss.visibility_control@1.0.so:android.hardware.gnss@1.0.so:android.hardware.gnss@1.1.so:android.hardware.gnss@2.0.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.allocator@3.0.so:android.hardware.graphics.bufferqueue@1.0.so:android.hardware.graphics.bufferqueue@2.0.so:android.hardware.graphics.composer@2.1.so:android.hardware.graphics.composer@2.2.so:android.hardware.graphics.composer@2.3.so:android.hardware.health.storage@1.0.so:android.hardware.health@1.0.so:android.hardware.health@2.0.so:android.hardware.health@2.1.so:android.hardware.identity-V1-ndk_platform.so:android.hardware.input.classifier@1.0.so:android.hardware.input.common@1.0.so:android.hardware.ir@1.0.so:android.hardware.keymaster-V1-ndk_platform.so:android.hardware.keymaster@3.0.so:android.hardware.keymaster@4.0.so:android.hardware.keymaster@4.1.so:android.hardware.light-V1-ndk_platform.so:android.hardware.light@2.0.so:android.hardware.media.bufferpool@1.0.so:android.hardware.media.bufferpool@2.0.so:android.hardware.media.c2@1.0.so:android.hardware.media.omx@1.0.so:android.hardware.media@1.0.so:android.hardware.memtrack@1.0.so:android.hardware.neuralnetworks@1.0.so:android.hardware.neuralnetworks@1.1.so:android.hardware.neuralnetworks@1.2.so:android.hardware.neuralnetworks@1.3.so:android.hardware.nfc@1.0.so:android.hardware.nfc@1.1.so:android.hardware.nfc@1.2.so:android.hardware.oemlock@1.0.so:android.hardware.power-V1-ndk_platform.so:android.hardware.power.stats@1.0.so:android.hardware.power@1.0.so:android.hardware.power@1.1.so:android.hardware.power@1.2.so:android.hardware.power@1.3.so:android.hardware.radio.config@1.0.so:android.hardware.radio.config@1.1.so:android.hardware.radio.config@1.2.so:android.hardware.radio.config@1.3.so:android.hardware.radio.deprecated@1.0.so:android.hardware.radio@1.0.so:android.hardware.radio@1.1.so:android.hardware.radio@1.2.so:android.hardware.radio@1.3.so:android.hardware.radio@1.4.so:android.hardware.radio@1.5.so:android.hardware.secure_element@1.0.so:android.hardware.secure_element@1.1.so:android.hardware.secure_element@1.2.so:android.hardware.sensors@1.0.so:android.hardware.sensors@2.0.so:android.hardware.soundtrigger@2.0-core.so:android.hardware.soundtrigger@2.0.so:android.hardware.soundtrigger@2.1.so:android.hardware.soundtrigger@2.2.so:android.hardware.tetheroffload.config@1.0.so:android.hardware.tetheroffload.control@1.0.so:android.hardware.thermal@1.0.so:android.hardware.thermal@1.1.so:android.hardware.thermal@2.0.so:android.hardware.tv.cec@1.0.so:android.hardware.tv.cec@2.0.so:android.hardware.tv.input@1.0.so:android.hardware.tv.tuner@1.0.so:android.hardware.usb.gadget@1.0.so:android.hardware.usb@1.0.so:android.hardware.usb@1.1.so:android.hardware.usb@1.2.so:android.hardware.vibrator-V1-ndk_platform.so:android.hardware.vibrator@1.0.so:android.hardware.vibrator@1.1.so:android.hardware.vibrator@1.2.so:android.hardware.vibrator@1.3.so:android.hardware.vr@1.0.so:android.hardware.weaver@1.0.so:android.hardware.wifi.hostapd@1.0.so:android.hardware.wifi.hostapd@1.1.so:android.hardware.wifi.offload@1.0.so:android.hardware.wifi.supplicant@1.0.so:android.hardware.wifi.supplicant@1.1.so:android.hardware.wifi.supplicant@1.2.so:android.hardware.wifi@1.0.so:android.hardware.wifi@1.1.so:android.hardware.wifi@1.2.so:android.hardware.wifi@1.3.so:android.hidl.allocator@1.0.so:android.hidl.memory.block@1.0.so:android.hidl.token@1.0-utils.so:android.hidl.token@1.0.so:android.system.net.netd@1.0.so:android.system.net.netd@1.1.so:android.system.suspend@1.0.so:android.system.wifi.keystore@1.0.so:libadf.so:libaudioroute.so:libaudioutils.so:libbinder.so:libcamera_metadata.so:libcap.so:libclang_rt.scudo-i686-android.so:libclang_rt.scudo_minimal-i686-android.so:libclang_rt.ubsan_standalone-i686-android.so:libclang_rt.ubsan_standalone-x86_64-android.so:libcn-cbor.so:libcodec2.so:libcrypto.so:libcrypto_utils.so:libcurl.so:libdiskconfig.so:libdumpstateutil.so:libevent.so:libexif.so:libexpat.so:libfmq.so:libgatekeeper.so:libhardware_legacy.so:libhidlallocatorutils.so:libjpeg.so:libldacBT_abr.so:libldacBT_enc.so:liblz4.so:libmedia_helper.so:libmedia_omx.so:libmemtrack.so:libminijail.so:libmkbootimg_abi_check.so:libnetutils.so:libnl.so:libpcre2.so:libpiex.so:libpng.so:libpower.so:libprocinfo.so:libradio_metadata.so:libselinux.so:libspeexresampler.so:libsqlite.so:libssl.so:libstagefright_bufferpool@2.0.so:libstagefright_bufferqueue_helper.so:libstagefright_foundation.so:libstagefright_omx.so:libstagefright_omx_utils.so:libstagefright_xmlparser.so:libsysutils.so:libtinyalsa.so:libtinyxml2.so:libui.so:libusbhost.so:libwifi-system-iface.so:libxml2.so:libyuv.so:libziparchive.so
namespace.com_vendor_service1.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_vendor_service1.link.vendor.shared_libs = libvendorprovide.so
+namespace.mediacas.isolated = true
+namespace.mediacas.visible = true
+namespace.mediacas.search.paths = /vendor/${LIB}/mediacas
+namespace.mediacas.permitted.paths = /vendor/${LIB}/mediacas
+namespace.mediacas.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.asan.search.paths = /data/asan/vendor/${LIB}/mediacas
+namespace.mediacas.asan.search.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths = /data/asan/vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /data/asan/system/vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.search.paths = /vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.search.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.permitted.paths = /vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.permitted.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.permitted.paths += /system/vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.links = vendor,vndk,system,com_android_neuralnetworks
+namespace.mediacas.link.vendor.allow_all_shared_libs = true
+namespace.mediacas.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:android.frameworks.cameraservice.common@2.0.so:android.frameworks.cameraservice.device@2.0.so:android.frameworks.cameraservice.service@2.0.so:android.frameworks.displayservice@1.0.so:android.frameworks.schedulerservice@1.0.so:android.frameworks.sensorservice@1.0.so:android.frameworks.stats@1.0.so:android.hardware.atrace@1.0.so:android.hardware.audio.common@2.0.so:android.hardware.audio.common@4.0.so:android.hardware.audio.common@5.0.so:android.hardware.audio.common@6.0.so:android.hardware.audio.effect@2.0.so:android.hardware.audio.effect@4.0.so:android.hardware.audio.effect@5.0.so:android.hardware.audio.effect@6.0.so:android.hardware.audio@2.0.so:android.hardware.audio@4.0.so:android.hardware.audio@5.0.so:android.hardware.audio@6.0.so:android.hardware.authsecret@1.0.so:android.hardware.automotive.audiocontrol@1.0.so:android.hardware.automotive.evs@1.0.so:android.hardware.automotive.vehicle@2.0.so:android.hardware.biometrics.face@1.0.so:android.hardware.biometrics.fingerprint@2.1.so:android.hardware.bluetooth.a2dp@1.0.so:android.hardware.bluetooth.audio@2.0.so:android.hardware.bluetooth@1.0.so:android.hardware.bluetooth@1.1.so:android.hardware.boot@1.0.so:android.hardware.boot@1.1.so:android.hardware.broadcastradio@1.0.so:android.hardware.broadcastradio@1.1.so:android.hardware.broadcastradio@2.0.so:android.hardware.camera.common@1.0.so:android.hardware.camera.device@1.0.so:android.hardware.camera.device@3.2.so:android.hardware.camera.device@3.3.so:android.hardware.camera.device@3.4.so:android.hardware.camera.device@3.5.so:android.hardware.camera.metadata@3.2.so:android.hardware.camera.metadata@3.3.so:android.hardware.camera.metadata@3.4.so:android.hardware.camera.provider@2.4.so:android.hardware.camera.provider@2.5.so:android.hardware.cas.native@1.0.so:android.hardware.cas@1.0.so:android.hardware.cas@1.1.so:android.hardware.cas@1.2.so:android.hardware.configstore-utils.so:android.hardware.configstore@1.0.so:android.hardware.configstore@1.1.so:android.hardware.confirmationui-support-lib.so:android.hardware.confirmationui@1.0.so:android.hardware.contexthub@1.0.so:android.hardware.drm@1.0.so:android.hardware.drm@1.1.so:android.hardware.drm@1.2.so:android.hardware.dumpstate@1.0.so:android.hardware.dumpstate@1.1.so:android.hardware.fastboot@1.0.so:android.hardware.gatekeeper@1.0.so:android.hardware.gnss.measurement_corrections@1.0.so:android.hardware.gnss.visibility_control@1.0.so:android.hardware.gnss@1.0.so:android.hardware.gnss@1.1.so:android.hardware.gnss@2.0.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.allocator@3.0.so:android.hardware.graphics.bufferqueue@1.0.so:android.hardware.graphics.bufferqueue@2.0.so:android.hardware.graphics.composer@2.1.so:android.hardware.graphics.composer@2.2.so:android.hardware.graphics.composer@2.3.so:android.hardware.health.storage@1.0.so:android.hardware.health@1.0.so:android.hardware.health@2.0.so:android.hardware.health@2.1.so:android.hardware.identity-V1-ndk_platform.so:android.hardware.input.classifier@1.0.so:android.hardware.input.common@1.0.so:android.hardware.ir@1.0.so:android.hardware.keymaster-V1-ndk_platform.so:android.hardware.keymaster@3.0.so:android.hardware.keymaster@4.0.so:android.hardware.keymaster@4.1.so:android.hardware.light-V1-ndk_platform.so:android.hardware.light@2.0.so:android.hardware.media.bufferpool@1.0.so:android.hardware.media.bufferpool@2.0.so:android.hardware.media.c2@1.0.so:android.hardware.media.omx@1.0.so:android.hardware.media@1.0.so:android.hardware.memtrack@1.0.so:android.hardware.neuralnetworks@1.0.so:android.hardware.neuralnetworks@1.1.so:android.hardware.neuralnetworks@1.2.so:android.hardware.neuralnetworks@1.3.so:android.hardware.nfc@1.0.so:android.hardware.nfc@1.1.so:android.hardware.nfc@1.2.so:android.hardware.oemlock@1.0.so:android.hardware.power-V1-ndk_platform.so:android.hardware.power.stats@1.0.so:android.hardware.power@1.0.so:android.hardware.power@1.1.so:android.hardware.power@1.2.so:android.hardware.power@1.3.so:android.hardware.radio.config@1.0.so:android.hardware.radio.config@1.1.so:android.hardware.radio.config@1.2.so:android.hardware.radio.config@1.3.so:android.hardware.radio.deprecated@1.0.so:android.hardware.radio@1.0.so:android.hardware.radio@1.1.so:android.hardware.radio@1.2.so:android.hardware.radio@1.3.so:android.hardware.radio@1.4.so:android.hardware.radio@1.5.so:android.hardware.secure_element@1.0.so:android.hardware.secure_element@1.1.so:android.hardware.secure_element@1.2.so:android.hardware.sensors@1.0.so:android.hardware.sensors@2.0.so:android.hardware.soundtrigger@2.0-core.so:android.hardware.soundtrigger@2.0.so:android.hardware.soundtrigger@2.1.so:android.hardware.soundtrigger@2.2.so:android.hardware.tetheroffload.config@1.0.so:android.hardware.tetheroffload.control@1.0.so:android.hardware.thermal@1.0.so:android.hardware.thermal@1.1.so:android.hardware.thermal@2.0.so:android.hardware.tv.cec@1.0.so:android.hardware.tv.cec@2.0.so:android.hardware.tv.input@1.0.so:android.hardware.tv.tuner@1.0.so:android.hardware.usb.gadget@1.0.so:android.hardware.usb@1.0.so:android.hardware.usb@1.1.so:android.hardware.usb@1.2.so:android.hardware.vibrator-V1-ndk_platform.so:android.hardware.vibrator@1.0.so:android.hardware.vibrator@1.1.so:android.hardware.vibrator@1.2.so:android.hardware.vibrator@1.3.so:android.hardware.vr@1.0.so:android.hardware.weaver@1.0.so:android.hardware.wifi.hostapd@1.0.so:android.hardware.wifi.hostapd@1.1.so:android.hardware.wifi.offload@1.0.so:android.hardware.wifi.supplicant@1.0.so:android.hardware.wifi.supplicant@1.1.so:android.hardware.wifi.supplicant@1.2.so:android.hardware.wifi@1.0.so:android.hardware.wifi@1.1.so:android.hardware.wifi@1.2.so:android.hardware.wifi@1.3.so:android.hidl.allocator@1.0.so:android.hidl.memory.block@1.0.so:android.hidl.token@1.0-utils.so:android.hidl.token@1.0.so:android.system.net.netd@1.0.so:android.system.net.netd@1.1.so:android.system.suspend@1.0.so:android.system.wifi.keystore@1.0.so:libadf.so:libaudioroute.so:libaudioutils.so:libbinder.so:libcamera_metadata.so:libcap.so:libclang_rt.scudo-i686-android.so:libclang_rt.scudo_minimal-i686-android.so:libclang_rt.ubsan_standalone-i686-android.so:libclang_rt.ubsan_standalone-x86_64-android.so:libcn-cbor.so:libcodec2.so:libcrypto.so:libcrypto_utils.so:libcurl.so:libdiskconfig.so:libdumpstateutil.so:libevent.so:libexif.so:libexpat.so:libfmq.so:libgatekeeper.so:libhardware_legacy.so:libhidlallocatorutils.so:libjpeg.so:libldacBT_abr.so:libldacBT_enc.so:liblz4.so:libmedia_helper.so:libmedia_omx.so:libmemtrack.so:libminijail.so:libmkbootimg_abi_check.so:libnetutils.so:libnl.so:libpcre2.so:libpiex.so:libpng.so:libpower.so:libprocinfo.so:libradio_metadata.so:libselinux.so:libspeexresampler.so:libsqlite.so:libssl.so:libstagefright_bufferpool@2.0.so:libstagefright_bufferqueue_helper.so:libstagefright_foundation.so:libstagefright_omx.so:libstagefright_omx_utils.so:libstagefright_xmlparser.so:libsysutils.so:libtinyalsa.so:libtinyxml2.so:libui.so:libusbhost.so:libwifi-system-iface.so:libxml2.so:libyuv.so:libziparchive.so
+namespace.mediacas.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.mediacas.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.rs.isolated = true
namespace.rs.visible = true
namespace.rs.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/golden_output/legacy/com.vendor.service2/ld.config.txt b/testdata/golden_output/legacy/com.vendor.service2/ld.config.txt
index d91b667..66cc556 100644
--- a/testdata/golden_output/legacy/com.vendor.service2/ld.config.txt
+++ b/testdata/golden_output/legacy/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,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_vendor_service1,mediacas,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
@@ -28,7 +28,8 @@ 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.links = mediacas,system
+namespace.default.link.mediacas.allow_all_shared_libs = true
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}
@@ -253,6 +254,26 @@ namespace.com_vendor_service1.hwasan.permitted.paths += /vendor/${LIB}/egl
namespace.com_vendor_service1.links = system,vendor
namespace.com_vendor_service1.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_vendor_service1.link.vendor.shared_libs = libvendorprovide.so
+namespace.mediacas.isolated = true
+namespace.mediacas.visible = true
+namespace.mediacas.search.paths = /vendor/${LIB}/mediacas
+namespace.mediacas.permitted.paths = /vendor/${LIB}/mediacas
+namespace.mediacas.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.asan.search.paths = /data/asan/vendor/${LIB}/mediacas
+namespace.mediacas.asan.search.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths = /data/asan/vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /data/asan/system/vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.search.paths = /vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.search.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.permitted.paths = /vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.permitted.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.permitted.paths += /system/vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.links = vendor,system
+namespace.mediacas.link.vendor.allow_all_shared_libs = true
+namespace.mediacas.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.system.isolated = true
namespace.system.visible = true
namespace.system.search.paths = /system/${LIB}
diff --git a/testdata/golden_output/product-enabled/com.vendor.service2/ld.config.txt b/testdata/golden_output/product-enabled/com.vendor.service2/ld.config.txt
index a90c243..4a4f963 100644
--- a/testdata/golden_output/product-enabled/com.vendor.service2/ld.config.txt
+++ b/testdata/golden_output/product-enabled/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,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_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
@@ -28,7 +28,8 @@ 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.links = mediacas,system
+namespace.default.link.mediacas.allow_all_shared_libs = true
namespace.default.link.system.shared_libs = 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:libc.so:libdl.so:libdl_android.so:libm.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
@@ -254,6 +255,28 @@ namespace.com_vendor_service1.links = vndk,system,vendor
namespace.com_vendor_service1.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:android.frameworks.cameraservice.common@2.0.so:android.frameworks.cameraservice.device@2.0.so:android.frameworks.cameraservice.service@2.0.so:android.frameworks.displayservice@1.0.so:android.frameworks.schedulerservice@1.0.so:android.frameworks.sensorservice@1.0.so:android.frameworks.stats@1.0.so:android.hardware.atrace@1.0.so:android.hardware.audio.common@2.0.so:android.hardware.audio.common@4.0.so:android.hardware.audio.common@5.0.so:android.hardware.audio.common@6.0.so:android.hardware.audio.effect@2.0.so:android.hardware.audio.effect@4.0.so:android.hardware.audio.effect@5.0.so:android.hardware.audio.effect@6.0.so:android.hardware.audio@2.0.so:android.hardware.audio@4.0.so:android.hardware.audio@5.0.so:android.hardware.audio@6.0.so:android.hardware.authsecret@1.0.so:android.hardware.automotive.audiocontrol@1.0.so:android.hardware.automotive.evs@1.0.so:android.hardware.automotive.vehicle@2.0.so:android.hardware.biometrics.face@1.0.so:android.hardware.biometrics.fingerprint@2.1.so:android.hardware.bluetooth.a2dp@1.0.so:android.hardware.bluetooth.audio@2.0.so:android.hardware.bluetooth@1.0.so:android.hardware.bluetooth@1.1.so:android.hardware.boot@1.0.so:android.hardware.boot@1.1.so:android.hardware.broadcastradio@1.0.so:android.hardware.broadcastradio@1.1.so:android.hardware.broadcastradio@2.0.so:android.hardware.camera.common@1.0.so:android.hardware.camera.device@1.0.so:android.hardware.camera.device@3.2.so:android.hardware.camera.device@3.3.so:android.hardware.camera.device@3.4.so:android.hardware.camera.device@3.5.so:android.hardware.camera.metadata@3.2.so:android.hardware.camera.metadata@3.3.so:android.hardware.camera.metadata@3.4.so:android.hardware.camera.provider@2.4.so:android.hardware.camera.provider@2.5.so:android.hardware.cas.native@1.0.so:android.hardware.cas@1.0.so:android.hardware.cas@1.1.so:android.hardware.cas@1.2.so:android.hardware.configstore-utils.so:android.hardware.configstore@1.0.so:android.hardware.configstore@1.1.so:android.hardware.confirmationui-support-lib.so:android.hardware.confirmationui@1.0.so:android.hardware.contexthub@1.0.so:android.hardware.drm@1.0.so:android.hardware.drm@1.1.so:android.hardware.drm@1.2.so:android.hardware.dumpstate@1.0.so:android.hardware.dumpstate@1.1.so:android.hardware.fastboot@1.0.so:android.hardware.gatekeeper@1.0.so:android.hardware.gnss.measurement_corrections@1.0.so:android.hardware.gnss.visibility_control@1.0.so:android.hardware.gnss@1.0.so:android.hardware.gnss@1.1.so:android.hardware.gnss@2.0.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.allocator@3.0.so:android.hardware.graphics.bufferqueue@1.0.so:android.hardware.graphics.bufferqueue@2.0.so:android.hardware.graphics.composer@2.1.so:android.hardware.graphics.composer@2.2.so:android.hardware.graphics.composer@2.3.so:android.hardware.health.storage@1.0.so:android.hardware.health@1.0.so:android.hardware.health@2.0.so:android.hardware.health@2.1.so:android.hardware.identity-V1-ndk_platform.so:android.hardware.input.classifier@1.0.so:android.hardware.input.common@1.0.so:android.hardware.ir@1.0.so:android.hardware.keymaster-V1-ndk_platform.so:android.hardware.keymaster@3.0.so:android.hardware.keymaster@4.0.so:android.hardware.keymaster@4.1.so:android.hardware.light-V1-ndk_platform.so:android.hardware.light@2.0.so:android.hardware.media.bufferpool@1.0.so:android.hardware.media.bufferpool@2.0.so:android.hardware.media.c2@1.0.so:android.hardware.media.omx@1.0.so:android.hardware.media@1.0.so:android.hardware.memtrack@1.0.so:android.hardware.neuralnetworks@1.0.so:android.hardware.neuralnetworks@1.1.so:android.hardware.neuralnetworks@1.2.so:android.hardware.neuralnetworks@1.3.so:android.hardware.nfc@1.0.so:android.hardware.nfc@1.1.so:android.hardware.nfc@1.2.so:android.hardware.oemlock@1.0.so:android.hardware.power-V1-ndk_platform.so:android.hardware.power.stats@1.0.so:android.hardware.power@1.0.so:android.hardware.power@1.1.so:android.hardware.power@1.2.so:android.hardware.power@1.3.so:android.hardware.radio.config@1.0.so:android.hardware.radio.config@1.1.so:android.hardware.radio.config@1.2.so:android.hardware.radio.config@1.3.so:android.hardware.radio.deprecated@1.0.so:android.hardware.radio@1.0.so:android.hardware.radio@1.1.so:android.hardware.radio@1.2.so:android.hardware.radio@1.3.so:android.hardware.radio@1.4.so:android.hardware.radio@1.5.so:android.hardware.secure_element@1.0.so:android.hardware.secure_element@1.1.so:android.hardware.secure_element@1.2.so:android.hardware.sensors@1.0.so:android.hardware.sensors@2.0.so:android.hardware.soundtrigger@2.0-core.so:android.hardware.soundtrigger@2.0.so:android.hardware.soundtrigger@2.1.so:android.hardware.soundtrigger@2.2.so:android.hardware.tetheroffload.config@1.0.so:android.hardware.tetheroffload.control@1.0.so:android.hardware.thermal@1.0.so:android.hardware.thermal@1.1.so:android.hardware.thermal@2.0.so:android.hardware.tv.cec@1.0.so:android.hardware.tv.cec@2.0.so:android.hardware.tv.input@1.0.so:android.hardware.tv.tuner@1.0.so:android.hardware.usb.gadget@1.0.so:android.hardware.usb@1.0.so:android.hardware.usb@1.1.so:android.hardware.usb@1.2.so:android.hardware.vibrator-V1-ndk_platform.so:android.hardware.vibrator@1.0.so:android.hardware.vibrator@1.1.so:android.hardware.vibrator@1.2.so:android.hardware.vibrator@1.3.so:android.hardware.vr@1.0.so:android.hardware.weaver@1.0.so:android.hardware.wifi.hostapd@1.0.so:android.hardware.wifi.hostapd@1.1.so:android.hardware.wifi.offload@1.0.so:android.hardware.wifi.supplicant@1.0.so:android.hardware.wifi.supplicant@1.1.so:android.hardware.wifi.supplicant@1.2.so:android.hardware.wifi@1.0.so:android.hardware.wifi@1.1.so:android.hardware.wifi@1.2.so:android.hardware.wifi@1.3.so:android.hidl.allocator@1.0.so:android.hidl.memory.block@1.0.so:android.hidl.token@1.0-utils.so:android.hidl.token@1.0.so:android.system.net.netd@1.0.so:android.system.net.netd@1.1.so:android.system.suspend@1.0.so:android.system.wifi.keystore@1.0.so:libadf.so:libaudioroute.so:libaudioutils.so:libbinder.so:libcamera_metadata.so:libcap.so:libclang_rt.scudo-i686-android.so:libclang_rt.scudo_minimal-i686-android.so:libclang_rt.ubsan_standalone-i686-android.so:libclang_rt.ubsan_standalone-x86_64-android.so:libcn-cbor.so:libcodec2.so:libcrypto.so:libcrypto_utils.so:libcurl.so:libdiskconfig.so:libdumpstateutil.so:libevent.so:libexif.so:libexpat.so:libfmq.so:libgatekeeper.so:libhardware_legacy.so:libhidlallocatorutils.so:libjpeg.so:libldacBT_abr.so:libldacBT_enc.so:liblz4.so:libmedia_helper.so:libmedia_omx.so:libmemtrack.so:libminijail.so:libmkbootimg_abi_check.so:libnetutils.so:libnl.so:libpcre2.so:libpiex.so:libpng.so:libpower.so:libprocinfo.so:libradio_metadata.so:libselinux.so:libspeexresampler.so:libsqlite.so:libssl.so:libstagefright_bufferpool@2.0.so:libstagefright_bufferqueue_helper.so:libstagefright_foundation.so:libstagefright_omx.so:libstagefright_omx_utils.so:libstagefright_xmlparser.so:libsysutils.so:libtinyalsa.so:libtinyxml2.so:libui.so:libusbhost.so:libwifi-system-iface.so:libxml2.so:libyuv.so:libziparchive.so
namespace.com_vendor_service1.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_vendor_service1.link.vendor.shared_libs = libvendorprovide.so
+namespace.mediacas.isolated = true
+namespace.mediacas.visible = true
+namespace.mediacas.search.paths = /vendor/${LIB}/mediacas
+namespace.mediacas.permitted.paths = /vendor/${LIB}/mediacas
+namespace.mediacas.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.asan.search.paths = /data/asan/vendor/${LIB}/mediacas
+namespace.mediacas.asan.search.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths = /data/asan/vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /data/asan/system/vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.search.paths = /vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.search.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.permitted.paths = /vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.permitted.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.permitted.paths += /system/vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.links = vendor,vndk,system,com_android_neuralnetworks
+namespace.mediacas.link.vendor.allow_all_shared_libs = true
+namespace.mediacas.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:android.frameworks.cameraservice.common@2.0.so:android.frameworks.cameraservice.device@2.0.so:android.frameworks.cameraservice.service@2.0.so:android.frameworks.displayservice@1.0.so:android.frameworks.schedulerservice@1.0.so:android.frameworks.sensorservice@1.0.so:android.frameworks.stats@1.0.so:android.hardware.atrace@1.0.so:android.hardware.audio.common@2.0.so:android.hardware.audio.common@4.0.so:android.hardware.audio.common@5.0.so:android.hardware.audio.common@6.0.so:android.hardware.audio.effect@2.0.so:android.hardware.audio.effect@4.0.so:android.hardware.audio.effect@5.0.so:android.hardware.audio.effect@6.0.so:android.hardware.audio@2.0.so:android.hardware.audio@4.0.so:android.hardware.audio@5.0.so:android.hardware.audio@6.0.so:android.hardware.authsecret@1.0.so:android.hardware.automotive.audiocontrol@1.0.so:android.hardware.automotive.evs@1.0.so:android.hardware.automotive.vehicle@2.0.so:android.hardware.biometrics.face@1.0.so:android.hardware.biometrics.fingerprint@2.1.so:android.hardware.bluetooth.a2dp@1.0.so:android.hardware.bluetooth.audio@2.0.so:android.hardware.bluetooth@1.0.so:android.hardware.bluetooth@1.1.so:android.hardware.boot@1.0.so:android.hardware.boot@1.1.so:android.hardware.broadcastradio@1.0.so:android.hardware.broadcastradio@1.1.so:android.hardware.broadcastradio@2.0.so:android.hardware.camera.common@1.0.so:android.hardware.camera.device@1.0.so:android.hardware.camera.device@3.2.so:android.hardware.camera.device@3.3.so:android.hardware.camera.device@3.4.so:android.hardware.camera.device@3.5.so:android.hardware.camera.metadata@3.2.so:android.hardware.camera.metadata@3.3.so:android.hardware.camera.metadata@3.4.so:android.hardware.camera.provider@2.4.so:android.hardware.camera.provider@2.5.so:android.hardware.cas.native@1.0.so:android.hardware.cas@1.0.so:android.hardware.cas@1.1.so:android.hardware.cas@1.2.so:android.hardware.configstore-utils.so:android.hardware.configstore@1.0.so:android.hardware.configstore@1.1.so:android.hardware.confirmationui-support-lib.so:android.hardware.confirmationui@1.0.so:android.hardware.contexthub@1.0.so:android.hardware.drm@1.0.so:android.hardware.drm@1.1.so:android.hardware.drm@1.2.so:android.hardware.dumpstate@1.0.so:android.hardware.dumpstate@1.1.so:android.hardware.fastboot@1.0.so:android.hardware.gatekeeper@1.0.so:android.hardware.gnss.measurement_corrections@1.0.so:android.hardware.gnss.visibility_control@1.0.so:android.hardware.gnss@1.0.so:android.hardware.gnss@1.1.so:android.hardware.gnss@2.0.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.allocator@3.0.so:android.hardware.graphics.bufferqueue@1.0.so:android.hardware.graphics.bufferqueue@2.0.so:android.hardware.graphics.composer@2.1.so:android.hardware.graphics.composer@2.2.so:android.hardware.graphics.composer@2.3.so:android.hardware.health.storage@1.0.so:android.hardware.health@1.0.so:android.hardware.health@2.0.so:android.hardware.health@2.1.so:android.hardware.identity-V1-ndk_platform.so:android.hardware.input.classifier@1.0.so:android.hardware.input.common@1.0.so:android.hardware.ir@1.0.so:android.hardware.keymaster-V1-ndk_platform.so:android.hardware.keymaster@3.0.so:android.hardware.keymaster@4.0.so:android.hardware.keymaster@4.1.so:android.hardware.light-V1-ndk_platform.so:android.hardware.light@2.0.so:android.hardware.media.bufferpool@1.0.so:android.hardware.media.bufferpool@2.0.so:android.hardware.media.c2@1.0.so:android.hardware.media.omx@1.0.so:android.hardware.media@1.0.so:android.hardware.memtrack@1.0.so:android.hardware.neuralnetworks@1.0.so:android.hardware.neuralnetworks@1.1.so:android.hardware.neuralnetworks@1.2.so:android.hardware.neuralnetworks@1.3.so:android.hardware.nfc@1.0.so:android.hardware.nfc@1.1.so:android.hardware.nfc@1.2.so:android.hardware.oemlock@1.0.so:android.hardware.power-V1-ndk_platform.so:android.hardware.power.stats@1.0.so:android.hardware.power@1.0.so:android.hardware.power@1.1.so:android.hardware.power@1.2.so:android.hardware.power@1.3.so:android.hardware.radio.config@1.0.so:android.hardware.radio.config@1.1.so:android.hardware.radio.config@1.2.so:android.hardware.radio.config@1.3.so:android.hardware.radio.deprecated@1.0.so:android.hardware.radio@1.0.so:android.hardware.radio@1.1.so:android.hardware.radio@1.2.so:android.hardware.radio@1.3.so:android.hardware.radio@1.4.so:android.hardware.radio@1.5.so:android.hardware.secure_element@1.0.so:android.hardware.secure_element@1.1.so:android.hardware.secure_element@1.2.so:android.hardware.sensors@1.0.so:android.hardware.sensors@2.0.so:android.hardware.soundtrigger@2.0-core.so:android.hardware.soundtrigger@2.0.so:android.hardware.soundtrigger@2.1.so:android.hardware.soundtrigger@2.2.so:android.hardware.tetheroffload.config@1.0.so:android.hardware.tetheroffload.control@1.0.so:android.hardware.thermal@1.0.so:android.hardware.thermal@1.1.so:android.hardware.thermal@2.0.so:android.hardware.tv.cec@1.0.so:android.hardware.tv.cec@2.0.so:android.hardware.tv.input@1.0.so:android.hardware.tv.tuner@1.0.so:android.hardware.usb.gadget@1.0.so:android.hardware.usb@1.0.so:android.hardware.usb@1.1.so:android.hardware.usb@1.2.so:android.hardware.vibrator-V1-ndk_platform.so:android.hardware.vibrator@1.0.so:android.hardware.vibrator@1.1.so:android.hardware.vibrator@1.2.so:android.hardware.vibrator@1.3.so:android.hardware.vr@1.0.so:android.hardware.weaver@1.0.so:android.hardware.wifi.hostapd@1.0.so:android.hardware.wifi.hostapd@1.1.so:android.hardware.wifi.offload@1.0.so:android.hardware.wifi.supplicant@1.0.so:android.hardware.wifi.supplicant@1.1.so:android.hardware.wifi.supplicant@1.2.so:android.hardware.wifi@1.0.so:android.hardware.wifi@1.1.so:android.hardware.wifi@1.2.so:android.hardware.wifi@1.3.so:android.hidl.allocator@1.0.so:android.hidl.memory.block@1.0.so:android.hidl.token@1.0-utils.so:android.hidl.token@1.0.so:android.system.net.netd@1.0.so:android.system.net.netd@1.1.so:android.system.suspend@1.0.so:android.system.wifi.keystore@1.0.so:libadf.so:libaudioroute.so:libaudioutils.so:libbinder.so:libcamera_metadata.so:libcap.so:libclang_rt.scudo-i686-android.so:libclang_rt.scudo_minimal-i686-android.so:libclang_rt.ubsan_standalone-i686-android.so:libclang_rt.ubsan_standalone-x86_64-android.so:libcn-cbor.so:libcodec2.so:libcrypto.so:libcrypto_utils.so:libcurl.so:libdiskconfig.so:libdumpstateutil.so:libevent.so:libexif.so:libexpat.so:libfmq.so:libgatekeeper.so:libhardware_legacy.so:libhidlallocatorutils.so:libjpeg.so:libldacBT_abr.so:libldacBT_enc.so:liblz4.so:libmedia_helper.so:libmedia_omx.so:libmemtrack.so:libminijail.so:libmkbootimg_abi_check.so:libnetutils.so:libnl.so:libpcre2.so:libpiex.so:libpng.so:libpower.so:libprocinfo.so:libradio_metadata.so:libselinux.so:libspeexresampler.so:libsqlite.so:libssl.so:libstagefright_bufferpool@2.0.so:libstagefright_bufferqueue_helper.so:libstagefright_foundation.so:libstagefright_omx.so:libstagefright_omx_utils.so:libstagefright_xmlparser.so:libsysutils.so:libtinyalsa.so:libtinyxml2.so:libui.so:libusbhost.so:libwifi-system-iface.so:libxml2.so:libyuv.so:libziparchive.so
+namespace.mediacas.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.mediacas.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.rs.isolated = true
namespace.rs.visible = true
namespace.rs.search.paths = /odm/${LIB}/vndk-sp
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 7d31fc2..01f2d4d 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,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_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
@@ -28,7 +28,8 @@ 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.links = mediacas,system
+namespace.default.link.mediacas.allow_all_shared_libs = true
namespace.default.link.system.shared_libs = 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:libc.so:libdl.so:libdl_android.so:libm.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
@@ -254,6 +255,28 @@ namespace.com_vendor_service1.links = vndk,system,vendor
namespace.com_vendor_service1.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:android.frameworks.cameraservice.common@2.0.so:android.frameworks.cameraservice.device@2.0.so:android.frameworks.cameraservice.service@2.0.so:android.frameworks.displayservice@1.0.so:android.frameworks.schedulerservice@1.0.so:android.frameworks.sensorservice@1.0.so:android.frameworks.stats@1.0.so:android.hardware.atrace@1.0.so:android.hardware.audio.common@2.0.so:android.hardware.audio.common@4.0.so:android.hardware.audio.common@5.0.so:android.hardware.audio.common@6.0.so:android.hardware.audio.effect@2.0.so:android.hardware.audio.effect@4.0.so:android.hardware.audio.effect@5.0.so:android.hardware.audio.effect@6.0.so:android.hardware.audio@2.0.so:android.hardware.audio@4.0.so:android.hardware.audio@5.0.so:android.hardware.audio@6.0.so:android.hardware.authsecret@1.0.so:android.hardware.automotive.audiocontrol@1.0.so:android.hardware.automotive.evs@1.0.so:android.hardware.automotive.vehicle@2.0.so:android.hardware.biometrics.face@1.0.so:android.hardware.biometrics.fingerprint@2.1.so:android.hardware.bluetooth.a2dp@1.0.so:android.hardware.bluetooth.audio@2.0.so:android.hardware.bluetooth@1.0.so:android.hardware.bluetooth@1.1.so:android.hardware.boot@1.0.so:android.hardware.boot@1.1.so:android.hardware.broadcastradio@1.0.so:android.hardware.broadcastradio@1.1.so:android.hardware.broadcastradio@2.0.so:android.hardware.camera.common@1.0.so:android.hardware.camera.device@1.0.so:android.hardware.camera.device@3.2.so:android.hardware.camera.device@3.3.so:android.hardware.camera.device@3.4.so:android.hardware.camera.device@3.5.so:android.hardware.camera.metadata@3.2.so:android.hardware.camera.metadata@3.3.so:android.hardware.camera.metadata@3.4.so:android.hardware.camera.provider@2.4.so:android.hardware.camera.provider@2.5.so:android.hardware.cas.native@1.0.so:android.hardware.cas@1.0.so:android.hardware.cas@1.1.so:android.hardware.cas@1.2.so:android.hardware.configstore-utils.so:android.hardware.configstore@1.0.so:android.hardware.configstore@1.1.so:android.hardware.confirmationui-support-lib.so:android.hardware.confirmationui@1.0.so:android.hardware.contexthub@1.0.so:android.hardware.drm@1.0.so:android.hardware.drm@1.1.so:android.hardware.drm@1.2.so:android.hardware.dumpstate@1.0.so:android.hardware.dumpstate@1.1.so:android.hardware.fastboot@1.0.so:android.hardware.gatekeeper@1.0.so:android.hardware.gnss.measurement_corrections@1.0.so:android.hardware.gnss.visibility_control@1.0.so:android.hardware.gnss@1.0.so:android.hardware.gnss@1.1.so:android.hardware.gnss@2.0.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.allocator@3.0.so:android.hardware.graphics.bufferqueue@1.0.so:android.hardware.graphics.bufferqueue@2.0.so:android.hardware.graphics.composer@2.1.so:android.hardware.graphics.composer@2.2.so:android.hardware.graphics.composer@2.3.so:android.hardware.health.storage@1.0.so:android.hardware.health@1.0.so:android.hardware.health@2.0.so:android.hardware.health@2.1.so:android.hardware.identity-V1-ndk_platform.so:android.hardware.input.classifier@1.0.so:android.hardware.input.common@1.0.so:android.hardware.ir@1.0.so:android.hardware.keymaster-V1-ndk_platform.so:android.hardware.keymaster@3.0.so:android.hardware.keymaster@4.0.so:android.hardware.keymaster@4.1.so:android.hardware.light-V1-ndk_platform.so:android.hardware.light@2.0.so:android.hardware.media.bufferpool@1.0.so:android.hardware.media.bufferpool@2.0.so:android.hardware.media.c2@1.0.so:android.hardware.media.omx@1.0.so:android.hardware.media@1.0.so:android.hardware.memtrack@1.0.so:android.hardware.neuralnetworks@1.0.so:android.hardware.neuralnetworks@1.1.so:android.hardware.neuralnetworks@1.2.so:android.hardware.neuralnetworks@1.3.so:android.hardware.nfc@1.0.so:android.hardware.nfc@1.1.so:android.hardware.nfc@1.2.so:android.hardware.oemlock@1.0.so:android.hardware.power-V1-ndk_platform.so:android.hardware.power.stats@1.0.so:android.hardware.power@1.0.so:android.hardware.power@1.1.so:android.hardware.power@1.2.so:android.hardware.power@1.3.so:android.hardware.radio.config@1.0.so:android.hardware.radio.config@1.1.so:android.hardware.radio.config@1.2.so:android.hardware.radio.config@1.3.so:android.hardware.radio.deprecated@1.0.so:android.hardware.radio@1.0.so:android.hardware.radio@1.1.so:android.hardware.radio@1.2.so:android.hardware.radio@1.3.so:android.hardware.radio@1.4.so:android.hardware.radio@1.5.so:android.hardware.secure_element@1.0.so:android.hardware.secure_element@1.1.so:android.hardware.secure_element@1.2.so:android.hardware.sensors@1.0.so:android.hardware.sensors@2.0.so:android.hardware.soundtrigger@2.0-core.so:android.hardware.soundtrigger@2.0.so:android.hardware.soundtrigger@2.1.so:android.hardware.soundtrigger@2.2.so:android.hardware.tetheroffload.config@1.0.so:android.hardware.tetheroffload.control@1.0.so:android.hardware.thermal@1.0.so:android.hardware.thermal@1.1.so:android.hardware.thermal@2.0.so:android.hardware.tv.cec@1.0.so:android.hardware.tv.cec@2.0.so:android.hardware.tv.input@1.0.so:android.hardware.tv.tuner@1.0.so:android.hardware.usb.gadget@1.0.so:android.hardware.usb@1.0.so:android.hardware.usb@1.1.so:android.hardware.usb@1.2.so:android.hardware.vibrator-V1-ndk_platform.so:android.hardware.vibrator@1.0.so:android.hardware.vibrator@1.1.so:android.hardware.vibrator@1.2.so:android.hardware.vibrator@1.3.so:android.hardware.vr@1.0.so:android.hardware.weaver@1.0.so:android.hardware.wifi.hostapd@1.0.so:android.hardware.wifi.hostapd@1.1.so:android.hardware.wifi.offload@1.0.so:android.hardware.wifi.supplicant@1.0.so:android.hardware.wifi.supplicant@1.1.so:android.hardware.wifi.supplicant@1.2.so:android.hardware.wifi@1.0.so:android.hardware.wifi@1.1.so:android.hardware.wifi@1.2.so:android.hardware.wifi@1.3.so:android.hidl.allocator@1.0.so:android.hidl.memory.block@1.0.so:android.hidl.token@1.0-utils.so:android.hidl.token@1.0.so:android.system.net.netd@1.0.so:android.system.net.netd@1.1.so:android.system.suspend@1.0.so:android.system.wifi.keystore@1.0.so:libadf.so:libaudioroute.so:libaudioutils.so:libbinder.so:libcamera_metadata.so:libcap.so:libclang_rt.scudo-i686-android.so:libclang_rt.scudo_minimal-i686-android.so:libclang_rt.ubsan_standalone-i686-android.so:libclang_rt.ubsan_standalone-x86_64-android.so:libcn-cbor.so:libcodec2.so:libcrypto.so:libcrypto_utils.so:libcurl.so:libdiskconfig.so:libdumpstateutil.so:libevent.so:libexif.so:libexpat.so:libfmq.so:libgatekeeper.so:libhardware_legacy.so:libhidlallocatorutils.so:libjpeg.so:libldacBT_abr.so:libldacBT_enc.so:liblz4.so:libmedia_helper.so:libmedia_omx.so:libmemtrack.so:libminijail.so:libmkbootimg_abi_check.so:libnetutils.so:libnl.so:libpcre2.so:libpiex.so:libpng.so:libpower.so:libprocinfo.so:libradio_metadata.so:libselinux.so:libspeexresampler.so:libsqlite.so:libssl.so:libstagefright_bufferpool@2.0.so:libstagefright_bufferqueue_helper.so:libstagefright_foundation.so:libstagefright_omx.so:libstagefright_omx_utils.so:libstagefright_xmlparser.so:libsysutils.so:libtinyalsa.so:libtinyxml2.so:libui.so:libusbhost.so:libwifi-system-iface.so:libxml2.so:libyuv.so:libziparchive.so
namespace.com_vendor_service1.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_vendor_service1.link.vendor.shared_libs = libvendorprovide.so
+namespace.mediacas.isolated = true
+namespace.mediacas.visible = true
+namespace.mediacas.search.paths = /vendor/${LIB}/mediacas
+namespace.mediacas.permitted.paths = /vendor/${LIB}/mediacas
+namespace.mediacas.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.asan.search.paths = /data/asan/vendor/${LIB}/mediacas
+namespace.mediacas.asan.search.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths = /data/asan/vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /data/asan/system/vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.search.paths = /vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.search.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.permitted.paths = /vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.permitted.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.permitted.paths += /system/vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.links = vendor,vndk,system,com_android_neuralnetworks
+namespace.mediacas.link.vendor.allow_all_shared_libs = true
+namespace.mediacas.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:android.frameworks.cameraservice.common@2.0.so:android.frameworks.cameraservice.device@2.0.so:android.frameworks.cameraservice.service@2.0.so:android.frameworks.displayservice@1.0.so:android.frameworks.schedulerservice@1.0.so:android.frameworks.sensorservice@1.0.so:android.frameworks.stats@1.0.so:android.hardware.atrace@1.0.so:android.hardware.audio.common@2.0.so:android.hardware.audio.common@4.0.so:android.hardware.audio.common@5.0.so:android.hardware.audio.common@6.0.so:android.hardware.audio.effect@2.0.so:android.hardware.audio.effect@4.0.so:android.hardware.audio.effect@5.0.so:android.hardware.audio.effect@6.0.so:android.hardware.audio@2.0.so:android.hardware.audio@4.0.so:android.hardware.audio@5.0.so:android.hardware.audio@6.0.so:android.hardware.authsecret@1.0.so:android.hardware.automotive.audiocontrol@1.0.so:android.hardware.automotive.evs@1.0.so:android.hardware.automotive.vehicle@2.0.so:android.hardware.biometrics.face@1.0.so:android.hardware.biometrics.fingerprint@2.1.so:android.hardware.bluetooth.a2dp@1.0.so:android.hardware.bluetooth.audio@2.0.so:android.hardware.bluetooth@1.0.so:android.hardware.bluetooth@1.1.so:android.hardware.boot@1.0.so:android.hardware.boot@1.1.so:android.hardware.broadcastradio@1.0.so:android.hardware.broadcastradio@1.1.so:android.hardware.broadcastradio@2.0.so:android.hardware.camera.common@1.0.so:android.hardware.camera.device@1.0.so:android.hardware.camera.device@3.2.so:android.hardware.camera.device@3.3.so:android.hardware.camera.device@3.4.so:android.hardware.camera.device@3.5.so:android.hardware.camera.metadata@3.2.so:android.hardware.camera.metadata@3.3.so:android.hardware.camera.metadata@3.4.so:android.hardware.camera.provider@2.4.so:android.hardware.camera.provider@2.5.so:android.hardware.cas.native@1.0.so:android.hardware.cas@1.0.so:android.hardware.cas@1.1.so:android.hardware.cas@1.2.so:android.hardware.configstore-utils.so:android.hardware.configstore@1.0.so:android.hardware.configstore@1.1.so:android.hardware.confirmationui-support-lib.so:android.hardware.confirmationui@1.0.so:android.hardware.contexthub@1.0.so:android.hardware.drm@1.0.so:android.hardware.drm@1.1.so:android.hardware.drm@1.2.so:android.hardware.dumpstate@1.0.so:android.hardware.dumpstate@1.1.so:android.hardware.fastboot@1.0.so:android.hardware.gatekeeper@1.0.so:android.hardware.gnss.measurement_corrections@1.0.so:android.hardware.gnss.visibility_control@1.0.so:android.hardware.gnss@1.0.so:android.hardware.gnss@1.1.so:android.hardware.gnss@2.0.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.allocator@3.0.so:android.hardware.graphics.bufferqueue@1.0.so:android.hardware.graphics.bufferqueue@2.0.so:android.hardware.graphics.composer@2.1.so:android.hardware.graphics.composer@2.2.so:android.hardware.graphics.composer@2.3.so:android.hardware.health.storage@1.0.so:android.hardware.health@1.0.so:android.hardware.health@2.0.so:android.hardware.health@2.1.so:android.hardware.identity-V1-ndk_platform.so:android.hardware.input.classifier@1.0.so:android.hardware.input.common@1.0.so:android.hardware.ir@1.0.so:android.hardware.keymaster-V1-ndk_platform.so:android.hardware.keymaster@3.0.so:android.hardware.keymaster@4.0.so:android.hardware.keymaster@4.1.so:android.hardware.light-V1-ndk_platform.so:android.hardware.light@2.0.so:android.hardware.media.bufferpool@1.0.so:android.hardware.media.bufferpool@2.0.so:android.hardware.media.c2@1.0.so:android.hardware.media.omx@1.0.so:android.hardware.media@1.0.so:android.hardware.memtrack@1.0.so:android.hardware.neuralnetworks@1.0.so:android.hardware.neuralnetworks@1.1.so:android.hardware.neuralnetworks@1.2.so:android.hardware.neuralnetworks@1.3.so:android.hardware.nfc@1.0.so:android.hardware.nfc@1.1.so:android.hardware.nfc@1.2.so:android.hardware.oemlock@1.0.so:android.hardware.power-V1-ndk_platform.so:android.hardware.power.stats@1.0.so:android.hardware.power@1.0.so:android.hardware.power@1.1.so:android.hardware.power@1.2.so:android.hardware.power@1.3.so:android.hardware.radio.config@1.0.so:android.hardware.radio.config@1.1.so:android.hardware.radio.config@1.2.so:android.hardware.radio.config@1.3.so:android.hardware.radio.deprecated@1.0.so:android.hardware.radio@1.0.so:android.hardware.radio@1.1.so:android.hardware.radio@1.2.so:android.hardware.radio@1.3.so:android.hardware.radio@1.4.so:android.hardware.radio@1.5.so:android.hardware.secure_element@1.0.so:android.hardware.secure_element@1.1.so:android.hardware.secure_element@1.2.so:android.hardware.sensors@1.0.so:android.hardware.sensors@2.0.so:android.hardware.soundtrigger@2.0-core.so:android.hardware.soundtrigger@2.0.so:android.hardware.soundtrigger@2.1.so:android.hardware.soundtrigger@2.2.so:android.hardware.tetheroffload.config@1.0.so:android.hardware.tetheroffload.control@1.0.so:android.hardware.thermal@1.0.so:android.hardware.thermal@1.1.so:android.hardware.thermal@2.0.so:android.hardware.tv.cec@1.0.so:android.hardware.tv.cec@2.0.so:android.hardware.tv.input@1.0.so:android.hardware.tv.tuner@1.0.so:android.hardware.usb.gadget@1.0.so:android.hardware.usb@1.0.so:android.hardware.usb@1.1.so:android.hardware.usb@1.2.so:android.hardware.vibrator-V1-ndk_platform.so:android.hardware.vibrator@1.0.so:android.hardware.vibrator@1.1.so:android.hardware.vibrator@1.2.so:android.hardware.vibrator@1.3.so:android.hardware.vr@1.0.so:android.hardware.weaver@1.0.so:android.hardware.wifi.hostapd@1.0.so:android.hardware.wifi.hostapd@1.1.so:android.hardware.wifi.offload@1.0.so:android.hardware.wifi.supplicant@1.0.so:android.hardware.wifi.supplicant@1.1.so:android.hardware.wifi.supplicant@1.2.so:android.hardware.wifi@1.0.so:android.hardware.wifi@1.1.so:android.hardware.wifi@1.2.so:android.hardware.wifi@1.3.so:android.hidl.allocator@1.0.so:android.hidl.memory.block@1.0.so:android.hidl.token@1.0-utils.so:android.hidl.token@1.0.so:android.system.net.netd@1.0.so:android.system.net.netd@1.1.so:android.system.suspend@1.0.so:android.system.wifi.keystore@1.0.so:libadf.so:libaudioroute.so:libaudioutils.so:libbinder.so:libcamera_metadata.so:libcap.so:libclang_rt.scudo-i686-android.so:libclang_rt.scudo_minimal-i686-android.so:libclang_rt.ubsan_standalone-i686-android.so:libclang_rt.ubsan_standalone-x86_64-android.so:libcn-cbor.so:libcodec2.so:libcrypto.so:libcrypto_utils.so:libcurl.so:libdiskconfig.so:libdumpstateutil.so:libevent.so:libexif.so:libexpat.so:libfmq.so:libgatekeeper.so:libhardware_legacy.so:libhidlallocatorutils.so:libjpeg.so:libldacBT_abr.so:libldacBT_enc.so:liblz4.so:libmedia_helper.so:libmedia_omx.so:libmemtrack.so:libminijail.so:libmkbootimg_abi_check.so:libnetutils.so:libnl.so:libpcre2.so:libpiex.so:libpng.so:libpower.so:libprocinfo.so:libradio_metadata.so:libselinux.so:libspeexresampler.so:libsqlite.so:libssl.so:libstagefright_bufferpool@2.0.so:libstagefright_bufferqueue_helper.so:libstagefright_foundation.so:libstagefright_omx.so:libstagefright_omx_utils.so:libstagefright_xmlparser.so:libsysutils.so:libtinyalsa.so:libtinyxml2.so:libui.so:libusbhost.so:libwifi-system-iface.so:libxml2.so:libyuv.so:libziparchive.so
+namespace.mediacas.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.mediacas.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.rs.isolated = true
namespace.rs.visible = true
namespace.rs.search.paths = /odm/${LIB}/vndk-sp
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 cf22418..5015847 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,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_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
@@ -28,7 +28,8 @@ 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.links = mediacas,system
+namespace.default.link.mediacas.allow_all_shared_libs = true
namespace.default.link.system.shared_libs = 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:libc.so:libdl.so:libdl_android.so:libm.so
namespace.com_android_adbd.isolated = true
namespace.com_android_adbd.search.paths = /apex/com.android.adbd/${LIB}
@@ -255,6 +256,29 @@ namespace.com_vendor_service1.link.vndk.shared_libs = android.hardware.graphics.
namespace.com_vendor_service1.link.vndk_in_system.shared_libs = libevent.so:libexif.so:libfmq.so
namespace.com_vendor_service1.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_vendor_service1.link.vendor.shared_libs = libvendorprovide.so
+namespace.mediacas.isolated = true
+namespace.mediacas.visible = true
+namespace.mediacas.search.paths = /vendor/${LIB}/mediacas
+namespace.mediacas.permitted.paths = /vendor/${LIB}/mediacas
+namespace.mediacas.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.asan.search.paths = /data/asan/vendor/${LIB}/mediacas
+namespace.mediacas.asan.search.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths = /data/asan/vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /data/asan/system/vendor/${LIB}/mediacas
+namespace.mediacas.asan.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.search.paths = /vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.search.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.permitted.paths = /vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.permitted.paths += /vendor/${LIB}/mediacas
+namespace.mediacas.hwasan.permitted.paths += /system/vendor/${LIB}/mediacas/hwasan
+namespace.mediacas.hwasan.permitted.paths += /system/vendor/${LIB}/mediacas
+namespace.mediacas.links = vendor,vndk,vndk_in_system,system,com_android_neuralnetworks
+namespace.mediacas.link.vendor.allow_all_shared_libs = true
+namespace.mediacas.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:android.frameworks.cameraservice.common@2.0.so:android.frameworks.cameraservice.device@2.0.so:android.frameworks.cameraservice.service@2.0.so:android.frameworks.displayservice@1.0.so:android.frameworks.schedulerservice@1.0.so:android.frameworks.sensorservice@1.0.so:android.frameworks.stats@1.0.so:android.hardware.atrace@1.0.so:android.hardware.audio.common@2.0.so:android.hardware.audio.common@4.0.so:android.hardware.audio.common@5.0.so:android.hardware.audio.common@6.0.so:android.hardware.audio.effect@2.0.so:android.hardware.audio.effect@4.0.so:android.hardware.audio.effect@5.0.so:android.hardware.audio.effect@6.0.so:android.hardware.audio@2.0.so:android.hardware.audio@4.0.so:android.hardware.audio@5.0.so:android.hardware.audio@6.0.so:android.hardware.authsecret@1.0.so:android.hardware.automotive.audiocontrol@1.0.so:android.hardware.automotive.evs@1.0.so:android.hardware.automotive.vehicle@2.0.so:android.hardware.biometrics.face@1.0.so:android.hardware.biometrics.fingerprint@2.1.so:android.hardware.bluetooth.a2dp@1.0.so:android.hardware.bluetooth.audio@2.0.so:android.hardware.bluetooth@1.0.so:android.hardware.bluetooth@1.1.so:android.hardware.boot@1.0.so:android.hardware.boot@1.1.so:android.hardware.broadcastradio@1.0.so:android.hardware.broadcastradio@1.1.so:android.hardware.broadcastradio@2.0.so:android.hardware.camera.common@1.0.so:android.hardware.camera.device@1.0.so:android.hardware.camera.device@3.2.so:android.hardware.camera.device@3.3.so:android.hardware.camera.device@3.4.so:android.hardware.camera.device@3.5.so:android.hardware.camera.metadata@3.2.so:android.hardware.camera.metadata@3.3.so:android.hardware.camera.metadata@3.4.so:android.hardware.camera.provider@2.4.so:android.hardware.camera.provider@2.5.so:android.hardware.cas.native@1.0.so:android.hardware.cas@1.0.so:android.hardware.cas@1.1.so:android.hardware.cas@1.2.so:android.hardware.configstore-utils.so:android.hardware.configstore@1.0.so:android.hardware.configstore@1.1.so:android.hardware.confirmationui-support-lib.so:android.hardware.confirmationui@1.0.so:android.hardware.contexthub@1.0.so:android.hardware.drm@1.0.so:android.hardware.drm@1.1.so:android.hardware.drm@1.2.so:android.hardware.dumpstate@1.0.so:android.hardware.dumpstate@1.1.so:android.hardware.fastboot@1.0.so:android.hardware.gatekeeper@1.0.so:android.hardware.gnss.measurement_corrections@1.0.so:android.hardware.gnss.visibility_control@1.0.so:android.hardware.gnss@1.0.so:android.hardware.gnss@1.1.so:android.hardware.gnss@2.0.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.allocator@3.0.so:android.hardware.graphics.bufferqueue@1.0.so:android.hardware.graphics.bufferqueue@2.0.so:android.hardware.graphics.composer@2.1.so:android.hardware.graphics.composer@2.2.so:android.hardware.graphics.composer@2.3.so:android.hardware.health.storage@1.0.so:android.hardware.health@1.0.so:android.hardware.health@2.0.so:android.hardware.health@2.1.so:android.hardware.identity-V1-ndk_platform.so:android.hardware.input.classifier@1.0.so:android.hardware.input.common@1.0.so:android.hardware.ir@1.0.so:android.hardware.keymaster-V1-ndk_platform.so:android.hardware.keymaster@3.0.so:android.hardware.keymaster@4.0.so:android.hardware.keymaster@4.1.so:android.hardware.light-V1-ndk_platform.so:android.hardware.light@2.0.so:android.hardware.media.bufferpool@1.0.so:android.hardware.media.bufferpool@2.0.so:android.hardware.media.c2@1.0.so:android.hardware.media.omx@1.0.so:android.hardware.media@1.0.so:android.hardware.memtrack@1.0.so:android.hardware.neuralnetworks@1.0.so:android.hardware.neuralnetworks@1.1.so:android.hardware.neuralnetworks@1.2.so:android.hardware.neuralnetworks@1.3.so:android.hardware.nfc@1.0.so:android.hardware.nfc@1.1.so:android.hardware.nfc@1.2.so:android.hardware.oemlock@1.0.so:android.hardware.power-V1-ndk_platform.so:android.hardware.power.stats@1.0.so:android.hardware.power@1.0.so:android.hardware.power@1.1.so:android.hardware.power@1.2.so:android.hardware.power@1.3.so:android.hardware.radio.config@1.0.so:android.hardware.radio.config@1.1.so:android.hardware.radio.config@1.2.so:android.hardware.radio.config@1.3.so:android.hardware.radio.deprecated@1.0.so:android.hardware.radio@1.0.so:android.hardware.radio@1.1.so:android.hardware.radio@1.2.so:android.hardware.radio@1.3.so:android.hardware.radio@1.4.so:android.hardware.radio@1.5.so:android.hardware.secure_element@1.0.so:android.hardware.secure_element@1.1.so:android.hardware.secure_element@1.2.so:android.hardware.sensors@1.0.so:android.hardware.sensors@2.0.so:android.hardware.soundtrigger@2.0-core.so:android.hardware.soundtrigger@2.0.so:android.hardware.soundtrigger@2.1.so:android.hardware.soundtrigger@2.2.so:android.hardware.tetheroffload.config@1.0.so:android.hardware.tetheroffload.control@1.0.so:android.hardware.thermal@1.0.so:android.hardware.thermal@1.1.so:android.hardware.thermal@2.0.so:android.hardware.tv.cec@1.0.so:android.hardware.tv.cec@2.0.so:android.hardware.tv.input@1.0.so:android.hardware.tv.tuner@1.0.so:android.hardware.usb.gadget@1.0.so:android.hardware.usb@1.0.so:android.hardware.usb@1.1.so:android.hardware.usb@1.2.so:android.hardware.vibrator-V1-ndk_platform.so:android.hardware.vibrator@1.0.so:android.hardware.vibrator@1.1.so:android.hardware.vibrator@1.2.so:android.hardware.vibrator@1.3.so:android.hardware.vr@1.0.so:android.hardware.weaver@1.0.so:android.hardware.wifi.hostapd@1.0.so:android.hardware.wifi.hostapd@1.1.so:android.hardware.wifi.offload@1.0.so:android.hardware.wifi.supplicant@1.0.so:android.hardware.wifi.supplicant@1.1.so:android.hardware.wifi.supplicant@1.2.so:android.hardware.wifi@1.0.so:android.hardware.wifi@1.1.so:android.hardware.wifi@1.2.so:android.hardware.wifi@1.3.so:android.hidl.allocator@1.0.so:android.hidl.memory.block@1.0.so:android.hidl.token@1.0-utils.so:android.hidl.token@1.0.so:android.system.net.netd@1.0.so:android.system.net.netd@1.1.so:android.system.suspend@1.0.so:android.system.wifi.keystore@1.0.so:libadf.so:libaudioroute.so:libaudioutils.so:libbinder.so:libcamera_metadata.so:libcap.so:libclang_rt.scudo-i686-android.so:libclang_rt.scudo_minimal-i686-android.so:libclang_rt.ubsan_standalone-i686-android.so:libclang_rt.ubsan_standalone-x86_64-android.so:libcn-cbor.so:libcodec2.so:libcrypto.so:libcrypto_utils.so:libcurl.so:libdiskconfig.so:libdumpstateutil.so:libevent.so:libexif.so:libexpat.so:libfmq.so:libgatekeeper.so:libhardware_legacy.so:libhidlallocatorutils.so:libjpeg.so:libldacBT_abr.so:libldacBT_enc.so:liblz4.so:libmedia_helper.so:libmedia_omx.so:libmemtrack.so:libminijail.so:libmkbootimg_abi_check.so:libnetutils.so:libnl.so:libpcre2.so:libpiex.so:libpng.so:libpower.so:libprocinfo.so:libradio_metadata.so:libselinux.so:libspeexresampler.so:libsqlite.so:libssl.so:libstagefright_bufferpool@2.0.so:libstagefright_bufferqueue_helper.so:libstagefright_foundation.so:libstagefright_omx.so:libstagefright_omx_utils.so:libstagefright_xmlparser.so:libsysutils.so:libtinyalsa.so:libtinyxml2.so:libui.so:libusbhost.so:libwifi-system-iface.so:libxml2.so:libyuv.so:libziparchive.so
+namespace.mediacas.link.vndk_in_system.shared_libs = libevent.so:libexif.so:libfmq.so
+namespace.mediacas.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.mediacas.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.rs.isolated = true
namespace.rs.visible = true
namespace.rs.search.paths = /odm/${LIB}/vndk-sp
diff --git a/testdata/root/vendor/apex/com.vendor.service2/apex_manifest.json b/testdata/root/vendor/apex/com.vendor.service2/apex_manifest.json
index 26978fe..392ddb6 100644
--- a/testdata/root/vendor/apex/com.vendor.service2/apex_manifest.json
+++ b/testdata/root/vendor/apex/com.vendor.service2/apex_manifest.json
@@ -2,6 +2,7 @@
"name": "com.vendor.service2",
"version": 1,
"requireNativeLibs": [
+ ":mediacas"
],
"provideNativeLibs": [
]