diff options
Diffstat (limited to 'lib/sanitizer_common/sanitizer_flags.h')
-rw-r--r-- | lib/sanitizer_common/sanitizer_flags.h | 59 |
1 files changed, 35 insertions, 24 deletions
diff --git a/lib/sanitizer_common/sanitizer_flags.h b/lib/sanitizer_common/sanitizer_flags.h index 9461dff803301..4791397a57617 100644 --- a/lib/sanitizer_common/sanitizer_flags.h +++ b/lib/sanitizer_common/sanitizer_flags.h @@ -18,50 +18,61 @@ namespace __sanitizer { -void ParseFlag(const char *env, bool *flag, const char *name); -void ParseFlag(const char *env, int *flag, const char *name); -void ParseFlag(const char *env, const char **flag, const char *name); +void ParseFlag(const char *env, bool *flag, + const char *name, const char *descr); +void ParseFlag(const char *env, int *flag, + const char *name, const char *descr); +void ParseFlag(const char *env, uptr *flag, + const char *name, const char *descr); +void ParseFlag(const char *env, const char **flag, + const char *name, const char *descr); struct CommonFlags { - // If set, use the online symbolizer from common sanitizer runtime. bool symbolize; - // Path to external symbolizer. const char *external_symbolizer_path; - // Strips this prefix from file paths in error reports. + bool allow_addr2line; const char *strip_path_prefix; - // Use fast (frame-pointer-based) unwinder on fatal errors (if available). + bool fast_unwind_on_check; bool fast_unwind_on_fatal; - // Use fast (frame-pointer-based) unwinder on malloc/free (if available). bool fast_unwind_on_malloc; - // Intercept and handle ioctl requests. bool handle_ioctl; - // Max number of stack frames kept for each allocation/deallocation. int malloc_context_size; - // Write logs to "log_path.pid". - // The special values are "stdout" and "stderr". - // The default is "stderr". const char *log_path; - // Verbosity level (0 - silent, 1 - a bit of output, 2+ - more output). int verbosity; - // Enable memory leak detection. bool detect_leaks; - // Invoke leak checking in an atexit handler. Has no effect if - // detect_leaks=false, or if __lsan_do_leak_check() is called before the - // handler has a chance to run. bool leak_check_at_exit; - // If false, the allocator will crash instead of returning 0 on out-of-memory. bool allocator_may_return_null; - // If false, disable printing error summaries in addition to error reports. bool print_summary; + bool check_printf; + bool handle_segv; + bool allow_user_segv_handler; + bool use_sigaltstack; + bool detect_deadlocks; + uptr clear_shadow_mmap_threshold; + const char *color; + bool legacy_pthread_cond; + bool intercept_tls_get_addr; + bool help; + uptr mmap_limit_mb; + bool coverage; + bool coverage_direct; + const char *coverage_dir; + bool full_address_space; + const char *suppressions; + bool print_suppressions; + bool disable_coredump; + bool symbolize_inline_frames; + const char *stack_trace_format; }; inline CommonFlags *common_flags() { - static CommonFlags f; - return &f; + extern CommonFlags common_flags_dont_use; + return &common_flags_dont_use; } -void SetCommonFlagDefaults(); -void ParseCommonFlagsFromString(const char *str); +void SetCommonFlagsDefaults(CommonFlags *f); +void ParseCommonFlagsFromString(CommonFlags *f, const char *str); +void PrintFlagDescriptions(); } // namespace __sanitizer |