summaryrefslogtreecommitdiffstats
path: root/gnu
diff options
context:
space:
mode:
authorotto <otto@openbsd.org>2021-02-20 19:03:28 +0000
committerotto <otto@openbsd.org>2021-02-20 19:03:28 +0000
commit6f07627ae6451a5a24759a8d2c86ad5083189ddb (patch)
treee054a39628a0fc83ea82051f57cf41d57e9ee082 /gnu
parenttick_msg("lease", TICK_SUCCESS) in bind_lease() should *not* be (diff)
downloadwireguard-openbsd-6f07627ae6451a5a24759a8d2c86ad5083189ddb.tar.xz
wireguard-openbsd-6f07627ae6451a5a24759a8d2c86ad5083189ddb.zip
Make the unwind cache tread-safe by declaring it thread_local. Solves
segfaults seen on exception handling. ok kettenis@
Diffstat (limited to 'gnu')
-rw-r--r--gnu/llvm/libunwind/src/UnwindCursor.hpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/gnu/llvm/libunwind/src/UnwindCursor.hpp b/gnu/llvm/libunwind/src/UnwindCursor.hpp
index 31097b48fb3..8eb8d180777 100644
--- a/gnu/llvm/libunwind/src/UnwindCursor.hpp
+++ b/gnu/llvm/libunwind/src/UnwindCursor.hpp
@@ -75,7 +75,7 @@ extern "C" _Unwind_Reason_Code __libunwind_seh_personality(
namespace libunwind {
-static UnwindInfoSectionsCache uwis_cache;
+static thread_local UnwindInfoSectionsCache uwis_cache;
#if defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)
/// Cache of recently found FDEs.