Index: lib/xray/xray_flags.cc =================================================================== --- lib/xray/xray_flags.cc +++ lib/xray/xray_flags.cc @@ -37,6 +37,16 @@ #undef XRAY_FLAG } +static const char *useCompilerDefinedFlags() { +#ifdef XRAY_DEFAULT_OPTIONS +#define XRAY_STRINGIZE(x) #x +#define XRAY_STRINGIZE_OPTIONS(options) XRAY_STRINGIZE(options) + return XRAY_STRINGIZE_OPTIONS(XRAY_DEFAULT_OPTIONS); +#else + return ""; +#endif +} + void initializeFlags() XRAY_NEVER_INSTRUMENT { SetCommonFlagsDefaults(); auto *F = flags(); @@ -49,6 +59,9 @@ // Override from command line. XRayParser.ParseString(GetEnv("XRAY_OPTIONS")); + // Use options defaulted at compile-time for the runtime. + const char *XRayCompileFlags = useCompilerDefinedFlags(); + XRayParser.ParseString(XRayCompileFlags); InitializeCommonFlags(); if (Verbosity())