diff options
author | Alexey Samsonov <samsonov@google.com> | 2013-10-28 16:31:39 +0000 |
---|---|---|
committer | Alexey Samsonov <samsonov@google.com> | 2013-10-28 16:31:39 +0000 |
commit | f456018a324dc48668a57060f5ac9c838dfd9f32 (patch) | |
tree | 862c3e564184ff2cb6475aa244bf4e4bdb934308 | |
parent | db92faf488988543b18aaac537ac5ee4f4ee68a5 (diff) | |
download | compiler-rt-f456018a324dc48668a57060f5ac9c838dfd9f32.tar.gz compiler-rt-f456018a324dc48668a57060f5ac9c838dfd9f32.tar.bz2 compiler-rt-f456018a324dc48668a57060f5ac9c838dfd9f32.tar.xz |
[Sanitizer] Revert r193501 and properly fix r193448
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193522 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/asan/asan_report.cc | 4 | ||||
-rw-r--r-- | lib/sanitizer_common/sanitizer_symbolizer.cc | 2 | ||||
-rw-r--r-- | lib/sanitizer_common/sanitizer_symbolizer_libcdep.cc | 3 |
3 files changed, 4 insertions, 5 deletions
diff --git a/lib/asan/asan_report.cc b/lib/asan/asan_report.cc index ca060089..5406ac02 100644 --- a/lib/asan/asan_report.cc +++ b/lib/asan/asan_report.cc @@ -551,9 +551,7 @@ class ScopedInErrorReport { static void ReportSummary(const char *error_type, StackTrace *stack) { AddressInfo ai; - // FIXME: The symbolizer interface should be changed in order to support - // Windows where we don't have a symbolizer. - if (!SANITIZER_WINDOWS && Symbolizer::Get()->IsAvailable()) { + if (Symbolizer::Get()->IsAvailable()) { // Currently, we include the first stack frame into the report summary. // Maybe sometimes we need to choose another frame (e.g. skip memcpy/etc). uptr pc = StackTrace::GetPreviousInstructionPc(stack->trace[0]); diff --git a/lib/sanitizer_common/sanitizer_symbolizer.cc b/lib/sanitizer_common/sanitizer_symbolizer.cc index 95ebfebe..ea74420f 100644 --- a/lib/sanitizer_common/sanitizer_symbolizer.cc +++ b/lib/sanitizer_common/sanitizer_symbolizer.cc @@ -35,7 +35,7 @@ Symbolizer *Symbolizer::Get() { Symbolizer *Symbolizer::Disable() { CHECK_EQ(0, atomic_load(&symbolizer_, memory_order_acquire)); Symbolizer *dummy_sym = new(symbolizer_allocator_) Symbolizer; - atomic_store(&symbolizer_, reinterpret_cast<uptr>(&dummy_sym), + atomic_store(&symbolizer_, reinterpret_cast<uptr>(dummy_sym), memory_order_release); return dummy_sym; } diff --git a/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cc b/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cc index ada7be15..a7a47d4a 100644 --- a/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cc +++ b/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cc @@ -20,7 +20,8 @@ namespace __sanitizer { Symbolizer *Symbolizer::CreateAndStore(const char *path_to_external) { Symbolizer *platform_symbolizer = PlatformInit(path_to_external); - if (!platform_symbolizer) return Disable(); + if (!platform_symbolizer) + return Disable(); atomic_store(&symbolizer_, reinterpret_cast<uptr>(platform_symbolizer), memory_order_release); return platform_symbolizer; |