[PATCH] D14637: [tsan] Don't demangle names not starting with "_Z"
Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 13 12:50:03 PST 2015
This revision was automatically updated to reflect the committed changes.
Closed by commit rL253080: [tsan] Don't demangle names not starting with "_Z" (authored by kuba.brecka).
Changed prior to commit:
http://reviews.llvm.org/D14637?vs=40117&id=40173#toc
Repository:
rL LLVM
http://reviews.llvm.org/D14637
Files:
compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc
compiler-rt/trunk/test/tsan/Darwin/symbolizer-dladdr.cc
Index: compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc
===================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc
@@ -48,6 +48,9 @@
// Attempts to demangle the name via __cxa_demangle from __cxxabiv1.
const char *DemangleCXXABI(const char *name) {
+ if (name[0] != '_' || name[1] != 'Z')
+ return name;
+
// FIXME: __cxa_demangle aggressively insists on allocating memory.
// There's not much we can do about that, short of providing our
// own demangler (libc++abi's implementation could be adapted so that
Index: compiler-rt/trunk/test/tsan/Darwin/symbolizer-dladdr.cc
===================================================================
--- compiler-rt/trunk/test/tsan/Darwin/symbolizer-dladdr.cc
+++ compiler-rt/trunk/test/tsan/Darwin/symbolizer-dladdr.cc
@@ -3,10 +3,12 @@
#include "../test.h"
int GlobalData[10];
+long long x;
void *Thread(void *a) {
barrier_wait(&barrier);
GlobalData[2] = 42;
+ x = 7;
return 0;
}
@@ -18,6 +20,7 @@
pthread_t t;
pthread_create(&t, 0, Thread, 0);
GlobalData[2] = 43;
+ x = 8;
barrier_wait(&barrier);
pthread_join(t, 0);
}
@@ -27,3 +30,5 @@
// CHECK: addr=[[ADDR:0x[0-9,a-f]+]]
// CHECK: WARNING: ThreadSanitizer: data race
// CHECK: Location is global 'GlobalData' at [[ADDR]] ({{.*}}+0x{{[0-9,a-f]+}})
+// CHECK: WARNING: ThreadSanitizer: data race
+// CHECK: Location is global 'x' at {{.*}} ({{.*}}+0x{{[0-9,a-f]+}})
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14637.40173.patch
Type: text/x-patch
Size: 1616 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151113/8128bcb4/attachment.bin>
More information about the llvm-commits
mailing list