[PATCH] D64086: [scudo][standalone] Potential fix for missing sized delete

Kostya Kortchinsky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 2 09:58:22 PDT 2019


cryptoad created this revision.
cryptoad added reviewers: rnk, morehouse, hctim, eugenis, vitalybuka.
Herald added subscribers: Sanitizers, delcypher, mgorny.
Herald added projects: LLVM, Sanitizers.

In some setups, using `-fsized-deallocation` would end up not finding
a sized delete operator at link time. For now, avoid using the flag
and declare the sized delete operator in the cpp test only.

This is a tentative fix as I do not have the failing setup.


Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D64086

Files:
  lib/scudo/standalone/tests/CMakeLists.txt
  lib/scudo/standalone/tests/wrappers_cpp_test.cc


Index: lib/scudo/standalone/tests/wrappers_cpp_test.cc
===================================================================
--- lib/scudo/standalone/tests/wrappers_cpp_test.cc
+++ lib/scudo/standalone/tests/wrappers_cpp_test.cc
@@ -12,6 +12,9 @@
 #include <mutex>
 #include <thread>
 
+void operator delete(void *, size_t) noexcept;
+void operator delete[](void *, size_t) noexcept;
+
 // Note that every Cxx allocation function in the test binary will be fulfilled
 // by Scudo. See the comment in the C counterpart of this file.
 
Index: lib/scudo/standalone/tests/CMakeLists.txt
===================================================================
--- lib/scudo/standalone/tests/CMakeLists.txt
+++ lib/scudo/standalone/tests/CMakeLists.txt
@@ -12,7 +12,7 @@
   -I${COMPILER_RT_SOURCE_DIR}/lib/scudo/standalone
   -DGTEST_HAS_RTTI=0
   # Extra flags for the C++ tests
-  -fsized-deallocation
+  # TODO(kostya): find a way to make -fsized-deallocation work
   -Wno-mismatched-new-delete)
 
 set(SCUDO_TEST_ARCH ${SCUDO_STANDALONE_SUPPORTED_ARCH})


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64086.207585.patch
Type: text/x-patch
Size: 1046 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190702/e2cc7733/attachment.bin>


More information about the llvm-commits mailing list