aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKiyoung Kim <kiyoungkim@google.com>2024-02-23 13:43:56 +0900
committerKiyoung Kim <kiyoungkim@google.com>2024-02-26 11:53:58 +0900
commit18119844192ab0af8f900b8821fedde56f677b29 (patch)
treeb56f2709657f5b4aaa51bc93d6583560f91aff08
parent8a21670091c6f1d1ea2bb8a901a8ef92965c03f0 (diff)
downloadlinkerconfig-18119844192ab0af8f900b8821fedde56f677b29.tar.gz
RS temporarily uses sphal namespace
From VNDK deprecation some RS libraries started to use SPHAL namespace as those libraries are moved into directory where is SPHAL namespace's search path. As it adds complexity to move rs libraries again, this change temporarily allows SPHAL namespace to load renderscript libraries Bug: 326157925 Test: CtsRenderscriptTestCases passed from barbet Change-Id: I1f73417381794c63c4b97ab690a20d29bb6cb7a5
-rw-r--r--contents/namespace/sphal.cc6
-rw-r--r--testdata/golden_output/deprecate_vndk/com.android.adbd/ld.config.txt7
-rw-r--r--testdata/golden_output/deprecate_vndk/com.android.art/ld.config.txt7
-rw-r--r--testdata/golden_output/deprecate_vndk/com.android.conscrypt/ld.config.txt7
-rw-r--r--testdata/golden_output/deprecate_vndk/com.android.media.swcodec/ld.config.txt7
-rw-r--r--testdata/golden_output/deprecate_vndk/com.android.runtime/ld.config.txt7
-rw-r--r--testdata/golden_output/deprecate_vndk/com.android.sdkext/ld.config.txt7
-rw-r--r--testdata/golden_output/deprecate_vndk/com.product.service1/ld.config.txt7
-rw-r--r--testdata/golden_output/deprecate_vndk/ld.config.txt14
9 files changed, 60 insertions, 9 deletions
diff --git a/contents/namespace/sphal.cc b/contents/namespace/sphal.cc
index b80ef86..22a0003 100644
--- a/contents/namespace/sphal.cc
+++ b/contents/namespace/sphal.cc
@@ -51,6 +51,12 @@ Namespace BuildSphalNamespace([[maybe_unused]] const Context& ctx) {
ns.AddPermittedPath("/vendor/odm/${LIB}");
ns.AddPermittedPath("/system/vendor/${LIB}");
+ // TODO(b/326839235) Remove access to data once renderscript is deprecated.
+ if (!android::linkerconfig::modules::IsVendorVndkVersionDefined()) {
+ ns.AddPermittedPath("/data");
+ ns.GetLink(ctx.GetSystemNamespaceName()).AddSharedLib("libft2.so");
+ }
+
if (ctx.IsApexBinaryConfig() &&
!android::linkerconfig::modules::IsTreblelizedDevice()) {
// If device is legacy, let Sphal libraries access to system lib path for
diff --git a/testdata/golden_output/deprecate_vndk/com.android.adbd/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.android.adbd/ld.config.txt
index f91e77a..c741be9 100644
--- a/testdata/golden_output/deprecate_vndk/com.android.adbd/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.android.adbd/ld.config.txt
@@ -199,6 +199,7 @@ namespace.sphal.permitted.paths = /odm/${LIB}
namespace.sphal.permitted.paths += /vendor/${LIB}
namespace.sphal.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.permitted.paths += /data
namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
namespace.sphal.asan.search.paths += /odm/${LIB}
namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
@@ -215,6 +216,8 @@ namespace.sphal.asan.permitted.paths += /data/asan/vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /data/asan/system/vendor/${LIB}
namespace.sphal.asan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/data
+namespace.sphal.asan.permitted.paths += /data
namespace.sphal.hwasan.search.paths = /odm/${LIB}/hwasan
namespace.sphal.hwasan.search.paths += /odm/${LIB}
namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hwasan
@@ -231,8 +234,10 @@ namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.hwasan.permitted.paths += /data/hwasan
+namespace.sphal.hwasan.permitted.paths += /data
namespace.sphal.links = system,com_android_neuralnetworks
-namespace.sphal.link.system.shared_libs = 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:libft2.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.link.system.shared_libs = libft2.so:libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.isolated = true
namespace.system.visible = true
diff --git a/testdata/golden_output/deprecate_vndk/com.android.art/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.android.art/ld.config.txt
index a10308c..473fb33 100644
--- a/testdata/golden_output/deprecate_vndk/com.android.art/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.android.art/ld.config.txt
@@ -259,6 +259,7 @@ namespace.sphal.permitted.paths = /odm/${LIB}
namespace.sphal.permitted.paths += /vendor/${LIB}
namespace.sphal.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.permitted.paths += /data
namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
namespace.sphal.asan.search.paths += /odm/${LIB}
namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
@@ -275,6 +276,8 @@ namespace.sphal.asan.permitted.paths += /data/asan/vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /data/asan/system/vendor/${LIB}
namespace.sphal.asan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/data
+namespace.sphal.asan.permitted.paths += /data
namespace.sphal.hwasan.search.paths = /odm/${LIB}/hwasan
namespace.sphal.hwasan.search.paths += /odm/${LIB}
namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hwasan
@@ -291,8 +294,10 @@ namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.hwasan.permitted.paths += /data/hwasan
+namespace.sphal.hwasan.permitted.paths += /data
namespace.sphal.links = system,com_android_neuralnetworks
-namespace.sphal.link.system.shared_libs = 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:libft2.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.link.system.shared_libs = libft2.so:libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.isolated = true
namespace.system.visible = true
diff --git a/testdata/golden_output/deprecate_vndk/com.android.conscrypt/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.android.conscrypt/ld.config.txt
index dde7cc8..be56485 100644
--- a/testdata/golden_output/deprecate_vndk/com.android.conscrypt/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.android.conscrypt/ld.config.txt
@@ -221,6 +221,7 @@ namespace.sphal.permitted.paths = /odm/${LIB}
namespace.sphal.permitted.paths += /vendor/${LIB}
namespace.sphal.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.permitted.paths += /data
namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
namespace.sphal.asan.search.paths += /odm/${LIB}
namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
@@ -237,6 +238,8 @@ namespace.sphal.asan.permitted.paths += /data/asan/vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /data/asan/system/vendor/${LIB}
namespace.sphal.asan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/data
+namespace.sphal.asan.permitted.paths += /data
namespace.sphal.hwasan.search.paths = /odm/${LIB}/hwasan
namespace.sphal.hwasan.search.paths += /odm/${LIB}
namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hwasan
@@ -253,8 +256,10 @@ namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.hwasan.permitted.paths += /data/hwasan
+namespace.sphal.hwasan.permitted.paths += /data
namespace.sphal.links = system,com_android_neuralnetworks
-namespace.sphal.link.system.shared_libs = 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:libft2.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.link.system.shared_libs = libft2.so:libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.isolated = true
namespace.system.visible = true
diff --git a/testdata/golden_output/deprecate_vndk/com.android.media.swcodec/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.android.media.swcodec/ld.config.txt
index e30dfe0..017b0ac 100644
--- a/testdata/golden_output/deprecate_vndk/com.android.media.swcodec/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.android.media.swcodec/ld.config.txt
@@ -220,6 +220,7 @@ namespace.sphal.permitted.paths = /odm/${LIB}
namespace.sphal.permitted.paths += /vendor/${LIB}
namespace.sphal.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.permitted.paths += /data
namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
namespace.sphal.asan.search.paths += /odm/${LIB}
namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
@@ -236,6 +237,8 @@ namespace.sphal.asan.permitted.paths += /data/asan/vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /data/asan/system/vendor/${LIB}
namespace.sphal.asan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/data
+namespace.sphal.asan.permitted.paths += /data
namespace.sphal.hwasan.search.paths = /odm/${LIB}/hwasan
namespace.sphal.hwasan.search.paths += /odm/${LIB}
namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hwasan
@@ -252,8 +255,10 @@ namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.hwasan.permitted.paths += /data/hwasan
+namespace.sphal.hwasan.permitted.paths += /data
namespace.sphal.links = system,com_android_neuralnetworks
-namespace.sphal.link.system.shared_libs = 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:libft2.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.link.system.shared_libs = libft2.so:libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.isolated = true
namespace.system.visible = true
diff --git a/testdata/golden_output/deprecate_vndk/com.android.runtime/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.android.runtime/ld.config.txt
index b601646..80c8f1a 100644
--- a/testdata/golden_output/deprecate_vndk/com.android.runtime/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.android.runtime/ld.config.txt
@@ -203,6 +203,7 @@ namespace.sphal.permitted.paths = /odm/${LIB}
namespace.sphal.permitted.paths += /vendor/${LIB}
namespace.sphal.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.permitted.paths += /data
namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
namespace.sphal.asan.search.paths += /odm/${LIB}
namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
@@ -219,6 +220,8 @@ namespace.sphal.asan.permitted.paths += /data/asan/vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /data/asan/system/vendor/${LIB}
namespace.sphal.asan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/data
+namespace.sphal.asan.permitted.paths += /data
namespace.sphal.hwasan.search.paths = /odm/${LIB}/hwasan
namespace.sphal.hwasan.search.paths += /odm/${LIB}
namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hwasan
@@ -235,8 +238,10 @@ namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.hwasan.permitted.paths += /data/hwasan
+namespace.sphal.hwasan.permitted.paths += /data
namespace.sphal.links = system,com_android_neuralnetworks
-namespace.sphal.link.system.shared_libs = 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:libft2.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.link.system.shared_libs = libft2.so:libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.isolated = true
namespace.system.visible = true
diff --git a/testdata/golden_output/deprecate_vndk/com.android.sdkext/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.android.sdkext/ld.config.txt
index 42c2ca9..8ad4d84 100644
--- a/testdata/golden_output/deprecate_vndk/com.android.sdkext/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.android.sdkext/ld.config.txt
@@ -220,6 +220,7 @@ namespace.sphal.permitted.paths = /odm/${LIB}
namespace.sphal.permitted.paths += /vendor/${LIB}
namespace.sphal.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.permitted.paths += /data
namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
namespace.sphal.asan.search.paths += /odm/${LIB}
namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
@@ -236,6 +237,8 @@ namespace.sphal.asan.permitted.paths += /data/asan/vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /data/asan/system/vendor/${LIB}
namespace.sphal.asan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/data
+namespace.sphal.asan.permitted.paths += /data
namespace.sphal.hwasan.search.paths = /odm/${LIB}/hwasan
namespace.sphal.hwasan.search.paths += /odm/${LIB}
namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hwasan
@@ -252,8 +255,10 @@ namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.hwasan.permitted.paths += /data/hwasan
+namespace.sphal.hwasan.permitted.paths += /data
namespace.sphal.links = system,com_android_neuralnetworks
-namespace.sphal.link.system.shared_libs = 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:libft2.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.link.system.shared_libs = libft2.so:libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.isolated = true
namespace.system.visible = true
diff --git a/testdata/golden_output/deprecate_vndk/com.product.service1/ld.config.txt b/testdata/golden_output/deprecate_vndk/com.product.service1/ld.config.txt
index 88a1e0c..c5371e4 100644
--- a/testdata/golden_output/deprecate_vndk/com.product.service1/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/com.product.service1/ld.config.txt
@@ -236,6 +236,7 @@ namespace.sphal.permitted.paths = /odm/${LIB}
namespace.sphal.permitted.paths += /vendor/${LIB}
namespace.sphal.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.permitted.paths += /data
namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
namespace.sphal.asan.search.paths += /odm/${LIB}
namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
@@ -252,6 +253,8 @@ namespace.sphal.asan.permitted.paths += /data/asan/vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /data/asan/system/vendor/${LIB}
namespace.sphal.asan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/data
+namespace.sphal.asan.permitted.paths += /data
namespace.sphal.hwasan.search.paths = /odm/${LIB}/hwasan
namespace.sphal.hwasan.search.paths += /odm/${LIB}
namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hwasan
@@ -268,8 +271,10 @@ namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.hwasan.permitted.paths += /data/hwasan
+namespace.sphal.hwasan.permitted.paths += /data
namespace.sphal.links = system,com_android_neuralnetworks
-namespace.sphal.link.system.shared_libs = 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:libft2.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.link.system.shared_libs = libft2.so:libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
namespace.system.isolated = true
namespace.system.visible = true
diff --git a/testdata/golden_output/deprecate_vndk/ld.config.txt b/testdata/golden_output/deprecate_vndk/ld.config.txt
index c8c29be..11ddd72 100644
--- a/testdata/golden_output/deprecate_vndk/ld.config.txt
+++ b/testdata/golden_output/deprecate_vndk/ld.config.txt
@@ -511,6 +511,7 @@ namespace.sphal.permitted.paths = /odm/${LIB}
namespace.sphal.permitted.paths += /vendor/${LIB}
namespace.sphal.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.permitted.paths += /data
namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
namespace.sphal.asan.search.paths += /odm/${LIB}
namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
@@ -527,6 +528,8 @@ namespace.sphal.asan.permitted.paths += /data/asan/vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /data/asan/system/vendor/${LIB}
namespace.sphal.asan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/data
+namespace.sphal.asan.permitted.paths += /data
namespace.sphal.hwasan.search.paths = /odm/${LIB}/hwasan
namespace.sphal.hwasan.search.paths += /odm/${LIB}
namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hwasan
@@ -543,8 +546,10 @@ namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.hwasan.permitted.paths += /data/hwasan
+namespace.sphal.hwasan.permitted.paths += /data
namespace.sphal.links = default,rs,com_android_neuralnetworks
-namespace.sphal.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:libft2.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.link.default.shared_libs = libft2.so:libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.link.rs.shared_libs = libRS_internal.so
namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[vendor]
@@ -1774,6 +1779,7 @@ namespace.sphal.permitted.paths = /odm/${LIB}
namespace.sphal.permitted.paths += /vendor/${LIB}
namespace.sphal.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.permitted.paths += /data
namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
namespace.sphal.asan.search.paths += /odm/${LIB}
namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
@@ -1790,6 +1796,8 @@ namespace.sphal.asan.permitted.paths += /data/asan/vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.asan.permitted.paths += /data/asan/system/vendor/${LIB}
namespace.sphal.asan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/data
+namespace.sphal.asan.permitted.paths += /data
namespace.sphal.hwasan.search.paths = /odm/${LIB}/hwasan
namespace.sphal.hwasan.search.paths += /odm/${LIB}
namespace.sphal.hwasan.search.paths += /vendor/${LIB}/hwasan
@@ -1806,8 +1814,10 @@ namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /vendor/odm/${LIB}
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}/hwasan
namespace.sphal.hwasan.permitted.paths += /system/vendor/${LIB}
+namespace.sphal.hwasan.permitted.paths += /data/hwasan
+namespace.sphal.hwasan.permitted.paths += /data
namespace.sphal.links = default,rs,com_android_neuralnetworks
-namespace.sphal.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:libft2.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
+namespace.sphal.link.default.shared_libs = libft2.so:libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
namespace.sphal.link.rs.shared_libs = libRS_internal.so
namespace.sphal.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
[postinstall]