History log of /system/core/rootdir/etc/ld.config.txt
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
fb2a4f08745d1673133ad524237c71878165f2c2 22-Jun-2017 Logan Chien <loganchien@google.com> ld-config: Export android.hidl.memory@1.0-impl

This commit exports android.hidl.memory@1.0-impl.so from default linker
namespace to vndk (VNDK-SP) linker namespace. This fixes
libhidlmemory.so failure.

Note: Exposing android.hidl.memory@1.0-impl.so from default linker
namespace to vndk (VNDK-SP) linker namespace shall be fine because its
APIs are frozen and won't be changed in the future.

Note: android.hidl.memory@1.0-impl.so is NOT exported to sphal linker
namespace.

Bug: 35107583
Bug: 62778280
Test: Write a test SP-HAL lib which links libhidlmemory.so, load that
SP-HAL lib into system executable, and make sure mapMemory() works.
Test: sailfish boots w/o problems.

Merged-In: Ia36350dcf1f8c8dc6d7bf2c7a6ae65e0ebaef578
Merged-In: Iddb723558c3a814a905cd42797594a707bc651da
Change-Id: I69034595b2cd355e786ce7943fed7dddf1b12525
(cherry picked from commit bd7503dae7008bfecbd729ba9e473c73ada17141)
(cherry picked from commit 3251e582f268b2b30a35e482e026fc9026b3956c)
/system/core/rootdir/etc/ld.config.txt
ea2719f9f1ef8047b28927ef67136291235b36bb 19-Jun-2017 Logan Chien <loganchien@google.com> ld-config: Add HIDL memory libs to VNDK-SP

This commit adds libhidlmemory.so and android.hidl.memory@1.0.so to the
exported libs of the `vndk` linker namespace (aka. VNDK-SP). This is
necessary because some vendors' GLES implementation uses
libhidlmemory.so. Check http://b/35107583#comment15 for the context.

Bug: 35107583
Test: sailfish boots

Merged-In: Idb5ba4ed4a89795e0e6105d55a84e7f6bbffff51
Merged-In: I1556b7499bd981af995f000519b7a314c70567d1
Change-Id: I5af7c954d432a2e8de6c6b744cedbada836bbd98
/system/core/rootdir/etc/ld.config.txt
40624c5d1dcb08313361367e0a11feab380d5a21 06-Jun-2017 Logan Chien <loganchien@google.com> Add libion.so to vndk-sp

This commit adds libion.so to VNDK-SP so that some vendor's
gralloc.${chipset}.so can run without problems.

Bug: 62280700
Test: Boots a device from our partners
Merged-In: Ib745dfe52107d792296426b097e13b7c7755d88c
Merged-In: I2bcfe40ed9342de6d81dd310313e984a2c64964b
Change-Id: If30657b93157a2abea29fadcdb0004b37ad9eaf2
/system/core/rootdir/etc/ld.config.txt
eb9694a2d195fad283485c5c54aaf622fa59ad84 09-May-2017 Jiyong Park <jiyong@google.com> Allow vndk-sp to be extended by vendors

Exteded vndk-sp should go to /vendor/lib/vndk-sp.

Bug: 37940694
Test: sailfish builds and boots
Test: manually copying a lib from /system/lib/vndk-sp to
/vendor/lib/vndk-sp. Check that the copied one in /vendor partition is
loaded instead of the original one.

Change-Id: Ia5dd6f35bd31d4a20a794bec148e1fc3c6d7b72b
/system/core/rootdir/etc/ld.config.txt
15d7483bb77158b5fe631454208cfb2e130572f7 10-May-2017 Jiyong Park <jiyong@google.com> add libvndksupport.so to ll-ndk

libvndksupport.so is a new member of ll-ndk.

Bug: 37323945
Test: sailfish builds and boots

Merged-In: Ic5db48292a30a6face7f263d939f27a0760240b1
Change-Id: Ic5db48292a30a6face7f263d939f27a0760240b1
(cherry picked from commit 7000859b7cb0b0947d11f9fbe4ffddb6f66cabc4)
/system/core/rootdir/etc/ld.config.txt
abaab6ff03c61e73e52fac515a76f1afe13e97ac 25-Apr-2017 Jiyong Park <jiyong@google.com> libbacktrace is VNDK-SP

libbacktrace and its dependents are now VNDK-SP. Since they are in
/vendor/lib/vndk-sp directory, they are accessible directly from the
vndk namespace. Therefore, libbacktrace is removed from the exported
shared libs list of the default namespace.

Bug: 37413104
Test: sailfish builds and boots
Merged-In: I137c17d55940b783eab6d0125bc4d26b96bcc2f2
Change-Id: I137c17d55940b783eab6d0125bc4d26b96bcc2f2
(cherry picked from commit b2a4b8cd18e5f45571b8e929088047b445b6f63b)
/system/core/rootdir/etc/ld.config.txt
c641e19c7ee83b7418ec5aba2394706e95137d9b 03-May-2017 Jiyong Park <jiyong@google.com> update /vendor/*/vndk-sp to /system/*/vndk-sp

