summaryrefslogtreecommitdiffstats
path: root/rootdir/etc
diff options
context:
space:
mode:
authorDimitry Ivanov <dimitry@google.com>2017-02-15 14:11:18 -0800
committerDimitry Ivanov <dimitry@google.com>2017-03-17 12:27:37 -0700
commitee34aecafef5f0d0c3dc6574f8cf99b3171d5bab (patch)
treea8be31576802453ba67a0534e331fd6dd597c0cb /rootdir/etc
parentcc404b51fc424cbb786abce8b8f36b1dce1c0ab9 (diff)
downloadcore-ee34aecafef5f0d0c3dc6574f8cf99b3171d5bab.tar.gz
core-ee34aecafef5f0d0c3dc6574f8cf99b3171d5bab.tar.bz2
core-ee34aecafef5f0d0c3dc6574f8cf99b3171d5bab.zip
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
Diffstat (limited to 'rootdir/etc')
-rw-r--r--rootdir/etc/ld.config.txt47
1 files changed, 47 insertions, 0 deletions
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 <dirname>/.version
+# file, where <dirname> = 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.
+