summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2013-10-28 16:31:39 +0000
committerAlexey Samsonov <samsonov@google.com>2013-10-28 16:31:39 +0000
commitf456018a324dc48668a57060f5ac9c838dfd9f32 (patch)
tree862c3e564184ff2cb6475aa244bf4e4bdb934308
parentdb92faf488988543b18aaac537ac5ee4f4ee68a5 (diff)
downloadcompiler-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.cc4
-rw-r--r--lib/sanitizer_common/sanitizer_symbolizer.cc2
-rw-r--r--lib/sanitizer_common/sanitizer_symbolizer_libcdep.cc3
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;