diff options
Diffstat (limited to 'compiler-rt/lib')
| -rw-r--r-- | compiler-rt/lib/lsan/lsan_common.cc | 12 | ||||
| -rw-r--r-- | compiler-rt/lib/lsan/lsan_common.h | 4 | ||||
| -rw-r--r-- | compiler-rt/lib/sanitizer_common/sanitizer_flags.cc | 5 | ||||
| -rw-r--r-- | compiler-rt/lib/sanitizer_common/sanitizer_flags.h | 2 | ||||
| -rw-r--r-- | compiler-rt/lib/tsan/rtl/tsan_flags.cc | 5 | ||||
| -rw-r--r-- | compiler-rt/lib/tsan/rtl/tsan_flags.h | 4 |
6 files changed, 12 insertions, 20 deletions
diff --git a/compiler-rt/lib/lsan/lsan_common.cc b/compiler-rt/lib/lsan/lsan_common.cc index 5a1c9b36e12..35a63644d6a 100644 --- a/compiler-rt/lib/lsan/lsan_common.cc +++ b/compiler-rt/lib/lsan/lsan_common.cc @@ -43,8 +43,6 @@ static void InitializeFlags() { f->resolution = 0; f->max_leaks = 0; f->exitcode = 23; - f->print_suppressions = true; - f->suppressions=""; f->use_registers = true; f->use_globals = true; f->use_stacks = true; @@ -72,8 +70,6 @@ static void InitializeFlags() { ParseFlag(options, &f->log_pointers, "log_pointers", ""); ParseFlag(options, &f->log_threads, "log_threads", ""); ParseFlag(options, &f->exitcode, "exitcode", ""); - ParseFlag(options, &f->print_suppressions, "print_suppressions", ""); - ParseFlag(options, &f->suppressions, "suppressions", ""); } } @@ -91,12 +87,12 @@ void InitializeSuppressions() { SuppressionContext::Init(); char *suppressions_from_file; uptr buffer_size; - if (ReadFileToBuffer(flags()->suppressions, &suppressions_from_file, + if (ReadFileToBuffer(common_flags()->suppressions, &suppressions_from_file, &buffer_size, 1 << 26 /* max_len */)) SuppressionContext::Get()->Parse(suppressions_from_file); - if (flags()->suppressions[0] && !buffer_size) { + if (common_flags()->suppressions[0] && !buffer_size) { Printf("LeakSanitizer: failed to read suppressions file '%s'\n", - flags()->suppressions); + common_flags()->suppressions); Die(); } if (&__lsan_default_suppressions) @@ -446,7 +442,7 @@ void DoLeakCheck() { Printf("%s", d.End()); param.leak_report.ReportTopLeaks(flags()->max_leaks); } - if (flags()->print_suppressions) + if (common_flags()->print_suppressions) PrintMatchedSuppressions(); if (unsuppressed_count > 0) { param.leak_report.PrintSummary(); diff --git a/compiler-rt/lib/lsan/lsan_common.h b/compiler-rt/lib/lsan/lsan_common.h index c0f12e651f1..6f9fea47be1 100644 --- a/compiler-rt/lib/lsan/lsan_common.h +++ b/compiler-rt/lib/lsan/lsan_common.h @@ -51,10 +51,6 @@ struct Flags { int max_leaks; // If nonzero kill the process with this exit code upon finding leaks. int exitcode; - // Print matched suppressions after leak checking. - bool print_suppressions; - // Suppressions file name. - const char* suppressions; // Flags controlling the root set of reachable memory. // Global variables (.data and .bss). diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_flags.cc b/compiler-rt/lib/sanitizer_common/sanitizer_flags.cc index 0a70e1681e7..617fd0e8d91 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_flags.cc +++ b/compiler-rt/lib/sanitizer_common/sanitizer_flags.cc @@ -63,6 +63,8 @@ void SetCommonFlagsDefaults(CommonFlags *f) { f->coverage_direct = SANITIZER_ANDROID; f->coverage_dir = "."; f->full_address_space = false; + f->suppressions = ""; + f->print_suppressions = true; } void ParseCommonFlagsFromString(CommonFlags *f, const char *str) { @@ -144,6 +146,9 @@ void ParseCommonFlagsFromString(CommonFlags *f, const char *str) { ParseFlag(str, &f->full_address_space, "full_address_space", "Sanitize complete address space; " "by default kernel area on 32-bit platforms will not be sanitized"); + ParseFlag(str, &f->suppressions, "suppressions", "Suppressions file name."); + ParseFlag(str, &f->print_suppressions, "print_suppressions", + "Print matched suppressions at exit."); // Do a sanity check for certain flags. if (f->malloc_context_size < 1) diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_flags.h b/compiler-rt/lib/sanitizer_common/sanitizer_flags.h index 41dc2188844..e03a2da6e79 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_flags.h +++ b/compiler-rt/lib/sanitizer_common/sanitizer_flags.h @@ -57,6 +57,8 @@ struct CommonFlags { bool coverage_direct; const char *coverage_dir; bool full_address_space; + const char *suppressions; + bool print_suppressions; }; inline CommonFlags *common_flags() { diff --git a/compiler-rt/lib/tsan/rtl/tsan_flags.cc b/compiler-rt/lib/tsan/rtl/tsan_flags.cc index 812d2dcd834..466861fa7bc 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_flags.cc +++ b/compiler-rt/lib/tsan/rtl/tsan_flags.cc @@ -44,8 +44,6 @@ static void ParseFlags(Flags *f, const char *env) { ParseFlag(env, &f->report_signal_unsafe, "report_signal_unsafe", ""); ParseFlag(env, &f->report_atomic_races, "report_atomic_races", ""); ParseFlag(env, &f->force_seq_cst_atomics, "force_seq_cst_atomics", ""); - ParseFlag(env, &f->suppressions, "suppressions", ""); - ParseFlag(env, &f->print_suppressions, "print_suppressions", ""); ParseFlag(env, &f->print_benign, "print_benign", ""); ParseFlag(env, &f->exitcode, "exitcode", ""); ParseFlag(env, &f->halt_on_error, "halt_on_error", ""); @@ -78,8 +76,6 @@ void InitializeFlags(Flags *f, const char *env) { f->report_signal_unsafe = true; f->report_atomic_races = true; f->force_seq_cst_atomics = false; - f->suppressions = ""; - f->print_suppressions = false; f->print_benign = false; f->exitcode = 66; f->halt_on_error = false; @@ -101,6 +97,7 @@ void InitializeFlags(Flags *f, const char *env) { // Override some common flags defaults. f->allow_addr2line = true; f->detect_deadlocks = true; + f->print_suppressions = false; // Let a frontend override. ParseFlags(f, __tsan_default_options()); diff --git a/compiler-rt/lib/tsan/rtl/tsan_flags.h b/compiler-rt/lib/tsan/rtl/tsan_flags.h index e9a43da8be0..779de6438a7 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_flags.h +++ b/compiler-rt/lib/tsan/rtl/tsan_flags.h @@ -44,10 +44,6 @@ struct Flags : CommonFlags, DDFlags { // If set, all atomics are effectively sequentially consistent (seq_cst), // regardless of what user actually specified. bool force_seq_cst_atomics; - // Suppressions filename. - const char *suppressions; - // Print matched suppressions at exit. - bool print_suppressions; // Print matched "benign" races at exit. bool print_benign; // Override exit status if something was reported. |

