Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c02464ce authored by Martin Stjernholm's avatar Martin Stjernholm
Browse files

Make libdexfile_external.so accessible from binaries and libraries in /system.

There are dependencies on libdexfile_external from some central libraries
that are widely used (b/123186083).

One example is vendor/bin/hw/android.hardware.media.omx@1.0-service, which
requries the link from "system" to "runtime" in the [vendor] section.

The direct dependants are libunwindstack and simpleperf, so it's enough to
link from namespaces containing /system/{lib,lib64,bin}.

Test: Flash and boot
Test: Flash and boot with Runtime APEX enabled (http://r.android.com/q/topic:art-move-libs-to-runtime-apex)
Bug: 123186083
Bug: 113373927
Change-Id: I081aa7392c875202acdaf1185c2ff28e17ac7e76
parent 1fc8a55b
Loading
Loading
Loading
Loading
+19 −1
Original line number Diff line number Diff line
@@ -113,6 +113,7 @@ namespace.default.links = runtime
# libart.
namespace.default.visible = true
namespace.default.link.runtime.shared_libs  = libart.so:libartd.so
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
@@ -313,7 +314,7 @@ namespace.vndk.link.sphal.allow_all_shared_libs = true
# (LL-NDK only) access.
###############################################################################
[vendor]
additional.namespaces = system,vndk
additional.namespaces = runtime,system,vndk

###############################################################################
# "default" namespace
@@ -349,6 +350,20 @@ namespace.default.link.system.shared_libs = %LLNDK_LIBRARIES%
namespace.default.link.vndk.shared_libs  = %VNDK_SAMEPROCESS_LIBRARIES%
namespace.default.link.vndk.shared_libs += %VNDK_CORE_LIBRARIES%

###############################################################################
# "runtime" APEX namespace
#
# This namespace exposes externally accessible libraries from the Runtime APEX.
###############################################################################
namespace.runtime.isolated = true

# Keep in sync with ld.config.txt in the com.android.runtime APEX.
namespace.runtime.search.paths = /apex/com.android.runtime/${LIB}
namespace.runtime.links = system
# TODO(b/119867084): Restrict to Bionic dlopen dependencies and PALette library
# when it exists.
namespace.runtime.link.system.allow_all_shared_libs = true

###############################################################################
# "vndk" namespace
#
@@ -406,6 +421,9 @@ namespace.system.asan.search.paths += /%PRODUCT%/${LIB}
namespace.system.asan.search.paths += /data/asan/product_services/${LIB}
namespace.system.asan.search.paths +=           /%PRODUCT_SERVICES%/${LIB}

namespace.system.links = runtime
namespace.system.link.runtime.shared_libs = libdexfile_external.so

###############################################################################
# Namespace config for binaries under /postinstall.
# Only default namespace is defined and default has no directories
+20 −0
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ namespace.default.links = runtime
# libart.
namespace.default.visible = true
namespace.default.link.runtime.shared_libs  = libart.so:libartd.so
namespace.default.link.runtime.shared_libs += libdexfile_external.so
namespace.default.link.runtime.shared_libs += libnativehelper.so
namespace.default.link.runtime.shared_libs += libnativeloader.so

@@ -256,6 +257,8 @@ namespace.vndk.link.default.shared_libs += %SANITIZER_RUNTIME_LIBRARIES%
# (LL-NDK only) access.
###############################################################################
[vendor]
additional.namespaces = runtime

namespace.default.isolated = false

namespace.default.search.paths  = /odm/${LIB}
@@ -295,6 +298,23 @@ namespace.default.asan.search.paths += /%PRODUCT%/${LIB}
namespace.default.asan.search.paths += /data/asan/product_services/${LIB}
namespace.default.asan.search.paths +=           /%PRODUCT_SERVICES%/${LIB}

namespace.default.links = runtime
namespace.default.link.runtime.shared_libs = libdexfile_external.so

###############################################################################
# "runtime" APEX namespace
#
# This namespace exposes externally accessible libraries from the Runtime APEX.
###############################################################################
namespace.runtime.isolated = true

# Keep in sync with ld.config.txt in the com.android.runtime APEX.
namespace.runtime.search.paths = /apex/com.android.runtime/${LIB}
namespace.runtime.links = default
# TODO(b/119867084): Restrict to Bionic dlopen dependencies and PALette library
# when it exists.
namespace.runtime.link.default.allow_all_shared_libs = true

###############################################################################
# Namespace config for binaries under /postinstall.
# Only default namespace is defined and default has no directories