diff options
author | Martin Stjernholm <mast@google.com> | 2021-08-26 17:01:34 +0100 |
---|---|---|
committer | Martin Stjernholm <mast@google.com> | 2021-08-31 16:41:21 +0100 |
commit | 9f9f7e2ba070ac5b6cea8dd8af272dadebe43a30 (patch) | |
tree | 79c5a1daefa45d0d8c336c6c10c6424c502affae | |
parent | 2720b1c975006282f13de2f442f8c558590797d8 (diff) | |
download | unwinding-9f9f7e2ba070ac5b6cea8dd8af272dadebe43a30.tar.gz |
Register a runtime dependency on libdexfile in all variants that use
libdexfile_support.
Since Soong doesn't propagate transitive dependencies for static
libraries, it is necessary to add this dependency explicitly for all
variants that build with the static libdexfile_support.
This required extending the support for exclude_runtime_libs in Soong.
Cherry-picked from https://r.android.com/1810717.
Ignore-AOSP-First: Manual cherry-pick from AOSP
Test: deapexer info \
out/target/product/vsoc_x86_64/system/apex/com.android.runtime.apex
Check that it lists libdexfile.so as a dependency.
Test: adb root && adb shell 'kill -SEGV `pidof zygote64`'
Check in logcat that the crash_dump(32|64) process doesn't print
"dlopen failed: library "libdexfile.so" not found"
Bug: 197856821
Change-Id: I1b9dafb8818e026cdd757888861fdf6208c9e465
Merged-In: I1b9dafb8818e026cdd757888861fdf6208c9e465
-rw-r--r-- | libunwindstack/Android.bp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libunwindstack/Android.bp b/libunwindstack/Android.bp index 5443ce7..0651872 100644 --- a/libunwindstack/Android.bp +++ b/libunwindstack/Android.bp @@ -143,32 +143,38 @@ cc_library { srcs: ["DexFile.cpp"], cflags: ["-DDEXFILE_SUPPORT"], static_libs: ["libdexfile_support"], + runtime_libs: ["libdexfile"], // libdexfile_support dependency target: { vendor: { cflags: ["-UDEXFILE_SUPPORT"], exclude_srcs: ["DexFile.cpp"], exclude_static_libs: ["libdexfile_support"], + exclude_runtime_libs: ["libdexfile"], }, product: { cflags: ["-UDEXFILE_SUPPORT"], exclude_srcs: ["DexFile.cpp"], exclude_static_libs: ["libdexfile_support"], + exclude_runtime_libs: ["libdexfile"], }, recovery: { cflags: ["-UDEXFILE_SUPPORT"], exclude_srcs: ["DexFile.cpp"], exclude_static_libs: ["libdexfile_support"], + exclude_runtime_libs: ["libdexfile"], }, vendor_ramdisk: { cflags: ["-UDEXFILE_SUPPORT"], exclude_srcs: ["DexFile.cpp"], exclude_static_libs: ["libdexfile_support"], + exclude_runtime_libs: ["libdexfile"], }, native_bridge: { cflags: ["-UDEXFILE_SUPPORT"], exclude_srcs: ["DexFile.cpp"], exclude_static_libs: ["libdexfile_support"], + exclude_runtime_libs: ["libdexfile"], }, }, |