From 67244a587293109596f9ac92ba77a4b812b56868 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Mon, 20 Aug 2018 16:49:54 +0000 Subject: [PATCH] Add cmake option to disable minidumps, default it to off Since crash dumping landed in r268519, May 2016, I have not once seen anyone use an uploaded minidump to debug a compiler crash. Therefore, I'm turning this off by default. The dumps clutter up user and buildbot temp directories. Each file is only about 56KB, but it adds up. In the context of clang, the extra line about the minidump confuses users, when what we really want from them is the pre-processed source code. llvm-svn: 340185 --- CMakeLists.txt | 2 ++ include/llvm/Config/config.h.cmake | 3 +++ lib/Support/Process.cpp | 3 ++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8f6827170ae..269b45af803 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -320,6 +320,8 @@ if(LLVM_ENABLE_CRASH_OVERRIDES) set(ENABLE_CRASH_OVERRIDES 1) endif() +option(LLVM_ENABLE_CRASH_DUMPS "Turn on memory dumps on crashes. Currently only implemented on Windows." OFF) + option(LLVM_ENABLE_FFI "Use libffi to call external functions from the interpreter" OFF) set(FFI_LIBRARY_DIR "" CACHE PATH "Additional directory, where CMake should search for libffi.so") set(FFI_INCLUDE_DIR "" CACHE PATH "Additional directory, where CMake should search for ffi.h or ffi/ffi.h") diff --git a/include/llvm/Config/config.h.cmake b/include/llvm/Config/config.h.cmake index e934617d7ec..aece421b77d 100644 --- a/include/llvm/Config/config.h.cmake +++ b/include/llvm/Config/config.h.cmake @@ -13,6 +13,9 @@ /* Define to 1 to enable crash overrides, and to 0 otherwise. */ #cmakedefine01 ENABLE_CRASH_OVERRIDES +/* Define to 1 to enable crash memory dumps, and to 0 otherwise. */ +#cmakedefine01 LLVM_ENABLE_CRASH_DUMPS + /* Define to 1 if you have the `backtrace' function. */ #cmakedefine HAVE_BACKTRACE ${HAVE_BACKTRACE} diff --git a/lib/Support/Process.cpp b/lib/Support/Process.cpp index 3f5a9d722ca..b46edb1a791 100644 --- a/lib/Support/Process.cpp +++ b/lib/Support/Process.cpp @@ -15,6 +15,7 @@ #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringExtras.h" #include "llvm/Config/llvm-config.h" +#include "llvm/Config/config.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/Path.h" #include "llvm/Support/Program.h" @@ -86,7 +87,7 @@ static const char colorcodes[2][2][8][10] = { static bool coreFilesPrevented = false; bool Process::AreCoreFilesPrevented() { - return coreFilesPrevented; + return !LLVM_ENABLE_CRASH_DUMPS; } // Include the platform-specific parts of this class.