[scudo][standalone] Potential fix for missing sized delete

Summary:
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.

Reviewers: rnk, morehouse, hctim, eugenis, vitalybuka

Reviewed By: rnk, hctim

Subscribers: mgorny, delcypher, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D64086

llvm-svn: 365045
This commit is contained in:
Kostya Kortchinsky 2019-07-03 14:38:47 +00:00
parent 868d0b7fd9
commit d63d14f76b
2 changed files with 4 additions and 1 deletions

View File

@ -12,7 +12,7 @@ set(SCUDO_UNITTEST_CFLAGS
-I${COMPILER_RT_SOURCE_DIR}/lib/scudo/standalone
-DGTEST_HAS_RTTI=0
# Extra flags for the C++ tests
-fsized-deallocation
# TODO(kostyak): find a way to make -fsized-deallocation work
-Wno-mismatched-new-delete)
set(SCUDO_TEST_ARCH ${SCUDO_STANDALONE_SUPPORTED_ARCH})

View File

@ -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.