[llvm] r272374 - [LibFuzzer] Fix some unit test crashes on OSX.
Dan Liew via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 9 22:33:07 PDT 2016
Author: delcypher
Date: Fri Jun 10 00:33:07 2016
New Revision: 272374
URL: http://llvm.org/viewvc/llvm-project?rev=272374&view=rev
Log:
[LibFuzzer] Fix some unit test crashes on OSX.
This fixes the following unit tests:
FuzzerDictionary.ParseOneDictionaryEntry
FuzzerDictionary.ParseDictionaryFile
The issue appears to be mixing non-ASan-ified code (LibFuzzer) and
ASan-ified code (the unittest) as the tests would pass fine if
everything was built with ASan enabled.
I believe the issue is that different implementations of std::vector<>
are being used in LibFuzzer and outside LibFuzzer (in the unittests).
For Libcxx (I've not seen the issue manifest for libstdc++) we can disable
the ASanified std::vector<> by definining the ``_LIBCPP_HAS_NO_ASAN`` macro.
Doing this fixes the tests on OSX.
Differential Revision: http://reviews.llvm.org/D21049
Modified:
llvm/trunk/lib/Fuzzer/test/FuzzerUnittest.cpp
Modified: llvm/trunk/lib/Fuzzer/test/FuzzerUnittest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/test/FuzzerUnittest.cpp?rev=272374&r1=272373&r2=272374&view=diff
==============================================================================
--- llvm/trunk/lib/Fuzzer/test/FuzzerUnittest.cpp (original)
+++ llvm/trunk/lib/Fuzzer/test/FuzzerUnittest.cpp Fri Jun 10 00:33:07 2016
@@ -1,6 +1,10 @@
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
+// Avoid ODR violations (LibFuzzer is built without ASan and this test is built
+// with ASan) involving C++ standard library types when using libcxx.
+#define _LIBCPP_HAS_NO_ASAN
+
#include "FuzzerInternal.h"
#include "gtest/gtest.h"
#include <memory>
More information about the llvm-commits
mailing list