Some paths weren't updated.

Bug: 37522144
Test: sailfish builds and boots
Change-Id: I7aeb5d6e0d61bbc6bde4e6f221e90b21ca422622
/system/core/rootdir/etc/ld.config.txt
bfa03ee9dc53b3cd78ee3a31a8819fbb71965be2 21-Apr-2017 Jiyong Park <jiyong@google.com> Relocate VNDK-SP to /system/lib/vndk-sp and add RS libs to VNDK-SP

VNDK-SP is relocated back to /system partition from /vendor partition,
following the original design.

In addition, the namespace for RenderScript is added. The namespace is
dedicated for loading VNDK-SP libs for RenderScript such as
libRS_internal.so. The reason for having a separate namespace is that
RenderScript requires more permitted paths (/data/*) which should not be
allowed for normal SP-HALs.

Bug: 37522144
Bug: 37550338
Test: sailfish builds and boots well
Test: lsof shows VNDK-SP libs are loaded from /system/lib/vndk-sp
Test: RenderScript app (CameraScript) runs well
Change-Id: Id139f626cafae2e43ee4eefc5a57a204e31bbbc9
/system/core/rootdir/etc/ld.config.txt
c7c2d7bcd471c44ff18d19201eacaa17475584d5 22-Apr-2017 Andreas Gampe <agampe@google.com> Linker: Add ASAN support to treble ld.config

Add asan counterparts.

Bug: 37579959
Test: m && m SANITIZE_TARGET=address
Merged-in: I23f05436b79fbcb3f6fa11d84c95fcd180fad3b3
Change-Id: I23f05436b79fbcb3f6fa11d84c95fcd180fad3b3
/system/core/rootdir/etc/ld.config.txt
7b701de5e035a1b382423316938e88e382e5e7ec 18-Apr-2017 Jiyong Park <jiyong@google.com> linker: don't allow libui to SP-HALs and fix warning

libui.so is not used by SP-HALs, so it is removed from the list of libs
exposed from the default namespace.

Also, this fixes a warning message "property value is empty" caused by
the automatically removed trailing '/' for the section 'legacy'. Since
the legacy behavior is already implemented by the linker itself, the
behavior doesn't need to specified in ld.config.txt.

Test: marlin/sailfish boots
Test: no warning message is shown
Change-Id: Ib679794d63b01c6794663dc88f1ab7e72cfb11d3
/system/core/rootdir/etc/ld.config.txt
450cff4b68ce09a65a82284ec64fae83b2ef3313 05-Apr-2017 Jiyong Park <jiyong@google.com> Configure ld.config.txt for SP-HALs

Now, framework process (any process that is executing /system/bin/* or
/system/xbin/*) are started with three namespaces; default, sphal and
vndk.

default namespace is the namespace that is responsible for loading libs
from /system/lib. It can't load libs from other places such as
/vendor/lib. (However, we temporarily open the path since we haven't
finished the system partition cleanup, but will do eventually).

sphal namespace is the namespace where SP-HAL (Same-process HAL) is
loaded. SP-HAL are the only vendor libraries that are allowed to be
loaded inside framework processes. libEGL_<chipset>.so and
android.hardware.graphics.mapper@2.0-impl.so, etc are SP-HALs. When
framework needs to load those SP-HALs, it explicitly loads it from this
namespace using android_get_exported_namespace() and
android_dlopen_ext().

vndk namespace is the namespace for loading vndk-sp (Vendor-NDK for
Same-Process) libs, which is a small set of framework libraries that
SP-HALs can link against. These libraries are compiled for the same
version of Android that the vendor partition is compiled against.
SP-HALs can not use libraries other than vndk-sp and ndk libs.
Membership to vndk-sp and ndk are strictly closed.

Note that in a system, there are two copies of vndk-sp libs. One at
/system/lib and the other at /vendor/lib/vndk-sp. As a result, there can
be two instances of a same library in a process.

Also adds ld.config.legacy.txt which is used on non-Treble devices where
PRODUCT_FULL_TREBLE is not set to true.
Note, this split can be cleaned up further after b/37139976 is solved.

Bug: 34407260
Test: git diff HEAD:rootdir/etc/ld.config.legacy.txt
HEAD^:rootdir/etc/ld.config.txt => 0
Test: sailfish boots (because BOARD_VNDK_VERSION is not set to
'current')

Change-Id: I8331d94edc38f22c4f8abc66cdf2050af9d0605b
/system/core/rootdir/etc/ld.config.txt
ee34aecafef5f0d0c3dc6574f8cf99b3171d5bab 15-Feb-2017 Dimitry Ivanov <dimitry@google.com> 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
/system/core/rootdir/etc/ld.config.txt