[compiler-rt] c8a2882 - scudo: Fix one of the C wrapper tests on Android.

Peter Collingbourne via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 5 11:15:50 PST 2019


Author: Peter Collingbourne
Date: 2019-12-05T11:15:31-08:00
New Revision: c8a2882a97e2efb02934dcc279f1e3e302982762

URL: https://github.com/llvm/llvm-project/commit/c8a2882a97e2efb02934dcc279f1e3e302982762
DIFF: https://github.com/llvm/llvm-project/commit/c8a2882a97e2efb02934dcc279f1e3e302982762.diff

LOG: 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

Added: 
    

Modified: 
    compiler-rt/lib/scudo/standalone/tests/scudo_unit_test_main.cpp

Removed: 
    


################################################################################
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 e771924354ed..20deca998d96 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) {


        


More information about the llvm-commits mailing list