summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKuba Brecka <kuba.brecka@gmail.com>2016-05-06 10:23:10 +0000
committerKuba Brecka <kuba.brecka@gmail.com>2016-05-06 10:23:10 +0000
commit451f260af27a6c67c21942f8c0b3ab025b797ad7 (patch)
tree1c57eaeaf83b73ebc7554840109a7ca102148b59 /lib
parentef6211fc976514001c798402868fdd8b7723d4e3 (diff)
Revert r268716. This has caused test failures in MSan on Linux.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@268723 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc26
1 files changed, 10 insertions, 16 deletions
diff --git a/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc b/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc
index 2272f61a9..de1a979bc 100644
--- a/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc
+++ b/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc
@@ -63,20 +63,6 @@ const char *DemangleCXXABI(const char *name) {
return name;
}
-// As of now, there are no headers for the Swift runtime. Once they are
-// present, we will weakly link since we do not require Swift runtime to be
-// linked.
-typedef char *(*swift_demangle_ft)(const char *mangledName,
- size_t mangledNameLength, char *outputBuffer,
- size_t *outputBufferSize, uint32_t flags);
-static swift_demangle_ft swift_demangle_f;
-
-// This must not happen lazily, because dlsym uses thread-local storage, which
-// is not a good thing to do during symbolication.
-static void InitializeSwiftDemangler() {
- swift_demangle_f = (swift_demangle_ft)dlsym(RTLD_DEFAULT, "swift_demangle");
-}
-
// Attempts to demangle a Swift name. The demangler will return nullptr
/// if a non-Swift name is passed in.
const char *DemangleSwift(const char *name) {
@@ -86,6 +72,16 @@ const char *DemangleSwift(const char *name) {
return nullptr;
}
+ // As of now, there are no headers for the Swift runtime. Once they are
+ // present, we will weakly link since we do not require Swift runtime to be
+ // linked.
+ typedef char *(*swift_demangle_ft)(const char *mangledName,
+ size_t mangledNameLength,
+ char *outputBuffer,
+ size_t *outputBufferSize,
+ uint32_t flags);
+ swift_demangle_ft swift_demangle_f =
+ (swift_demangle_ft) dlsym(RTLD_DEFAULT, "swift_demangle");
if (swift_demangle_f)
return swift_demangle_f(name, internal_strlen(name), 0, 0, 0);
@@ -483,8 +479,6 @@ static void ChooseSymbolizerTools(IntrusiveList<SymbolizerTool> *list,
}
Symbolizer *Symbolizer::PlatformInit() {
- InitializeSwiftDemangler();
-
IntrusiveList<SymbolizerTool> list;
list.clear();
ChooseSymbolizerTools(&list, &symbolizer_allocator_);