Link vndk_in_system to use libraries from default namespace

VNDK has a link to the vendor/product default namespace to allow using
vendor/product libraries, but vndk_in_system namespace does not have
same links, so same VNDK library can fail only from devices with VNDK
using core variants. This change adds same link to the vndk_in_system
namespace so VNDK library can link to vendor/product libraries same from
VNDK namespace.

Bug: 328185025
Test: N/A
Change-Id: I6083589c00855b01955217186a880ad23a987ca0
diff --git a/contents/namespace/vndkinsystem.cc b/contents/namespace/vndkinsystem.cc
index efa7916..3b3bde9 100644
--- a/contents/namespace/vndkinsystem.cc
+++ b/contents/namespace/vndkinsystem.cc
@@ -55,6 +55,10 @@
                                            : VndkUserPartition::Vendor);
   ns.GetLink("vndk").AllowAllSharedLibs();
 
+  if (ctx.IsVendorSection() || ctx.IsProductSection()) {
+    ns.GetLink("default").AllowAllSharedLibs();
+  }
+
   return ns;
 }
 }  // namespace contents
diff --git a/testdata/golden_output/vndk-in-system/ld.config.txt b/testdata/golden_output/vndk-in-system/ld.config.txt
index 43f6b6a..4ba89bc 100644
--- a/testdata/golden_output/vndk-in-system/ld.config.txt
+++ b/testdata/golden_output/vndk-in-system/ld.config.txt
@@ -1207,9 +1207,10 @@
 namespace.vndk_in_system.hwasan.search.paths += /system_ext/${LIB}/hwasan
 namespace.vndk_in_system.hwasan.search.paths += /system_ext/${LIB}
 namespace.vndk_in_system.allowed_libs = libevent.so:libexif.so:libfmq.so
-namespace.vndk_in_system.links = system,vndk,com_android_neuralnetworks
+namespace.vndk_in_system.links = system,vndk,default,com_android_neuralnetworks
 namespace.vndk_in_system.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
 namespace.vndk_in_system.link.vndk.allow_all_shared_libs = true
+namespace.vndk_in_system.link.default.allow_all_shared_libs = true
 namespace.vndk_in_system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
 [product]
 additional.namespaces = com_android_adbd,com_android_art,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_product_service1,com_vendor_service3,system,vndk,vndk_in_system
@@ -1652,9 +1653,10 @@
 namespace.vndk_in_system.hwasan.search.paths += /system_ext/${LIB}/hwasan
 namespace.vndk_in_system.hwasan.search.paths += /system_ext/${LIB}
 namespace.vndk_in_system.allowed_libs = libevent.so:libexif.so:libfmq.so
-namespace.vndk_in_system.links = system,vndk,com_android_neuralnetworks
+namespace.vndk_in_system.links = system,vndk,default,com_android_neuralnetworks
 namespace.vndk_in_system.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-i686-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libsync.so:libvndksupport.so:libvulkan.so:libdl_android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.hwasan-i686-android.so:libclang_rt.tsan-arm-android.so:libclang_rt.tsan-i686-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.ubsan_standalone-i686-android.so
 namespace.vndk_in_system.link.vndk.allow_all_shared_libs = true
+namespace.vndk_in_system.link.default.allow_all_shared_libs = true
 namespace.vndk_in_system.link.com_android_neuralnetworks.shared_libs = libneuralnetworks.so
 [unrestricted]
 additional.namespaces = com_android_adbd,com_android_art,com_android_conscrypt,com_android_i18n,com_android_media,com_android_neuralnetworks,com_android_os_statsd,com_android_resolv,com_android_runtime,com_vendor_service3,rs,sphal,vndk