summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2019-12-05 10:41:37 -0800
committerPeter Collingbourne <peter@pcc.me.uk>2019-12-05 11:15:31 -0800
commitc8a2882a97e2efb02934dcc279f1e3e302982762 (patch)
treea86821f0439ecc58d1953f2c364857ca05704692
parent0cfe0a7bb0e10a96c3c98891961d37160a931d20 (diff)
downloadbcm5719-llvm-c8a2882a97e2efb02934dcc279f1e3e302982762.tar.gz
bcm5719-llvm-c8a2882a97e2efb02934dcc279f1e3e302982762.zip
scudo: Fix one of the C wrapper tests on Android.
The test ScudoWrappersCTest.Realloc expects realloc of memalign to work on Android, but this relies on dealloc_type_mismatch being set to false. Commit 0d3d4d3b0 caused us to start setting it to true in the C wrapper tests, which broke the test. Set it to the correct value on Android. Differential Revision: https://reviews.llvm.org/D71078
-rw-r--r--compiler-rt/lib/scudo/standalone/tests/scudo_unit_test_main.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/compiler-rt/lib/scudo/standalone/tests/scudo_unit_test_main.cpp b/compiler-rt/lib/scudo/standalone/tests/scudo_unit_test_main.cpp
index e771924354e..20deca998d9 100644
--- a/compiler-rt/lib/scudo/standalone/tests/scudo_unit_test_main.cpp
+++ b/compiler-rt/lib/scudo/standalone/tests/scudo_unit_test_main.cpp
@@ -8,6 +8,14 @@
#include "tests/scudo_unit_test.h"
+// Match Android's default configuration, which disables Scudo's mismatch
+// allocation check, as it is being triggered by some third party code.
+#if SCUDO_ANDROID
+#define DEALLOC_TYPE_MISMATCH "false"
+#else
+#define DEALLOC_TYPE_MISMATCH "true"
+#endif
+
// This allows us to turn on/off a Quarantine for specific tests. The Quarantine
// parameters are on the low end, to avoid having to loop excessively in some
// tests.
@@ -15,9 +23,10 @@ bool UseQuarantine = true;
extern "C" __attribute__((visibility("default"))) const char *
__scudo_default_options() {
if (!UseQuarantine)
- return "dealloc_type_mismatch=true";
+ return "dealloc_type_mismatch=" DEALLOC_TYPE_MISMATCH;
return "quarantine_size_kb=256:thread_local_quarantine_size_kb=128:"
- "quarantine_max_chunk_size=512:dealloc_type_mismatch=true";
+ "quarantine_max_chunk_size=512:"
+ "dealloc_type_mismatch=" DEALLOC_TYPE_MISMATCH;
}
int main(int argc, char **argv) {
OpenPOWER on IntegriCloud