History log of /bionic/libdl/libdl.cpp
Revision Date Author Comments
9dac3e9efdf6b00766b992940c831ca3881b48d5 28-Mar-2018 Ryan Prichard <rprichard@google.com> Break libdl.so and ld-android.so's dependency on libc.so.

* Specify "nocrt: true" to avoid calling __cxa_finalize.

* Define a dummy __aeabi_unwind_cpp_pr0 for arm32.

Bug: b/62815515
Bug: b/73873002
Test: boot AOSP hikey960-userdebug
Test: run ndk_cxa_example in special /system/bin/debug namespace
Test: run Bionic unit tests
Change-Id: I59bcb100a2753286b59c51a47d7a183507219a07
(cherry picked from commit 470b66644b912ac3025ea30141f2f327bb879445)
321476a3ecc6b25579b2ddfb86b10a405f90eb8c 29-Jan-2018 dimitry <dimitry@google.com> Test ld-android.so directly

This CL addresses review comments from
https://android-review.googlesource.com/c/platform/bionic/+/595067

Test: bionic-unit-tests --gtest_filter=dl*
Change-Id: I2c0fdf2a89fe6ff134308e202fb99a74080ee0ed
9ee4591cb4a23b3c1a899f5ae3e4d769d0ba5a15 17-Jan-2018 Logan Chien <loganchien@google.com> linker: Allow link namespaces without name filters

This commit allows users to create a link without soname filters between
two linker namespaces.

The motivation is to establish one-way shared library isolation. For
example, assume that there are two linker namespaces `default` and
`vndk`. We would like to limit the shared libraries that can be used by
the `default` namespace. In the meanwhile, we would like to allow the
`vndk` namespace to use shared libs from the `default` namespace if the
soname cannot be find in the search path or loaded sonames of the `vndk`
namespace.

shared_libs = %VNDK_CORE_LIBRARIES%
shared_libs += %VNDK_SAMEPROCESS_LIBRARIES%
vndk <-------------------------------------------- default
\_______________________________________________/^
allow_all_shared_libs = true

android_link_namespaces_all_libs() is added to libdl, but it is
versioned as LIBC_PRIVATE. android_link_namespaces_all_libs() is only
for unit tests.

Bug: 69824336

Test: adb shell /data/nativetest/linker-unit-tests/linker-unit-tests32
Test: adb shell /data/nativetest64/linker-unit-tests/linker-unit-tests64

Test: adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests
Test: adb shell /data/nativetest64/bionic-unit-tests/bionic-unit-tests

Test: Update /system/etc/ld.config*.txt and check whether the vndk
linker namespace of the vendor process can access the shared libs from
the default linker namespace.

Change-Id: I2879f0c5f5af60c7e56f8f743ebd2872e552286b
b48746fb57cdc87c7e9b148e63786eb39b7c3004 19-Oct-2017 Elliott Hughes <enh@google.com> libdl.cpp doesn't need <stdbool.h> like libdl.c did.

Bug: N/A
Test: builds
Change-Id: I2f43fa60c8128b2b40de63748b5568fa4c9e351d
dfcc6e4f8acf41159c43e9b50547d99379483c72 13-Oct-2017 Josh Gao <jmgao@google.com> Rename libdl.c to libdl.cpp.

The no-arg function definitions in libdl.c weren't strictly correct,
because they should have taken void. Rename .c to .cpp instead of
fixing them.

Test: mma
Change-Id: I9e3528c836ffc8625a6a4d529034263b19b9fb3a