summaryrefslogtreecommitdiff
path: root/lib/scudo/scudo_flags.cpp
diff options
context:
space:
mode:
authorKostya Kortchinsky <kostyak@google.com>2018-02-08 16:29:48 +0000
committerKostya Kortchinsky <kostyak@google.com>2018-02-08 16:29:48 +0000
commit4e053fa541e0e75a99d8c1ef5c97ada42076f46f (patch)
treea4821f1ad953623c4c974b7ccecd98708f283430 /lib/scudo/scudo_flags.cpp
parent816aba3c5898055fff6a9dffcbae7ec1e33def30 (diff)
downloadcompiler-rt-4e053fa541e0e75a99d8c1ef5c97ada42076f46f.tar.gz
[scudo] Allow options to be defined at compile time
Summary: Allow for options to be defined at compile time, like is already the case for other sanitizers, via `SCUDO_DEFAULT_OPTIONS`. Reviewers: alekseyshl, dberris Reviewed By: alekseyshl, dberris Subscribers: kubamracek, delcypher, llvm-commits, #sanitizers Differential Revision: https://reviews.llvm.org/D42980 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@324620 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/scudo/scudo_flags.cpp')
-rw-r--r--lib/scudo/scudo_flags.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/scudo/scudo_flags.cpp b/lib/scudo/scudo_flags.cpp
index ad50800c4..c012471a8 100644
--- a/lib/scudo/scudo_flags.cpp
+++ b/lib/scudo/scudo_flags.cpp
@@ -35,6 +35,14 @@ static void RegisterScudoFlags(FlagParser *parser, Flags *f) {
#undef SCUDO_FLAG
}
+static const char *getCompileDefinitionScudoDefaultOptions() {
+#ifdef SCUDO_DEFAULT_OPTIONS
+ return SANITIZER_STRINGIFY(SCUDO_DEFAULT_OPTIONS);
+#else
+ return "";
+#endif
+}
+
static const char *getScudoDefaultOptions() {
return (&__scudo_default_options) ? __scudo_default_options() : "";
}
@@ -54,6 +62,9 @@ void initFlags() {
RegisterScudoFlags(&ScudoParser, f);
RegisterCommonFlags(&ScudoParser);
+ // Override from compile definition.
+ ScudoParser.ParseString(getCompileDefinitionScudoDefaultOptions());
+
// Override from user-specified string.
ScudoParser.ParseString(getScudoDefaultOptions());