Index: lib/scudo/scudo_flags.cpp =================================================================== --- lib/scudo/scudo_flags.cpp +++ lib/scudo/scudo_flags.cpp @@ -35,6 +35,17 @@ #undef SCUDO_FLAG } +static const char *getCompileDefinitionScudoDefaultOptions() { +#ifdef SCUDO_DEFAULT_OPTIONS +// Stringize the macro value. +# define SCUDO_STRINGIZE(x) #x +# define SCUDO_STRINGIZE_OPTIONS(Options) SCUDO_STRINGIZE(Options) + return SCUDO_STRINGIZE_OPTIONS(SCUDO_DEFAULT_OPTIONS); +#else + return ""; +#endif +} + static const char *getScudoDefaultOptions() { return (&__scudo_default_options) ? __scudo_default_options() : ""; } @@ -54,6 +65,9 @@ RegisterScudoFlags(&ScudoParser, f); RegisterCommonFlags(&ScudoParser); + // Override from compile definition. + ScudoParser.ParseString(getCompileDefinitionScudoDefaultOptions()); + // Override from user-specified string. ScudoParser.ParseString(getScudoDefaultOptions());