[llvm-dev] LLJIT vs. thread-local storage (again)
Geoff Levner via llvm-dev
llvm-dev at lists.llvm.org
Mon Sep 28 07:35:15 PDT 2020
Hi JITters,
I have some JIT-compiled C++ code that uses symbols from a DSO which
uses C++14's thread support library. When I compile it I get the
following error message:
Symbols not found: [ __emutls_v._ZSt15__once_callable,
__emutls_v._ZSt11__once_call ]
Those seem to correspond to std::__once_callable and std::__once_call,
which are indeed present in the C++ standard library. And I imagine
they are needed because the DSO makes calls to std::call_once(). But
ORC seems to be looking for them with the prefix "__emutls_v".
I had a similar problem in the past, which I thought Lang had fixed...
See this thread:
http://lists.llvm.org/pipermail/llvm-dev/2020-January/138402.html
Perhaps it wasn't as fixed as I thought? Or maybe there is something I
need to do for JIT to fully support thread-local storage?
Geoff
More information about the llvm-dev
mailing list