blob: f624bd10c0e5a11a69fb4ab2912f0214da0a0699 [file] [log] [blame]
Martin Stjernholm799ad142018-12-19 20:37:27 +00001# Copyright (C) 2018 The Android Open Source Project
2#
3# Bionic loader config file for the Runtime APEX.
4#
5# There are no versioned APEX paths here - this APEX module does not support
6# having several versions mounted.
7
8dir.runtime = /apex/com.android.runtime/bin/
9
10[runtime]
Nicolas Geoffray584bebe2019-01-26 01:07:35 +000011additional.namespaces = platform,conscrypt,runtime
Martin Stjernholm799ad142018-12-19 20:37:27 +000012
Martin Stjernholm70a76112019-01-22 14:27:54 +000013# Keep in sync with the runtime namespace in /system/etc/ld.config.txt.
Martin Stjernholm799ad142018-12-19 20:37:27 +000014namespace.default.isolated = true
Martin Stjernholm70a76112019-01-22 14:27:54 +000015# Visible because some libraries are dlopen'ed, e.g. libopenjdk is dlopen'ed by
16# libart.
17namespace.default.visible = true
Martin Stjernholm799ad142018-12-19 20:37:27 +000018namespace.default.search.paths = /apex/com.android.runtime/${LIB}
Jiyong Parkf8d8eb92019-01-24 15:06:21 +090019namespace.default.asan.search.paths = /apex/com.android.runtime/${LIB}
Martin Stjernholm799ad142018-12-19 20:37:27 +000020# odex files are in /system/framework. dalvikvm has to be able to dlopen the
21# files for CTS.
22namespace.default.permitted.paths = /system/framework
23namespace.default.links = platform
24# TODO(b/119867084): Restrict fallback to platform namespace to PALette library.
25namespace.default.link.platform.allow_all_shared_libs = true
26
Martin Stjernholm70a76112019-01-22 14:27:54 +000027# Keep in sync with the default namespace in /system/etc/ld.config.txt.
Martin Stjernholm799ad142018-12-19 20:37:27 +000028namespace.platform.isolated = true
29namespace.platform.search.paths = /system/${LIB}
Jiyong Parkf8d8eb92019-01-24 15:06:21 +090030namespace.platform.asan.search.paths = /data/asan/system/${LIB}
Martin Stjernholm799ad142018-12-19 20:37:27 +000031namespace.platform.links = default
Jiyong Park72209a82019-01-09 08:30:31 +090032namespace.platform.link.default.shared_libs = libart.so:libartd.so
Martin Stjernholm84bf6982019-02-05 15:07:57 +000033namespace.platform.link.default.shared_libs += libdexfile_external.so
Martin Stjernholm8ab9c572018-12-21 22:32:48 +000034namespace.platform.link.default.shared_libs += libnativebridge.so
35namespace.platform.link.default.shared_libs += libnativehelper.so
36namespace.platform.link.default.shared_libs += libnativeloader.so
Victor Chang2f0008a2019-01-15 14:10:34 +000037namespace.platform.link.default.shared_libs += libandroidicu.so
38
39# TODO(b/122876336): Remove libpac.so once it's migrated to Webview
40namespace.platform.link.default.shared_libs += libpac.so
41
Jiyong Park923a7362019-01-28 13:36:12 +090042# /system/lib/libc.so, etc are symlinks to /bionic/lib/libc.so, etc.
43# Add /bionic/lib to the permitted paths because linker uses realpath(3)
44# to check the accessibility of the lib. We could add this to search.paths
45# instead but that makes the resolution of bionic libs be dependent on
46# the order of /system/lib and /bionic/lib in search.paths. If /bionic/lib
47# is after /system/lib, then /bionic/lib is never tried because libc.so
48# is always found in /system/lib but fails to pass the accessibility test
49# because of its realpath. It's better to not depend on the ordering if
50# possible.
51namespace.platform.permitted.paths = /bionic/${LIB}
52namespace.platform.asan.permitted.paths = /bionic/${LIB}
Nicolas Geoffray37498de2019-01-22 08:46:34 +000053
Nicolas Geoffray0299fad2019-01-22 14:50:29 +000054# Note that we don't need to link the default namespace with conscrypt:
55# the runtime Java code and binaries do not explicitly load native libraries
56# from it.
57
Nicolas Geoffray37498de2019-01-22 08:46:34 +000058###############################################################################
59# "conscrypt" APEX namespace
60#
61# This namespace is for libraries within the conscrypt APEX.
62###############################################################################
Nicolas Geoffray0299fad2019-01-22 14:50:29 +000063
64# Keep in sync with conscrypt namespace in /system/etc/ld.config.txt.
Nicolas Geoffray37498de2019-01-22 08:46:34 +000065namespace.conscrypt.isolated = true
66namespace.conscrypt.visible = true
67
68namespace.conscrypt.search.paths = /apex/com.android.conscrypt/${LIB}
Jiyong Parkf8d8eb92019-01-24 15:06:21 +090069namespace.conscrypt.asan.search.paths = /apex/com.android.conscrypt/${LIB}
Pete Bentleydc3d5872019-01-31 11:06:00 +000070namespace.conscrypt.links = runtime,platform
71namespace.conscrypt.link.runtime.shared_libs = libjavacore.so
Nicolas Geoffray37498de2019-01-22 08:46:34 +000072namespace.conscrypt.link.platform.shared_libs = libc.so
73namespace.conscrypt.link.platform.shared_libs += libm.so
74namespace.conscrypt.link.platform.shared_libs += libdl.so
Nicolas Geoffray584bebe2019-01-26 01:07:35 +000075
76###############################################################################
77# "runtime" APEX namespace
78#
79# This namespace is an alias for the default namespace.
80###############################################################################
81namespace.runtime.isolated = true
82namespace.runtime.visible = true
83namespace.runtime.links = default
84namespace.runtime.link.default.allow_all_shared_libs = true
Nicolas Geoffray4271e9f2019-01-28 10:17:01 +000085namespace.runtime.links += platform
Nicolas Geoffray584bebe2019-01-26 01:07:35 +000086# TODO(b/119867084): Restrict fallback to platform namespace to PALette library.
87namespace.runtime.link.platform.allow_all_shared_libs = true