diff options
author | Jonathan Roelofs <jonathan@codesourcery.com> | 2014-05-06 21:30:56 +0000 |
---|---|---|
committer | Jonathan Roelofs <jonathan@codesourcery.com> | 2014-05-06 21:30:56 +0000 |
commit | 40e9842854430ff34b0b687cbb94e9f4a044588a (patch) | |
tree | 6f9cfaa242398ebcd758477ff08448196d64ebaf /libcxxabi/src/cxa_exception_storage.cpp | |
parent | 9c928478f48384ad641a3c895856fbcef0c34f22 (diff) | |
download | bcm5719-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.cpp | 14 |
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 { |