From ee34aecafef5f0d0c3dc6574f8cf99b3171d5bab Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Wed, 15 Feb 2017 14:11:18 -0800 Subject: [PATCH] Add ld.config.txt to /system/etc This file describes how loader should set up default namespace for different kind of binaries. Note that vendor and some of system binaries are not yet ready for this config to be enabled - they rely on libraries they shouldn't be relying upon. Bug: http://b/30435785 Test: m Change-Id: I7d5853a6b55db169be1dc2c38cc682711bf7f7f5 --- rootdir/etc/ld.config.txt | 47 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 rootdir/etc/ld.config.txt diff --git a/rootdir/etc/ld.config.txt b/rootdir/etc/ld.config.txt new file mode 100644 index 000000000..e3468cab8 --- /dev/null +++ b/rootdir/etc/ld.config.txt @@ -0,0 +1,47 @@ +# Copyright (C) 2017 The Android Open Source Project +# +# Bionic loader config file. +# + +#dir.vendor=/vendor/bin/ +#dir.system=/system/bin/ + +[vendor] + +# When this flag is set to true linker will +# set target_sdk_version for this binary to +# the version specified in /.version +# file, where = dirname(executable_path) +# +# default value is false +enable.target.sdk.version = true + +# There is always the default namespace no +# need to mention it in this list +additional.namespaces=system + +# Is the namespace isolated +namespace.default.isolated = true +namespace.default.search.paths = /vendor/${LIB} + +# TODO: property for asan search path? +namespace.default.permitted.paths = /vendor/${LIB} +namespace.default.asan.permitted.paths = /data/vendor/${LIB} +namespace.default.links = system + +# Todo complete this list +namespace.default.link.system.shared_libs = libc.so:libm.so:libdl.so:libstdc++.so + +namespace.system.isolated = true +namespace.system.search.paths = /system/${LIB}:/system/${LIB}/framework +namespace.system.permitted.paths = /system/${LIB} + +[system] +namespace.default.isolated = true +namespace.default.search.paths = /system/${LIB} +namespace.default.permitted.paths = /system/${LIB} + +# app_process will setup additional vendor namespace manually. +# Note that zygote will need vendor namespace to setup list of public +# libraries provided by vendors to apps. +