blob: 3cfda6545acf29dfd2e19292f19bcb8226b6c674 [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
Jiyong Park923a7362019-01-28 13:36:12 +090037# /system/lib/libc.so, etc are symlinks to /bionic/lib/libc.so, etc.
38# Add /bionic/lib to the permitted paths because linker uses realpath(3)
39# to check the accessibility of the lib. We could add this to search.paths
40# instead but that makes the resolution of bionic libs be dependent on
41# the order of /system/lib and /bionic/lib in search.paths. If /bionic/lib
42# is after /system/lib, then /bionic/lib is never tried because libc.so
43# is always found in /system/lib but fails to pass the accessibility test
44# because of its realpath. It's better to not depend on the ordering if
45# possible.
46namespace.platform.permitted.paths = /bionic/${LIB}
47namespace.platform.asan.permitted.paths = /bionic/${LIB}
Nicolas Geoffray37498de2019-01-22 08:46:34 +000048
Nicolas Geoffray0299fad2019-01-22 14:50:29 +000049# Note that we don't need to link the default namespace with conscrypt:
50# the runtime Java code and binaries do not explicitly load native libraries
51# from it.
52
Nicolas Geoffray37498de2019-01-22 08:46:34 +000053###############################################################################
54# "conscrypt" APEX namespace
55#
56# This namespace is for libraries within the conscrypt APEX.
57###############################################################################
Nicolas Geoffray0299fad2019-01-22 14:50:29 +000058
59# Keep in sync with conscrypt namespace in /system/etc/ld.config.txt.
Nicolas Geoffray37498de2019-01-22 08:46:34 +000060namespace.conscrypt.isolated = true
61namespace.conscrypt.visible = true
62
63namespace.conscrypt.search.paths = /apex/com.android.conscrypt/${LIB}
Jiyong Parkf8d8eb92019-01-24 15:06:21 +090064namespace.conscrypt.asan.search.paths = /apex/com.android.conscrypt/${LIB}
Pete Bentleydc3d5872019-01-31 11:06:00 +000065namespace.conscrypt.links = runtime,platform
66namespace.conscrypt.link.runtime.shared_libs = libjavacore.so
Nicolas Geoffray37498de2019-01-22 08:46:34 +000067namespace.conscrypt.link.platform.shared_libs = libc.so
68namespace.conscrypt.link.platform.shared_libs += libm.so
69namespace.conscrypt.link.platform.shared_libs += libdl.so
Nicolas Geoffray584bebe2019-01-26 01:07:35 +000070
71###############################################################################
72# "runtime" APEX namespace
73#
74# This namespace is an alias for the default namespace.
75###############################################################################
76namespace.runtime.isolated = true
77namespace.runtime.visible = true
78namespace.runtime.links = default
79namespace.runtime.link.default.allow_all_shared_libs = true
Nicolas Geoffray4271e9f2019-01-28 10:17:01 +000080namespace.runtime.links += platform
Nicolas Geoffray584bebe2019-01-26 01:07:35 +000081# TODO(b/119867084): Restrict fallback to platform namespace to PALette library.
82namespace.runtime.link.platform.allow_all_shared_libs = true