Merge changes from topic "vndk-sp-list-update"
* changes: Rename namespace configuration source files. Use actual VNDK list for non-VNDK-enforcing devices
This commit is contained in:
commit
4c0ee1e8a0
|
@ -192,11 +192,12 @@ endef # update_and_install_ld_config
|
|||
# ld.config.txt
|
||||
#
|
||||
# For VNDK enforced devices that have defined BOARD_VNDK_VERSION, use
|
||||
# "ld.config.txt.in" as a source file. This configuration includes strict VNDK
|
||||
# "ld.config.txt" as a source file. This configuration includes strict VNDK
|
||||
# run-time restrictions for vendor process.
|
||||
# Other treblized devices, that have not defined BOARD_VNDK_VERSION or that
|
||||
# have set BOARD_VNDK_RUNTIME_DISABLE to true, use "ld.config.txt" as a source
|
||||
# file. This configuration does not have strict VNDK run-time restrictions.
|
||||
# have set BOARD_VNDK_RUNTIME_DISABLE to true, use "ld.config.vndk_lite.txt"
|
||||
# as a source file. This configuration does not have strict VNDK run-time
|
||||
# restrictions.
|
||||
# If the device is not treblized, use "ld.config.legacy.txt" for legacy
|
||||
# namespace configuration.
|
||||
include $(CLEAR_VARS)
|
||||
|
@ -216,7 +217,7 @@ ifeq ($(_enforce_vndk_at_runtime),true)
|
|||
LOCAL_MODULE_STEM := $(call append_vndk_version,$(LOCAL_MODULE))
|
||||
include $(BUILD_SYSTEM)/base_rules.mk
|
||||
$(eval $(call update_and_install_ld_config,\
|
||||
$(LOCAL_PATH)/etc/ld.config.txt.in,\
|
||||
$(LOCAL_PATH)/etc/ld.config.txt,\
|
||||
$(LOCAL_BUILT_MODULE),\
|
||||
$(PLATFORM_VNDK_VERSION)))
|
||||
|
||||
|
@ -225,7 +226,7 @@ else ifeq ($(PRODUCT_TREBLE_LINKER_NAMESPACES)|$(SANITIZE_TARGET),true|)
|
|||
LOCAL_MODULE_STEM := $(call append_vndk_version,$(LOCAL_MODULE))
|
||||
include $(BUILD_SYSTEM)/base_rules.mk
|
||||
$(eval $(call update_and_install_ld_config,\
|
||||
$(LOCAL_PATH)/etc/ld.config.txt,\
|
||||
$(LOCAL_PATH)/etc/ld.config.vndk_lite.txt,\
|
||||
$(LOCAL_BUILT_MODULE),\
|
||||
$(if $(BOARD_VNDK_VERSION),$(PLATFORM_VNDK_VERSION))))
|
||||
|
||||
|
@ -244,9 +245,9 @@ _enforce_vndk_at_runtime :=
|
|||
#
|
||||
# This file is a temporary configuration file only for GSI. Originally GSI has
|
||||
# BOARD_VNDK_VERSION defined and has strict VNDK enforcing rule based on
|
||||
# "ld.config.txt.in". However for the devices, that have not defined
|
||||
# "ld.config.txt". However for the devices, that have not defined
|
||||
# BOARD_VNDK_VERSION, GSI provides this configuration file which is based on
|
||||
# "ld.config.txt".
|
||||
# "ld.config.vndk_lite.txt".
|
||||
# Do not install this file for the devices other than GSI.
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := ld.config.noenforce.txt
|
||||
|
@ -255,7 +256,7 @@ LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)
|
|||
LOCAL_MODULE_STEM := $(LOCAL_MODULE)
|
||||
include $(BUILD_SYSTEM)/base_rules.mk
|
||||
$(eval $(call update_and_install_ld_config,\
|
||||
$(LOCAL_PATH)/etc/ld.config.txt,\
|
||||
$(LOCAL_PATH)/etc/ld.config.vndk_lite.txt,\
|
||||
$(LOCAL_BUILT_MODULE),\
|
||||
$(PLATFORM_VNDK_VERSION)))
|
||||
|
||||
|
|
|
@ -30,21 +30,55 @@ additional.namespaces = sphal,vndk,rs
|
|||
###############################################################################
|
||||
# "default" namespace
|
||||
#
|
||||
# Framework-side code runs in this namespace. However, libs from other
|
||||
# partitions are also allowed temporarily.
|
||||
# Framework-side code runs in this namespace. Libs from /vendor partition
|
||||
# can't be loaded in this namespace.
|
||||
###############################################################################
|
||||
namespace.default.isolated = false
|
||||
namespace.default.isolated = true
|
||||
|
||||
namespace.default.search.paths = /system/${LIB}
|
||||
namespace.default.search.paths += /odm/${LIB}
|
||||
namespace.default.search.paths += /vendor/${LIB}
|
||||
namespace.default.search.paths = /system/${LIB}
|
||||
|
||||
# We can't have entire /system/${LIB} as permitted paths because doing so
|
||||
# makes it possible to load libs in /system/${LIB}/vndk* directories by
|
||||
# their absolute paths (e.g. dlopen("/system/lib/vndk/libbase.so");).
|
||||
# VNDK libs are built with previous versions of Android and thus must not be
|
||||
# loaded into this namespace where libs built with the current version of
|
||||
# Android are loaded. Mixing the two types of libs in the same namespace can
|
||||
# cause unexpected problem.
|
||||
namespace.default.permitted.paths = /system/${LIB}/drm
|
||||
namespace.default.permitted.paths += /system/${LIB}/extractors
|
||||
namespace.default.permitted.paths += /system/${LIB}/hw
|
||||
# These are where odex files are located. libart has to be able to dlopen the files
|
||||
namespace.default.permitted.paths += /system/framework
|
||||
namespace.default.permitted.paths += /system/app
|
||||
namespace.default.permitted.paths += /system/priv-app
|
||||
namespace.default.permitted.paths += /vendor/framework
|
||||
namespace.default.permitted.paths += /vendor/app
|
||||
namespace.default.permitted.paths += /vendor/priv-app
|
||||
namespace.default.permitted.paths += /oem/app
|
||||
namespace.default.permitted.paths += /product/framework
|
||||
namespace.default.permitted.paths += /product/app
|
||||
namespace.default.permitted.paths += /product/priv-app
|
||||
namespace.default.permitted.paths += /data
|
||||
namespace.default.permitted.paths += /mnt/expand
|
||||
|
||||
namespace.default.asan.search.paths = /data/asan/system/${LIB}
|
||||
namespace.default.asan.search.paths += /system/${LIB}
|
||||
namespace.default.asan.search.paths += /data/asan/odm/${LIB}
|
||||
namespace.default.asan.search.paths += /odm/${LIB}
|
||||
namespace.default.asan.search.paths += /data/asan/vendor/${LIB}
|
||||
namespace.default.asan.search.paths += /vendor/${LIB}
|
||||
|
||||
namespace.default.asan.permitted.paths = /data
|
||||
namespace.default.asan.permitted.paths += /system/${LIB}/drm
|
||||
namespace.default.asan.permitted.paths += /system/${LIB}/extractors
|
||||
namespace.default.asan.permitted.paths += /system/${LIB}/hw
|
||||
namespace.default.asan.permitted.paths += /system/framework
|
||||
namespace.default.asan.permitted.paths += /system/app
|
||||
namespace.default.asan.permitted.paths += /system/priv-app
|
||||
namespace.default.asan.permitted.paths += /vendor/framework
|
||||
namespace.default.asan.permitted.paths += /vendor/app
|
||||
namespace.default.asan.permitted.paths += /vendor/priv-app
|
||||
namespace.default.asan.permitted.paths += /oem/app
|
||||
namespace.default.asan.permitted.paths += /product/framework
|
||||
namespace.default.asan.permitted.paths += /product/app
|
||||
namespace.default.asan.permitted.paths += /product/priv-app
|
||||
namespace.default.asan.permitted.paths += /mnt/expand
|
||||
|
||||
###############################################################################
|
||||
# "sphal" namespace
|
||||
|
@ -82,35 +116,10 @@ namespace.sphal.asan.permitted.paths += /vendor/${LIB}
|
|||
# libs listed here can be used.
|
||||
namespace.sphal.links = default,vndk,rs
|
||||
|
||||
# WARNING: only NDK libs can be listed here.
|
||||
namespace.sphal.link.default.shared_libs = libc.so
|
||||
namespace.sphal.link.default.shared_libs += libEGL.so
|
||||
namespace.sphal.link.default.shared_libs += libGLESv1_CM.so
|
||||
namespace.sphal.link.default.shared_libs += libGLESv2.so
|
||||
namespace.sphal.link.default.shared_libs += libdl.so
|
||||
namespace.sphal.link.default.shared_libs += liblog.so
|
||||
namespace.sphal.link.default.shared_libs += libm.so
|
||||
namespace.sphal.link.default.shared_libs += libnativewindow.so
|
||||
namespace.sphal.link.default.shared_libs += libstdc++.so
|
||||
namespace.sphal.link.default.shared_libs += libsync.so
|
||||
namespace.sphal.link.default.shared_libs += libvndksupport.so
|
||||
namespace.sphal.link.default.shared_libs += libz.so
|
||||
namespace.sphal.link.default.shared_libs = %LLNDK_LIBRARIES%
|
||||
namespace.sphal.link.default.shared_libs += %SANITIZER_RUNTIME_LIBRARIES%
|
||||
|
||||
# WARNING: only VNDK-SP libs can be listed here. DO NOT EDIT this line.
|
||||
namespace.sphal.link.vndk.shared_libs = android.hardware.renderscript@1.0.so
|
||||
namespace.sphal.link.vndk.shared_libs += android.hardware.graphics.common@1.0.so
|
||||
namespace.sphal.link.vndk.shared_libs += android.hardware.graphics.mapper@2.0.so
|
||||
namespace.sphal.link.vndk.shared_libs += android.hidl.memory@1.0.so
|
||||
namespace.sphal.link.vndk.shared_libs += libbase.so
|
||||
namespace.sphal.link.vndk.shared_libs += libc++.so
|
||||
namespace.sphal.link.vndk.shared_libs += libcutils.so
|
||||
namespace.sphal.link.vndk.shared_libs += libhardware.so
|
||||
namespace.sphal.link.vndk.shared_libs += libhidlbase.so
|
||||
namespace.sphal.link.vndk.shared_libs += libhidlmemory.so
|
||||
namespace.sphal.link.vndk.shared_libs += libhidltransport.so
|
||||
namespace.sphal.link.vndk.shared_libs += libhwbinder.so
|
||||
namespace.sphal.link.vndk.shared_libs += libion.so
|
||||
namespace.sphal.link.vndk.shared_libs += libutils.so
|
||||
namespace.sphal.link.vndk.shared_libs = %VNDK_SAMEPROCESS_LIBRARIES%
|
||||
|
||||
# Renderscript gets separate namespace
|
||||
namespace.sphal.link.rs.shared_libs = libRS_internal.so
|
||||
|
@ -155,38 +164,13 @@ namespace.rs.asan.permitted.paths += /data
|
|||
|
||||
namespace.rs.links = default,vndk
|
||||
|
||||
namespace.rs.link.default.shared_libs = libc.so
|
||||
namespace.rs.link.default.shared_libs += libEGL.so
|
||||
namespace.rs.link.default.shared_libs += libGLESv1_CM.so
|
||||
namespace.rs.link.default.shared_libs += libGLESv2.so
|
||||
namespace.rs.link.default.shared_libs += libdl.so
|
||||
namespace.rs.link.default.shared_libs += liblog.so
|
||||
namespace.rs.link.default.shared_libs += libm.so
|
||||
namespace.rs.link.default.shared_libs += libnativewindow.so
|
||||
namespace.rs.link.default.shared_libs += libstdc++.so
|
||||
namespace.rs.link.default.shared_libs += libsync.so
|
||||
namespace.rs.link.default.shared_libs += libvndksupport.so
|
||||
namespace.rs.link.default.shared_libs += libz.so
|
||||
# These two libs are private LLNDK libs but are exceptionally visible
|
||||
# in this 'rs' namespace because RenderScript framework libraries
|
||||
# which are loaded into this namespace are using them.
|
||||
namespace.rs.link.default.shared_libs += libft2.so
|
||||
namespace.rs.link.default.shared_libs += libmediandk.so
|
||||
namespace.rs.link.default.shared_libs = %LLNDK_LIBRARIES%
|
||||
namespace.rs.link.default.shared_libs += %SANITIZER_RUNTIME_LIBRARIES%
|
||||
# Private LLNDK libs (e.g. libft2.so) are exceptionally allowed to this
|
||||
# namespace because RS framework libs are using them.
|
||||
namespace.rs.link.default.shared_libs += %PRIVATE_LLNDK_LIBRARIES%
|
||||
|
||||
namespace.rs.link.vndk.shared_libs = android.hardware.renderscript@1.0.so
|
||||
namespace.rs.link.vndk.shared_libs += android.hardware.graphics.common@1.0.so
|
||||
namespace.rs.link.vndk.shared_libs += android.hardware.graphics.mapper@2.0.so
|
||||
namespace.rs.link.vndk.shared_libs += android.hidl.memory@1.0.so
|
||||
namespace.rs.link.vndk.shared_libs += libbase.so
|
||||
namespace.rs.link.vndk.shared_libs += libc++.so
|
||||
namespace.rs.link.vndk.shared_libs += libcutils.so
|
||||
namespace.rs.link.vndk.shared_libs += libhardware.so
|
||||
namespace.rs.link.vndk.shared_libs += libhidlbase.so
|
||||
namespace.rs.link.vndk.shared_libs += libhidlmemory.so
|
||||
namespace.rs.link.vndk.shared_libs += libhidltransport.so
|
||||
namespace.rs.link.vndk.shared_libs += libhwbinder.so
|
||||
namespace.rs.link.vndk.shared_libs += libion.so
|
||||
namespace.rs.link.vndk.shared_libs += libutils.so
|
||||
namespace.rs.link.vndk.shared_libs = %VNDK_SAMEPROCESS_LIBRARIES%
|
||||
|
||||
###############################################################################
|
||||
# "vndk" namespace
|
||||
|
@ -204,6 +188,8 @@ namespace.vndk.permitted.paths = /odm/${LIB}/hw
|
|||
namespace.vndk.permitted.paths += /odm/${LIB}/egl
|
||||
namespace.vndk.permitted.paths += /vendor/${LIB}/hw
|
||||
namespace.vndk.permitted.paths += /vendor/${LIB}/egl
|
||||
# This is exceptionally required since android.hidl.memory@1.0-impl.so is here
|
||||
namespace.vndk.permitted.paths += /system/${LIB}/vndk-sp%VNDK_VER%/hw
|
||||
|
||||
namespace.vndk.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp
|
||||
namespace.vndk.asan.search.paths += /odm/${LIB}/vndk-sp
|
||||
|
@ -221,21 +207,15 @@ namespace.vndk.asan.permitted.paths += /vendor/${LIB}/hw
|
|||
namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/egl
|
||||
namespace.vndk.asan.permitted.paths += /vendor/${LIB}/egl
|
||||
|
||||
namespace.vndk.asan.permitted.paths += /data/asan/system/${LIB}/vndk-sp%VNDK_VER%/hw
|
||||
namespace.vndk.asan.permitted.paths += /system/${LIB}/vndk-sp%VNDK_VER%/hw
|
||||
|
||||
# When these NDK libs are required inside this namespace, then it is redirected
|
||||
# to the default namespace. This is possible since their ABI is stable across
|
||||
# Android releases.
|
||||
namespace.vndk.links = default
|
||||
namespace.vndk.link.default.shared_libs = android.hidl.memory@1.0-impl.so
|
||||
namespace.vndk.link.default.shared_libs += libEGL.so
|
||||
namespace.vndk.link.default.shared_libs += libc.so
|
||||
namespace.vndk.link.default.shared_libs += libdl.so
|
||||
namespace.vndk.link.default.shared_libs += liblog.so
|
||||
namespace.vndk.link.default.shared_libs += libm.so
|
||||
namespace.vndk.link.default.shared_libs += libnativewindow.so
|
||||
namespace.vndk.link.default.shared_libs += libstdc++.so
|
||||
namespace.vndk.link.default.shared_libs += libsync.so
|
||||
namespace.vndk.link.default.shared_libs += libvndksupport.so
|
||||
namespace.vndk.link.default.shared_libs += libz.so
|
||||
namespace.vndk.link.default.shared_libs = %LLNDK_LIBRARIES%
|
||||
namespace.vndk.link.default.shared_libs += %SANITIZER_RUNTIME_LIBRARIES%
|
||||
|
||||
###############################################################################
|
||||
# Namespace config for vendor processes. In O, no restriction is enforced for
|
||||
|
@ -244,35 +224,88 @@ namespace.vndk.link.default.shared_libs += libz.so
|
|||
# (LL-NDK only) access.
|
||||
###############################################################################
|
||||
[vendor]
|
||||
namespace.default.isolated = false
|
||||
additional.namespaces = system,vndk
|
||||
|
||||
###############################################################################
|
||||
# "default" namespace
|
||||
#
|
||||
# This is the default linker namespace for a vendor process (a process started
|
||||
# from /vendor/bin/*). The main executable and the libs under /vendor/lib[64]
|
||||
# are loaded directly into this namespace. However, other libs under the system
|
||||
# partition (VNDK and LLNDK libraries) are not loaded here but from the
|
||||
# separate namespace 'system'. The delegation to the system namespace is done
|
||||
# via the 'namespace.default.link.system.shared_libs' property below.
|
||||
###############################################################################
|
||||
namespace.default.isolated = true
|
||||
namespace.default.visible = true
|
||||
|
||||
namespace.default.search.paths = /odm/${LIB}
|
||||
namespace.default.search.paths += /odm/${LIB}/vndk
|
||||
namespace.default.search.paths += /odm/${LIB}/vndk-sp
|
||||
namespace.default.search.paths += /vendor/${LIB}
|
||||
namespace.default.search.paths += /vendor/${LIB}/vndk
|
||||
namespace.default.search.paths += /vendor/${LIB}/vndk-sp
|
||||
|
||||
# Access to system libraries are allowed
|
||||
namespace.default.search.paths += /system/${LIB}/vndk%VNDK_VER%
|
||||
namespace.default.search.paths += /system/${LIB}/vndk-sp%VNDK_VER%
|
||||
namespace.default.search.paths += /system/${LIB}
|
||||
namespace.default.permitted.paths = /odm
|
||||
namespace.default.permitted.paths += /vendor
|
||||
|
||||
namespace.default.asan.search.paths = /data/asan/odm/${LIB}
|
||||
namespace.default.asan.search.paths += /odm/${LIB}
|
||||
namespace.default.asan.search.paths += /data/asan/odm/${LIB}/vndk
|
||||
namespace.default.asan.search.paths += /odm/${LIB}/vndk
|
||||
namespace.default.asan.search.paths += /data/asan/odm/${LIB}/vndk-sp
|
||||
namespace.default.asan.search.paths += /odm/${LIB}/vndk-sp
|
||||
namespace.default.asan.search.paths += /data/asan/vendor/${LIB}
|
||||
namespace.default.asan.search.paths += /vendor/${LIB}
|
||||
namespace.default.asan.search.paths += /data/asan/vendor/${LIB}/vndk
|
||||
namespace.default.asan.search.paths += /vendor/${LIB}/vndk
|
||||
namespace.default.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
|
||||
namespace.default.asan.search.paths += /vendor/${LIB}/vndk-sp
|
||||
namespace.default.asan.search.paths += /data/asan/system/${LIB}/vndk%VNDK_VER%
|
||||
namespace.default.asan.search.paths += /system/${LIB}/vndk%VNDK_VER%
|
||||
namespace.default.asan.search.paths += /data/asan/system/${LIB}/vndk-sp%VNDK_VER%
|
||||
namespace.default.asan.search.paths += /system/${LIB}/vndk-sp%VNDK_VER%
|
||||
namespace.default.asan.search.paths += /data/asan/system/${LIB}
|
||||
namespace.default.asan.search.paths += /system/${LIB}
|
||||
|
||||
namespace.default.asan.permitted.paths = /data/asan/odm
|
||||
namespace.default.asan.permitted.paths += /odm
|
||||
namespace.default.asan.permitted.paths += /data/asan/vendor
|
||||
namespace.default.asan.permitted.paths += /vendor
|
||||
|
||||
namespace.default.links = system,vndk
|
||||
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%
|
||||
|
||||
###############################################################################
|
||||
# "vndk" namespace
|
||||
#
|
||||
# This namespace is where VNDK and VNDK-SP libraries are loaded for
|
||||
# a vendor process.
|
||||
###############################################################################
|
||||
namespace.vndk.isolated = false
|
||||
|
||||
namespace.vndk.search.paths = /odm/${LIB}/vndk
|
||||
namespace.vndk.search.paths += /odm/${LIB}/vndk-sp
|
||||
namespace.vndk.search.paths += /vendor/${LIB}/vndk
|
||||
namespace.vndk.search.paths += /vendor/${LIB}/vndk-sp
|
||||
namespace.vndk.search.paths += /system/${LIB}/vndk-sp%VNDK_VER%
|
||||
namespace.vndk.search.paths += /system/${LIB}/vndk%VNDK_VER%
|
||||
|
||||
namespace.vndk.asan.search.paths = /data/asan/odm/${LIB}/vndk
|
||||
namespace.vndk.asan.search.paths += /odm/${LIB}/vndk
|
||||
namespace.vndk.asan.search.paths += /data/asan/odm/${LIB}/vndk-sp
|
||||
namespace.vndk.asan.search.paths += /odm/${LIB}/vndk-sp
|
||||
namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk
|
||||
namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk
|
||||
namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
|
||||
namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk-sp
|
||||
namespace.vndk.asan.search.paths += /data/asan/system/${LIB}/vndk-sp%VNDK_VER%
|
||||
namespace.vndk.asan.search.paths += /system/${LIB}/vndk-sp%VNDK_VER%
|
||||
namespace.vndk.asan.search.paths += /data/asan/system/${LIB}/vndk%VNDK_VER%
|
||||
namespace.vndk.asan.search.paths += /system/${LIB}/vndk%VNDK_VER%
|
||||
|
||||
# When these NDK libs are required inside this namespace, then it is redirected
|
||||
# to the system namespace. This is possible since their ABI is stable across
|
||||
# Android releases.
|
||||
namespace.vndk.links = system,default
|
||||
namespace.vndk.link.system.shared_libs = %LLNDK_LIBRARIES%
|
||||
namespace.vndk.link.system.shared_libs += %SANITIZER_RUNTIME_LIBRARIES%
|
||||
|
||||
namespace.vndk.link.default.allow_all_shared_libs = true
|
||||
|
||||
###############################################################################
|
||||
# "system" namespace
|
||||
#
|
||||
# This namespace is where system libs (VNDK and LLNDK libs) are loaded for
|
||||
# a vendor process.
|
||||
###############################################################################
|
||||
namespace.system.isolated = false
|
||||
|
||||
namespace.system.search.paths = /system/${LIB}
|
||||
|
||||
namespace.system.asan.search.paths = /data/asan/system/${LIB}
|
||||
namespace.system.asan.search.paths += /system/${LIB}
|
||||
|
|
|
@ -30,55 +30,21 @@ additional.namespaces = sphal,vndk,rs
|
|||
###############################################################################
|
||||
# "default" namespace
|
||||
#
|
||||
# Framework-side code runs in this namespace. Libs from /vendor partition
|
||||
# can't be loaded in this namespace.
|
||||
# Framework-side code runs in this namespace. However, libs from other
|
||||
# partitions are also allowed temporarily.
|
||||
###############################################################################
|
||||
namespace.default.isolated = true
|
||||
namespace.default.isolated = false
|
||||
|
||||
namespace.default.search.paths = /system/${LIB}
|
||||
|
||||
# We can't have entire /system/${LIB} as permitted paths because doing so
|
||||
# makes it possible to load libs in /system/${LIB}/vndk* directories by
|
||||
# their absolute paths (e.g. dlopen("/system/lib/vndk/libbase.so");).
|
||||
# VNDK libs are built with previous versions of Android and thus must not be
|
||||
# loaded into this namespace where libs built with the current version of
|
||||
# Android are loaded. Mixing the two types of libs in the same namespace can
|
||||
# cause unexpected problem.
|
||||
namespace.default.permitted.paths = /system/${LIB}/drm
|
||||
namespace.default.permitted.paths += /system/${LIB}/extractors
|
||||
namespace.default.permitted.paths += /system/${LIB}/hw
|
||||
# These are where odex files are located. libart has to be able to dlopen the files
|
||||
namespace.default.permitted.paths += /system/framework
|
||||
namespace.default.permitted.paths += /system/app
|
||||
namespace.default.permitted.paths += /system/priv-app
|
||||
namespace.default.permitted.paths += /vendor/framework
|
||||
namespace.default.permitted.paths += /vendor/app
|
||||
namespace.default.permitted.paths += /vendor/priv-app
|
||||
namespace.default.permitted.paths += /oem/app
|
||||
namespace.default.permitted.paths += /product/framework
|
||||
namespace.default.permitted.paths += /product/app
|
||||
namespace.default.permitted.paths += /product/priv-app
|
||||
namespace.default.permitted.paths += /data
|
||||
namespace.default.permitted.paths += /mnt/expand
|
||||
namespace.default.search.paths = /system/${LIB}
|
||||
namespace.default.search.paths += /odm/${LIB}
|
||||
namespace.default.search.paths += /vendor/${LIB}
|
||||
|
||||
namespace.default.asan.search.paths = /data/asan/system/${LIB}
|
||||
namespace.default.asan.search.paths += /system/${LIB}
|
||||
|
||||
namespace.default.asan.permitted.paths = /data
|
||||
namespace.default.asan.permitted.paths += /system/${LIB}/drm
|
||||
namespace.default.asan.permitted.paths += /system/${LIB}/extractors
|
||||
namespace.default.asan.permitted.paths += /system/${LIB}/hw
|
||||
namespace.default.asan.permitted.paths += /system/framework
|
||||
namespace.default.asan.permitted.paths += /system/app
|
||||
namespace.default.asan.permitted.paths += /system/priv-app
|
||||
namespace.default.asan.permitted.paths += /vendor/framework
|
||||
namespace.default.asan.permitted.paths += /vendor/app
|
||||
namespace.default.asan.permitted.paths += /vendor/priv-app
|
||||
namespace.default.asan.permitted.paths += /oem/app
|
||||
namespace.default.asan.permitted.paths += /product/framework
|
||||
namespace.default.asan.permitted.paths += /product/app
|
||||
namespace.default.asan.permitted.paths += /product/priv-app
|
||||
namespace.default.asan.permitted.paths += /mnt/expand
|
||||
namespace.default.asan.search.paths += /data/asan/odm/${LIB}
|
||||
namespace.default.asan.search.paths += /odm/${LIB}
|
||||
namespace.default.asan.search.paths += /data/asan/vendor/${LIB}
|
||||
namespace.default.asan.search.paths += /vendor/${LIB}
|
||||
|
||||
###############################################################################
|
||||
# "sphal" namespace
|
||||
|
@ -224,88 +190,35 @@ namespace.vndk.link.default.shared_libs += %SANITIZER_RUNTIME_LIBRARIES%
|
|||
# (LL-NDK only) access.
|
||||
###############################################################################
|
||||
[vendor]
|
||||
additional.namespaces = system,vndk
|
||||
|
||||
###############################################################################
|
||||
# "default" namespace
|
||||
#
|
||||
# This is the default linker namespace for a vendor process (a process started
|
||||
# from /vendor/bin/*). The main executable and the libs under /vendor/lib[64]
|
||||
# are loaded directly into this namespace. However, other libs under the system
|
||||
# partition (VNDK and LLNDK libraries) are not loaded here but from the
|
||||
# separate namespace 'system'. The delegation to the system namespace is done
|
||||
# via the 'namespace.default.link.system.shared_libs' property below.
|
||||
###############################################################################
|
||||
namespace.default.isolated = true
|
||||
namespace.default.visible = true
|
||||
namespace.default.isolated = false
|
||||
|
||||
namespace.default.search.paths = /odm/${LIB}
|
||||
namespace.default.search.paths += /odm/${LIB}/vndk
|
||||
namespace.default.search.paths += /odm/${LIB}/vndk-sp
|
||||
namespace.default.search.paths += /vendor/${LIB}
|
||||
namespace.default.search.paths += /vendor/${LIB}/vndk
|
||||
namespace.default.search.paths += /vendor/${LIB}/vndk-sp
|
||||
|
||||
namespace.default.permitted.paths = /odm
|
||||
namespace.default.permitted.paths += /vendor
|
||||
# Access to system libraries are allowed
|
||||
namespace.default.search.paths += /system/${LIB}/vndk%VNDK_VER%
|
||||
namespace.default.search.paths += /system/${LIB}/vndk-sp%VNDK_VER%
|
||||
namespace.default.search.paths += /system/${LIB}
|
||||
|
||||
namespace.default.asan.search.paths = /data/asan/odm/${LIB}
|
||||
namespace.default.asan.search.paths += /odm/${LIB}
|
||||
namespace.default.asan.search.paths += /data/asan/odm/${LIB}/vndk
|
||||
namespace.default.asan.search.paths += /odm/${LIB}/vndk
|
||||
namespace.default.asan.search.paths += /data/asan/odm/${LIB}/vndk-sp
|
||||
namespace.default.asan.search.paths += /odm/${LIB}/vndk-sp
|
||||
namespace.default.asan.search.paths += /data/asan/vendor/${LIB}
|
||||
namespace.default.asan.search.paths += /vendor/${LIB}
|
||||
|
||||
namespace.default.asan.permitted.paths = /data/asan/odm
|
||||
namespace.default.asan.permitted.paths += /odm
|
||||
namespace.default.asan.permitted.paths += /data/asan/vendor
|
||||
namespace.default.asan.permitted.paths += /vendor
|
||||
|
||||
namespace.default.links = system,vndk
|
||||
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%
|
||||
|
||||
###############################################################################
|
||||
# "vndk" namespace
|
||||
#
|
||||
# This namespace is where VNDK and VNDK-SP libraries are loaded for
|
||||
# a vendor process.
|
||||
###############################################################################
|
||||
namespace.vndk.isolated = false
|
||||
|
||||
namespace.vndk.search.paths = /odm/${LIB}/vndk
|
||||
namespace.vndk.search.paths += /odm/${LIB}/vndk-sp
|
||||
namespace.vndk.search.paths += /vendor/${LIB}/vndk
|
||||
namespace.vndk.search.paths += /vendor/${LIB}/vndk-sp
|
||||
namespace.vndk.search.paths += /system/${LIB}/vndk-sp%VNDK_VER%
|
||||
namespace.vndk.search.paths += /system/${LIB}/vndk%VNDK_VER%
|
||||
|
||||
namespace.vndk.asan.search.paths = /data/asan/odm/${LIB}/vndk
|
||||
namespace.vndk.asan.search.paths += /odm/${LIB}/vndk
|
||||
namespace.vndk.asan.search.paths += /data/asan/odm/${LIB}/vndk-sp
|
||||
namespace.vndk.asan.search.paths += /odm/${LIB}/vndk-sp
|
||||
namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk
|
||||
namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk
|
||||
namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
|
||||
namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk-sp
|
||||
namespace.vndk.asan.search.paths += /data/asan/system/${LIB}/vndk-sp%VNDK_VER%
|
||||
namespace.vndk.asan.search.paths += /system/${LIB}/vndk-sp%VNDK_VER%
|
||||
namespace.vndk.asan.search.paths += /data/asan/system/${LIB}/vndk%VNDK_VER%
|
||||
namespace.vndk.asan.search.paths += /system/${LIB}/vndk%VNDK_VER%
|
||||
|
||||
# When these NDK libs are required inside this namespace, then it is redirected
|
||||
# to the system namespace. This is possible since their ABI is stable across
|
||||
# Android releases.
|
||||
namespace.vndk.links = system,default
|
||||
namespace.vndk.link.system.shared_libs = %LLNDK_LIBRARIES%
|
||||
namespace.vndk.link.system.shared_libs += %SANITIZER_RUNTIME_LIBRARIES%
|
||||
|
||||
namespace.vndk.link.default.allow_all_shared_libs = true
|
||||
|
||||
###############################################################################
|
||||
# "system" namespace
|
||||
#
|
||||
# This namespace is where system libs (VNDK and LLNDK libs) are loaded for
|
||||
# a vendor process.
|
||||
###############################################################################
|
||||
namespace.system.isolated = false
|
||||
|
||||
namespace.system.search.paths = /system/${LIB}
|
||||
|
||||
namespace.system.asan.search.paths = /data/asan/system/${LIB}
|
||||
namespace.system.asan.search.paths += /system/${LIB}
|
||||
namespace.default.asan.search.paths += /data/asan/vendor/${LIB}/vndk
|
||||
namespace.default.asan.search.paths += /vendor/${LIB}/vndk
|
||||
namespace.default.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
|
||||
namespace.default.asan.search.paths += /vendor/${LIB}/vndk-sp
|
||||
namespace.default.asan.search.paths += /data/asan/system/${LIB}/vndk%VNDK_VER%
|
||||
namespace.default.asan.search.paths += /system/${LIB}/vndk%VNDK_VER%
|
||||
namespace.default.asan.search.paths += /data/asan/system/${LIB}/vndk-sp%VNDK_VER%
|
||||
namespace.default.asan.search.paths += /system/${LIB}/vndk-sp%VNDK_VER%
|
||||
namespace.default.asan.search.paths += /data/asan/system/${LIB}
|
||||
namespace.default.asan.search.paths += /system/${LIB}
|
Loading…
Reference in New Issue