From 785ba2e68ee2ded4c04c2d0433db2bea84526ab6 Mon Sep 17 00:00:00 2001 From: Victor Chang Date: Tue, 15 Jan 2019 18:04:56 +0000 Subject: [PATCH] Linker namespace changes for moving ICU4C to APEX libandroidicu is used by various libraries, e.g. libxml2, minikin. Thus, expose libandroidicu to default namespace. libpac is only used by libjni_pacprocessor (part of framework). libicuuc, libicui18n are not exposed to default namespace, because everyone else, except app, should use libandroidicu. They are exposed to classloader namespace from runtime namespace via the work done in libnativeloader in http://r.android.com/887453 b/120786417 has more details about these 2 libraries. Bug: 120659668 Test: m droid Change-Id: I2cd3378f1eb94b7bb1c942738b59d7e577a5f8f0 --- rootdir/etc/ld.config.legacy.txt | 4 ++++ rootdir/etc/ld.config.txt | 4 ++++ rootdir/etc/ld.config.vndk_lite.txt | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/rootdir/etc/ld.config.legacy.txt b/rootdir/etc/ld.config.legacy.txt index 48ca99839..2b22087d2 100644 --- a/rootdir/etc/ld.config.legacy.txt +++ b/rootdir/etc/ld.config.legacy.txt @@ -54,6 +54,10 @@ namespace.default.link.runtime.shared_libs += libdexfile_external.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 +namespace.default.link.runtime.shared_libs += libandroidicu.so + +# TODO(b/122876336): Remove libpac.so once it's migrated to Webview +namespace.default.link.runtime.shared_libs += libpac.so # When libnetd_resolv.so can't be found in the default namespace, search for it # in the resolv namespace. Don't allow any other libraries from the resolv namespace diff --git a/rootdir/etc/ld.config.txt b/rootdir/etc/ld.config.txt index 7aa097dde..c2d69c97c 100644 --- a/rootdir/etc/ld.config.txt +++ b/rootdir/etc/ld.config.txt @@ -128,6 +128,10 @@ namespace.default.link.runtime.shared_libs += libdexfile_external.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 +namespace.default.link.runtime.shared_libs += libandroidicu.so + +# TODO(b/122876336): Remove libpac.so once it's migrated to Webview +namespace.default.link.runtime.shared_libs += libpac.so # When libnetd_resolv.so can't be found in the default namespace, search for it # in the resolv namespace. Don't allow any other libraries from the resolv namespace diff --git a/rootdir/etc/ld.config.vndk_lite.txt b/rootdir/etc/ld.config.vndk_lite.txt index 190444592..db946b4e2 100644 --- a/rootdir/etc/ld.config.vndk_lite.txt +++ b/rootdir/etc/ld.config.vndk_lite.txt @@ -72,6 +72,10 @@ namespace.default.link.runtime.shared_libs += libdexfile_external.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 +namespace.default.link.runtime.shared_libs += libandroidicu.so + +# TODO(b/122876336): Remove libpac.so once it's migrated to Webview +namespace.default.link.runtime.shared_libs += libpac.so # When libnetd_resolv.so can't be found in the default namespace, search for it # in the resolv namespace. Don't allow any other libraries from the resolv namespace