From 32190f45e069d03fe2a5f8926a49dff80fb2d1c3 Mon Sep 17 00:00:00 2001 From: Victor Chang Date: Mon, 13 May 2019 16:14:03 +0100 Subject: [PATCH] Allow linking to libicuuc.so and libicui18n.so from executable in /data Executable in /data/ runs in default linker namespace, not classloader namespace. In Q, we moved libicuuc.so and libicui18n into the runtime namespace, and allow linking from runtime namespace and classloader namespace. This change further allows linking from default namespace, and tries to fix the regression temporarily. Bug: 130788466 Test: The app issue is fixed after this CL Merged-In: Ifae52b554124514e433cfe78875643a7450fbabd Change-Id: Ifae52b554124514e433cfe78875643a7450fbabd (cherry picked from commit 0c7edece9453db4f6c7be3058e64881b9805f94e) --- rootdir/etc/ld.config.legacy.txt | 3 +++ rootdir/etc/ld.config.txt | 9 +++++++++ rootdir/etc/ld.config.vndk_lite.txt | 9 +++++++++ 3 files changed, 21 insertions(+) diff --git a/rootdir/etc/ld.config.legacy.txt b/rootdir/etc/ld.config.legacy.txt index a5db3742c..5aac61bb9 100644 --- a/rootdir/etc/ld.config.legacy.txt +++ b/rootdir/etc/ld.config.legacy.txt @@ -58,6 +58,9 @@ namespace.default.link.runtime.shared_libs += libnativebridge.so namespace.default.link.runtime.shared_libs += libnativehelper.so namespace.default.link.runtime.shared_libs += libnativeloader.so namespace.default.link.runtime.shared_libs += libandroidicu.so +# libicuuc.so and libicui18n.so are kept for app compat reason. http://b/130788466 +namespace.default.link.runtime.shared_libs += libicui18n.so +namespace.default.link.runtime.shared_libs += libicuuc.so # TODO(b/122876336): Remove libpac.so once it's migrated to Webview namespace.default.link.runtime.shared_libs += libpac.so diff --git a/rootdir/etc/ld.config.txt b/rootdir/etc/ld.config.txt index 91a437363..dc69920a8 100644 --- a/rootdir/etc/ld.config.txt +++ b/rootdir/etc/ld.config.txt @@ -133,6 +133,9 @@ namespace.default.links = runtime,resolv # libart. namespace.default.visible = true namespace.default.link.runtime.shared_libs = libdexfile_external.so +# libicuuc.so and libicui18n.so are kept for app compat reason. http://b/130788466 +namespace.default.link.runtime.shared_libs += libicui18n.so +namespace.default.link.runtime.shared_libs += libicuuc.so namespace.default.link.runtime.shared_libs += libnativebridge.so namespace.default.link.runtime.shared_libs += libnativehelper.so namespace.default.link.runtime.shared_libs += libnativeloader.so @@ -502,6 +505,9 @@ namespace.system.asan.search.paths += /%PRODUCT_SERVICES%/${LIB} namespace.system.links = runtime namespace.system.link.runtime.shared_libs = libdexfile_external.so +# libicuuc.so and libicui18n.so are kept for app compat reason. http://b/130788466 +namespace.system.link.runtime.shared_libs += libicui18n.so +namespace.system.link.runtime.shared_libs += libicuuc.so namespace.system.link.runtime.shared_libs += libnativebridge.so namespace.system.link.runtime.shared_libs += libnativehelper.so namespace.system.link.runtime.shared_libs += libnativeloader.so @@ -578,6 +584,9 @@ namespace.default.links = runtime,resolv namespace.default.visible = true namespace.default.link.runtime.shared_libs = libdexfile_external.so +# libicuuc.so and libicui18n.so are kept for app compat reason. http://b/130788466 +namespace.default.link.runtime.shared_libs += libicui18n.so +namespace.default.link.runtime.shared_libs += libicuuc.so namespace.default.link.runtime.shared_libs += libnativebridge.so namespace.default.link.runtime.shared_libs += libnativehelper.so namespace.default.link.runtime.shared_libs += libnativeloader.so diff --git a/rootdir/etc/ld.config.vndk_lite.txt b/rootdir/etc/ld.config.vndk_lite.txt index 11729eeb0..5db7698f4 100644 --- a/rootdir/etc/ld.config.vndk_lite.txt +++ b/rootdir/etc/ld.config.vndk_lite.txt @@ -74,6 +74,9 @@ namespace.default.links = runtime,resolv # libart. namespace.default.visible = true namespace.default.link.runtime.shared_libs = libdexfile_external.so +# libicuuc.so and libicui18n.so are kept for app compat reason. http://b/130788466 +namespace.default.link.runtime.shared_libs += libicui18n.so +namespace.default.link.runtime.shared_libs += libicuuc.so namespace.default.link.runtime.shared_libs += libnativebridge.so namespace.default.link.runtime.shared_libs += libnativehelper.so namespace.default.link.runtime.shared_libs += libnativeloader.so @@ -355,6 +358,9 @@ namespace.default.asan.search.paths += /system/${LIB}/vndk%VNDK_VER% namespace.default.links = runtime namespace.default.link.runtime.shared_libs = libdexfile_external.so +# libicuuc.so and libicui18n.so are kept for app compat reason. http://b/130788466 +namespace.default.link.runtime.shared_libs += libicui18n.so +namespace.default.link.runtime.shared_libs += libicuuc.so namespace.default.link.runtime.shared_libs += libnativebridge.so namespace.default.link.runtime.shared_libs += libnativehelper.so namespace.default.link.runtime.shared_libs += libnativeloader.so @@ -401,6 +407,9 @@ namespace.default.links = runtime,resolv namespace.default.visible = true namespace.default.link.runtime.shared_libs = libdexfile_external.so +# libicuuc.so and libicui18n.so are kept for app compat reason. http://b/130788466 +namespace.default.link.runtime.shared_libs += libicui18n.so +namespace.default.link.runtime.shared_libs += libicuuc.so namespace.default.link.runtime.shared_libs += libnativebridge.so namespace.default.link.runtime.shared_libs += libnativehelper.so namespace.default.link.runtime.shared_libs += libnativeloader.so