blob: 5d97a73fd0eaed6791ad987c5c997ee22f16ec67 [file] [log] [blame]
Dimitry Ivanovee34aec2017-02-15 14:11:18 -08001# Copyright (C) 2017 The Android Open Source Project
2#
3# Bionic loader config file.
4#
5
Jiyong Park2498e1b2017-12-12 22:11:47 +09006# Don't change the order here. The first pattern that matches with the
7# absolute path of an executable is selected.
Jiyong Park450cff42017-04-05 14:24:14 +09008dir.system = /system/bin/
9dir.system = /system/xbin/
Jiyong Park2498e1b2017-12-12 22:11:47 +090010
Alin Jerpeleafa7958e2017-09-27 09:40:59 +020011dir.vendor = /odm/bin/
Jiyong Park450cff42017-04-05 14:24:14 +090012dir.vendor = /vendor/bin/
Alin Jerpeleafa7958e2017-09-27 09:40:59 +020013dir.vendor = /data/nativetest/odm
14dir.vendor = /data/nativetest64/odm
15dir.vendor = /data/benchmarktest/odm
16dir.vendor = /data/benchmarktest64/odm
Jiyong Parka2935e02017-09-29 05:04:00 +090017dir.vendor = /data/nativetest/vendor
18dir.vendor = /data/nativetest64/vendor
19dir.vendor = /data/benchmarktest/vendor
20dir.vendor = /data/benchmarktest64/vendor
Jiyong Park2498e1b2017-12-12 22:11:47 +090021
Jiyong Parka2935e02017-09-29 05:04:00 +090022dir.system = /data/nativetest
23dir.system = /data/nativetest64
24dir.system = /data/benchmarktest
25dir.system = /data/benchmarktest64
Dimitry Ivanovee34aec2017-02-15 14:11:18 -080026
27[system]
Jiyong Park450cff42017-04-05 14:24:14 +090028additional.namespaces = sphal,vndk,rs
Dimitry Ivanovee34aec2017-02-15 14:11:18 -080029
Jiyong Park450cff42017-04-05 14:24:14 +090030###############################################################################
31# "default" namespace
32#
Jiyong Park2498e1b2017-12-12 22:11:47 +090033# Framework-side code runs in this namespace. However, libs from other
34# partitions are also allowed temporarily.
Jiyong Park450cff42017-04-05 14:24:14 +090035###############################################################################
36namespace.default.isolated = false
Dimitry Ivanovee34aec2017-02-15 14:11:18 -080037
Jiyong Park2498e1b2017-12-12 22:11:47 +090038namespace.default.search.paths = /system/${LIB}
39namespace.default.search.paths += /odm/${LIB}
40namespace.default.search.paths += /vendor/${LIB}
Andreas Gampec7c2d7b2017-04-21 17:18:45 -070041
Jiyong Park2498e1b2017-12-12 22:11:47 +090042namespace.default.asan.search.paths = /data/asan/system/${LIB}
43namespace.default.asan.search.paths += /system/${LIB}
44namespace.default.asan.search.paths += /data/asan/odm/${LIB}
45namespace.default.asan.search.paths += /odm/${LIB}
46namespace.default.asan.search.paths += /data/asan/vendor/${LIB}
47namespace.default.asan.search.paths += /vendor/${LIB}
Jiyong Park450cff42017-04-05 14:24:14 +090048
49###############################################################################
50# "sphal" namespace
51#
52# SP-HAL(Sameprocess-HAL)s are the only vendor libraries that are allowed to be
53# loaded inside system processes. libEGL_<chipset>.so, libGLESv2_<chipset>.so,
54# android.hardware.graphics.mapper@2.0-impl.so, etc are SP-HALs.
55#
56# This namespace is exclusivly for SP-HALs. When the framework tries to dynami-
57# cally load SP-HALs, android_dlopen_ext() is used to explicitly specifying
58# that they should be searched and loaded from this namespace.
59#
60# Note that there is no link from the default namespace to this namespace.
61###############################################################################
62namespace.sphal.isolated = true
63namespace.sphal.visible = true
Jiyong Park450cff42017-04-05 14:24:14 +090064
Jiyong Park2498e1b2017-12-12 22:11:47 +090065namespace.sphal.search.paths = /odm/${LIB}
66namespace.sphal.search.paths += /vendor/${LIB}
67
68namespace.sphal.permitted.paths = /odm/${LIB}
69namespace.sphal.permitted.paths += /vendor/${LIB}
70
71namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
72namespace.sphal.asan.search.paths += /odm/${LIB}
73namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
74namespace.sphal.asan.search.paths += /vendor/${LIB}
75
76namespace.sphal.asan.permitted.paths = /data/asan/odm/${LIB}
77namespace.sphal.asan.permitted.paths += /odm/${LIB}
78namespace.sphal.asan.permitted.paths += /data/asan/vendor/${LIB}
79namespace.sphal.asan.permitted.paths += /vendor/${LIB}
Andreas Gampec7c2d7b2017-04-21 17:18:45 -070080
Jiyong Park450cff42017-04-05 14:24:14 +090081# Once in this namespace, access to libraries in /system/lib is restricted. Only
82# libs listed here can be used.
Jiyong Parkbfa03ee2017-04-21 15:16:12 +090083namespace.sphal.links = default,vndk,rs
Jiyong Park450cff42017-04-05 14:24:14 +090084
85# WARNING: only NDK libs can be listed here.
Jiyong Park2498e1b2017-12-12 22:11:47 +090086namespace.sphal.link.default.shared_libs = libc.so
87namespace.sphal.link.default.shared_libs += libEGL.so
88namespace.sphal.link.default.shared_libs += libGLESv1_CM.so
89namespace.sphal.link.default.shared_libs += libGLESv2.so
90namespace.sphal.link.default.shared_libs += libdl.so
91namespace.sphal.link.default.shared_libs += liblog.so
92namespace.sphal.link.default.shared_libs += libm.so
93namespace.sphal.link.default.shared_libs += libnativewindow.so
94namespace.sphal.link.default.shared_libs += libstdc++.so
95namespace.sphal.link.default.shared_libs += libsync.so
96namespace.sphal.link.default.shared_libs += libvndksupport.so
97namespace.sphal.link.default.shared_libs += libz.so
Jiyong Park450cff42017-04-05 14:24:14 +090098
99# WARNING: only VNDK-SP libs can be listed here. DO NOT EDIT this line.
Jiyong Park2498e1b2017-12-12 22:11:47 +0900100namespace.sphal.link.vndk.shared_libs = android.hardware.renderscript@1.0.so
101namespace.sphal.link.vndk.shared_libs += android.hardware.graphics.common@1.0.so
102namespace.sphal.link.vndk.shared_libs += android.hardware.graphics.mapper@2.0.so
103namespace.sphal.link.vndk.shared_libs += android.hidl.memory@1.0.so
104namespace.sphal.link.vndk.shared_libs += libbase.so
105namespace.sphal.link.vndk.shared_libs += libc++.so
106namespace.sphal.link.vndk.shared_libs += libcutils.so
107namespace.sphal.link.vndk.shared_libs += libhardware.so
108namespace.sphal.link.vndk.shared_libs += libhidlbase.so
109namespace.sphal.link.vndk.shared_libs += libhidlmemory.so
110namespace.sphal.link.vndk.shared_libs += libhidltransport.so
111namespace.sphal.link.vndk.shared_libs += libhwbinder.so
112namespace.sphal.link.vndk.shared_libs += libion.so
113namespace.sphal.link.vndk.shared_libs += libutils.so
Jiyong Parkbfa03ee2017-04-21 15:16:12 +0900114
115# Renderscript gets separate namespace
116namespace.sphal.link.rs.shared_libs = libRS_internal.so
117
118###############################################################################
119# "rs" namespace
120#
121# This namespace is exclusively for Renderscript internal libraries.
122# This namespace has slightly looser restriction than the vndk namespace because
123# of the genuine characteristics of Renderscript; /data is in the permitted path
124# to load the compiled *.so file and libmediandk.so can be used here.
125###############################################################################
126namespace.rs.isolated = true
Jiyong Park7075bca2017-08-16 23:32:54 +0900127namespace.rs.visible = true
Jiyong Parkbfa03ee2017-04-21 15:16:12 +0900128
Jiyong Park60a29662017-12-13 16:59:21 +0900129namespace.rs.search.paths = /odm/${LIB}/vndk-sp
130namespace.rs.search.paths += /vendor/${LIB}/vndk-sp
Justin Yuncbbf1952018-01-16 11:46:21 +0900131namespace.rs.search.paths += /system/${LIB}/vndk-sp%VNDK_VER%
Jiyong Park2498e1b2017-12-12 22:11:47 +0900132namespace.rs.search.paths += /odm/${LIB}
133namespace.rs.search.paths += /vendor/${LIB}
134
135namespace.rs.permitted.paths = /odm/${LIB}
136namespace.rs.permitted.paths += /vendor/${LIB}
137namespace.rs.permitted.paths += /data
138
Jiyong Park60a29662017-12-13 16:59:21 +0900139namespace.rs.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp
140namespace.rs.asan.search.paths += /odm/${LIB}/vndk-sp
141namespace.rs.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
142namespace.rs.asan.search.paths += /vendor/${LIB}/vndk-sp
Justin Yuncbbf1952018-01-16 11:46:21 +0900143namespace.rs.asan.search.paths += /data/asan/system/${LIB}/vndk-sp%VNDK_VER%
144namespace.rs.asan.search.paths += /system/${LIB}/vndk-sp%VNDK_VER%
Jiyong Park2498e1b2017-12-12 22:11:47 +0900145namespace.rs.asan.search.paths += /data/asan/odm/${LIB}
146namespace.rs.asan.search.paths += /odm/${LIB}
147namespace.rs.asan.search.paths += /data/asan/vendor/${LIB}
148namespace.rs.asan.search.paths += /vendor/${LIB}
149
150namespace.rs.asan.permitted.paths = /data/asan/odm/${LIB}
151namespace.rs.asan.permitted.paths += /odm/${LIB}
152namespace.rs.asan.permitted.paths += /data/asan/vendor/${LIB}
153namespace.rs.asan.permitted.paths += /vendor/${LIB}
154namespace.rs.asan.permitted.paths += /data
Jiyong Parkeb9694a2017-05-09 15:07:43 +0900155
Jiyong Parkbfa03ee2017-04-21 15:16:12 +0900156namespace.rs.links = default,vndk
Jiyong Park2498e1b2017-12-12 22:11:47 +0900157
158namespace.rs.link.default.shared_libs = libc.so
159namespace.rs.link.default.shared_libs += libEGL.so
160namespace.rs.link.default.shared_libs += libGLESv1_CM.so
161namespace.rs.link.default.shared_libs += libGLESv2.so
162namespace.rs.link.default.shared_libs += libdl.so
163namespace.rs.link.default.shared_libs += liblog.so
164namespace.rs.link.default.shared_libs += libm.so
165namespace.rs.link.default.shared_libs += libnativewindow.so
166namespace.rs.link.default.shared_libs += libstdc++.so
167namespace.rs.link.default.shared_libs += libsync.so
168namespace.rs.link.default.shared_libs += libvndksupport.so
169namespace.rs.link.default.shared_libs += libz.so
170# These two libs are private LLNDK libs but are exceptionally visible
171# in this 'rs' namespace because RenderScript framework libraries
172# which are loaded into this namespace are using them.
173namespace.rs.link.default.shared_libs += libft2.so
174namespace.rs.link.default.shared_libs += libmediandk.so
175
176namespace.rs.link.vndk.shared_libs = android.hardware.renderscript@1.0.so
177namespace.rs.link.vndk.shared_libs += android.hardware.graphics.common@1.0.so
178namespace.rs.link.vndk.shared_libs += android.hardware.graphics.mapper@2.0.so
179namespace.rs.link.vndk.shared_libs += android.hidl.memory@1.0.so
180namespace.rs.link.vndk.shared_libs += libbase.so
181namespace.rs.link.vndk.shared_libs += libc++.so
182namespace.rs.link.vndk.shared_libs += libcutils.so
183namespace.rs.link.vndk.shared_libs += libhardware.so
184namespace.rs.link.vndk.shared_libs += libhidlbase.so
185namespace.rs.link.vndk.shared_libs += libhidlmemory.so
186namespace.rs.link.vndk.shared_libs += libhidltransport.so
187namespace.rs.link.vndk.shared_libs += libhwbinder.so
188namespace.rs.link.vndk.shared_libs += libion.so
189namespace.rs.link.vndk.shared_libs += libutils.so
Jiyong Park450cff42017-04-05 14:24:14 +0900190
191###############################################################################
192# "vndk" namespace
193#
194# This namespace is exclusively for vndk-sp libs.
195###############################################################################
196namespace.vndk.isolated = true
Jiyong Park6ed1a1c2017-09-26 01:38:22 +0900197namespace.vndk.visible = true
Jiyong Park450cff42017-04-05 14:24:14 +0900198
Jiyong Park60a29662017-12-13 16:59:21 +0900199namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
200namespace.vndk.search.paths += /vendor/${LIB}/vndk-sp
Justin Yuncbbf1952018-01-16 11:46:21 +0900201namespace.vndk.search.paths += /system/${LIB}/vndk-sp%VNDK_VER%
Jiyong Park2498e1b2017-12-12 22:11:47 +0900202
203namespace.vndk.permitted.paths = /odm/${LIB}/hw
204namespace.vndk.permitted.paths += /odm/${LIB}/egl
205namespace.vndk.permitted.paths += /vendor/${LIB}/hw
206namespace.vndk.permitted.paths += /vendor/${LIB}/egl
207
Jiyong Park60a29662017-12-13 16:59:21 +0900208namespace.vndk.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp
209namespace.vndk.asan.search.paths += /odm/${LIB}/vndk-sp
210namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
211namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk-sp
Justin Yuncbbf1952018-01-16 11:46:21 +0900212namespace.vndk.asan.search.paths += /data/asan/system/${LIB}/vndk-sp%VNDK_VER%
213namespace.vndk.asan.search.paths += /system/${LIB}/vndk-sp%VNDK_VER%
Jiyong Park2498e1b2017-12-12 22:11:47 +0900214
215namespace.vndk.asan.permitted.paths = /data/asan/odm/${LIB}/hw
216namespace.vndk.asan.permitted.paths += /odm/${LIB}/hw
217namespace.vndk.asan.permitted.paths += /data/asan/odm/${LIB}/egl
218namespace.vndk.asan.permitted.paths += /odm/${LIB}/egl
219namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/hw
220namespace.vndk.asan.permitted.paths += /vendor/${LIB}/hw
221namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/egl
222namespace.vndk.asan.permitted.paths += /vendor/${LIB}/egl
Andreas Gampec7c2d7b2017-04-21 17:18:45 -0700223
Jiyong Park450cff42017-04-05 14:24:14 +0900224# When these NDK libs are required inside this namespace, then it is redirected
225# to the default namespace. This is possible since their ABI is stable across
226# Android releases.
227namespace.vndk.links = default
Jiyong Park2498e1b2017-12-12 22:11:47 +0900228namespace.vndk.link.default.shared_libs = android.hidl.memory@1.0-impl.so
229namespace.vndk.link.default.shared_libs += libEGL.so
230namespace.vndk.link.default.shared_libs += libc.so
231namespace.vndk.link.default.shared_libs += libdl.so
232namespace.vndk.link.default.shared_libs += liblog.so
233namespace.vndk.link.default.shared_libs += libm.so
234namespace.vndk.link.default.shared_libs += libnativewindow.so
235namespace.vndk.link.default.shared_libs += libstdc++.so
236namespace.vndk.link.default.shared_libs += libsync.so
237namespace.vndk.link.default.shared_libs += libvndksupport.so
238namespace.vndk.link.default.shared_libs += libz.so
Jiyong Park450cff42017-04-05 14:24:14 +0900239
Jiyong Parkc034a432017-07-20 15:17:35 +0900240###############################################################################
241# Namespace config for vendor processes. In O, no restriction is enforced for
242# them. However, in O-MR1, access to /system/${LIB} will not be allowed to
243# the default namespace. 'system' namespace will be added to give limited
244# (LL-NDK only) access.
245###############################################################################
Jiyong Park450cff42017-04-05 14:24:14 +0900246[vendor]
247namespace.default.isolated = false
Andreas Gampec7c2d7b2017-04-21 17:18:45 -0700248
Jiyong Park2498e1b2017-12-12 22:11:47 +0900249namespace.default.search.paths = /odm/${LIB}
Jiyong Park60a29662017-12-13 16:59:21 +0900250namespace.default.search.paths += /odm/${LIB}/vndk
251namespace.default.search.paths += /odm/${LIB}/vndk-sp
Jiyong Park2498e1b2017-12-12 22:11:47 +0900252namespace.default.search.paths += /vendor/${LIB}
Jiyong Park60a29662017-12-13 16:59:21 +0900253namespace.default.search.paths += /vendor/${LIB}/vndk
254namespace.default.search.paths += /vendor/${LIB}/vndk-sp
Jiyong Park2498e1b2017-12-12 22:11:47 +0900255
256# Access to system libraries are allowed
Justin Yuncbbf1952018-01-16 11:46:21 +0900257namespace.default.search.paths += /system/${LIB}/vndk%VNDK_VER%
258namespace.default.search.paths += /system/${LIB}/vndk-sp%VNDK_VER%
Jiyong Park2498e1b2017-12-12 22:11:47 +0900259namespace.default.search.paths += /system/${LIB}
260
Jiyong Park483cd2e2017-12-19 11:38:45 +0900261namespace.default.asan.search.paths = /data/asan/odm/${LIB}
Jiyong Park2498e1b2017-12-12 22:11:47 +0900262namespace.default.asan.search.paths += /odm/${LIB}
Jiyong Park60a29662017-12-13 16:59:21 +0900263namespace.default.asan.search.paths += /data/asan/odm/${LIB}/vndk
264namespace.default.asan.search.paths += /odm/${LIB}/vndk
265namespace.default.asan.search.paths += /data/asan/odm/${LIB}/vndk-sp
266namespace.default.asan.search.paths += /odm/${LIB}/vndk-sp
Jiyong Park2498e1b2017-12-12 22:11:47 +0900267namespace.default.asan.search.paths += /data/asan/vendor/${LIB}
268namespace.default.asan.search.paths += /vendor/${LIB}
Jiyong Park60a29662017-12-13 16:59:21 +0900269namespace.default.asan.search.paths += /data/asan/vendor/${LIB}/vndk
270namespace.default.asan.search.paths += /vendor/${LIB}/vndk
271namespace.default.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
272namespace.default.asan.search.paths += /vendor/${LIB}/vndk-sp
Justin Yuncbbf1952018-01-16 11:46:21 +0900273namespace.default.asan.search.paths += /data/asan/system/${LIB}/vndk%VNDK_VER%
274namespace.default.asan.search.paths += /system/${LIB}/vndk%VNDK_VER%
275namespace.default.asan.search.paths += /data/asan/system/${LIB}/vndk-sp%VNDK_VER%
276namespace.default.asan.search.paths += /system/${LIB}/vndk-sp%VNDK_VER%
Jiyong Park2498e1b2017-12-12 22:11:47 +0900277namespace.default.asan.search.paths += /data/asan/system/${LIB}
278namespace.default.asan.search.paths += /system/${LIB}