Create a lib that uses scudo instead of jemalloc.
The media processes already use scudo as their allocator. However, it
doesn't really correctly replace the normal allocation functions, so create
a set of wrappers that allow us to use scudo closer to how jemalloc is used.
This is only a temporary change, and should be removed for the next
release of Android. In that version, we will be using standalone
scudo which won't require this wrapper code.
Bug: 123689570
Test: Ran new bionic unit tests. There are failures, but only with
Test: extensions that scudo does not support.
Change-Id: I0516c23d654a9b6c69b157c5501245d2e0b3d264
diff --git a/tests/Android.bp b/tests/Android.bp
index 408312a..a1f3cc3 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -426,6 +426,11 @@
cc_defaults {
name: "bionic_unit_tests_defaults",
host_supported: false,
+ gtest: false,
+
+ defaults: [
+ "bionic_tests_defaults",
+ ],
whole_static_libs: [
"libBionicTests",
@@ -437,12 +442,14 @@
"libtinyxml2",
"liblog",
"libbase",
+ "libgtest_isolated",
],
srcs: [
// TODO: Include __cxa_thread_atexit_test.cpp to glibc tests once it is upgraded (glibc 2.18+)
"__cxa_thread_atexit_test.cpp",
"gtest_globals.cpp",
+ "gtest_main.cpp",
"thread_local_test.cpp",
],
@@ -461,6 +468,7 @@
android: {
shared_libs: [
"ld-android",
+ "libandroidicu",
"libdl",
"libdl_preempt_test_1",
"libdl_preempt_test_2",
@@ -488,29 +496,6 @@
],
},
},
-}
-
-cc_test {
- name: "bionic-unit-tests",
- gtest: false,
- defaults: [
- "bionic_unit_tests_defaults",
- "bionic_tests_defaults",
- ],
-
- srcs: [
- "gtest_main.cpp",
- ],
-
- static_libs: [
- "libgtest_isolated",
- ],
-
- target: {
- android: {
- shared_libs: ["libandroidicu"],
- },
- },
required: [
"cfi_test_helper",
@@ -655,6 +640,24 @@
],
}
+cc_test {
+ name: "bionic-unit-tests",
+ defaults: [
+ "bionic_unit_tests_defaults",
+ ],
+}
+
+cc_test {
+ name: "bionic-unit-tests-scudo",
+ defaults: [
+ "bionic_unit_tests_defaults",
+ ],
+
+ shared_libs: [
+ "libc_scudo",
+ ],
+}
+
// -----------------------------------------------------------------------------
// Tests for the device linked against bionic's static library. Run with:
// adb shell /data/nativetest/bionic-unit-tests-static/bionic-unit-tests-static