summaryrefslogtreecommitdiffstats
path: root/libcxxabi/src/cxa_exception_storage.cpp
diff options
context:
space:
mode:
authorJonathan Roelofs <jonathan@codesourcery.com>2014-05-06 21:30:56 +0000
committerJonathan Roelofs <jonathan@codesourcery.com>2014-05-06 21:30:56 +0000
commit40e9842854430ff34b0b687cbb94e9f4a044588a (patch)
tree6f9cfaa242398ebcd758477ff08448196d64ebaf /libcxxabi/src/cxa_exception_storage.cpp
parent9c928478f48384ad641a3c895856fbcef0c34f22 (diff)
downloadbcm5719-llvm-40e9842854430ff34b0b687cbb94e9f4a044588a.tar.gz
bcm5719-llvm-40e9842854430ff34b0b687cbb94e9f4a044588a.zip
On single threaded systems, turn mutexes into nops
http://reviews.llvm.org/D3386 llvm-svn: 208135
Diffstat (limited to 'libcxxabi/src/cxa_exception_storage.cpp')
-rw-r--r--libcxxabi/src/cxa_exception_storage.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/libcxxabi/src/cxa_exception_storage.cpp b/libcxxabi/src/cxa_exception_storage.cpp
index c3ee8565da4..6f902c68873 100644
--- a/libcxxabi/src/cxa_exception_storage.cpp
+++ b/libcxxabi/src/cxa_exception_storage.cpp
@@ -13,7 +13,19 @@
#include "cxa_exception.hpp"
-#ifdef HAS_THREAD_LOCAL
+#include "config.h"
+
+#if LIBCXXABI_SINGLE_THREADED
+
+namespace __cxxabiv1 {
+extern "C" {
+ static __cxa_eh_globals eh_globals;
+ __cxa_eh_globals *__cxa_get_globals() { return &eh_globals; }
+ __cxa_eh_globals *__cxa_get_globals_fast() { return &eh_globals; }
+ }
+}
+
+#elif defined(HAS_THREAD_LOCAL)
namespace __cxxabiv1 {
OpenPOWER on IntegriCloud