[llvm-dev] LLJIT vs. thread-local storage

Praveen Velliengiri via llvm-dev llvm-dev at lists.llvm.org
Fri Dec 20 10:35:09 PST 2019


Sure, no worries!


On Sat, 21 Dec 2019 at 00:03, Geoff Levner <glevner at gmail.com> wrote:

> Hmm, it's a bit complicated. It will take some time, and I'm now on
> vacation for the next two weeks, I'm afraid...
>
> On Fri, Dec 20, 2019 at 7:25 PM Praveen Velliengiri <
> praveenvelliengiri at gmail.com> wrote:
>
>> Can you able to share c++ code and your JIT setup?
>>
>> On Fri, 20 Dec 2019 at 23:48, Geoff Levner <glevner at gmail.com> wrote:
>>
>>> Yes, I confirm.
>>>
>>> Le ven. 20 déc. 2019 à 19:12, Praveen Velliengiri <
>>> praveenvelliengiri at gmail.com> a écrit :
>>>
>>>> Hi,
>>>> Orc v2 is different from the internal structure then Orc v1 not just in
>>>> API level.
>>>> TLS support is not in ORC for a long time at least I'm aware of , Could
>>>> you please confirm that ORC v1 actually compiles and run the code with
>>>> Thread locals?
>>>>
>>>> On Fri, 20 Dec 2019 at 23:36, Geoff Levner <glevner at gmail.com> wrote:
>>>>
>>>>> And yet the same C++ code using thread-local variables works fine (or
>>>>> seems to) when compiled with Orc v1. Does the change to the Orc API really
>>>>> make thread-local storage more difficult?
>>>>>
>>>>> On Fri, Dec 20, 2019 at 3:52 PM Praveen Velliengiri <
>>>>> praveenvelliengiri at gmail.com> wrote:
>>>>>
>>>>>> Oh, I think Linux don't have support for TLS.
>>>>>>
>>>>>> On Fri, 20 Dec 2019 at 20:19, Geoff Levner <glevner at gmail.com> wrote:
>>>>>>
>>>>>>> Argh. Thanks for the info. We're on Linux.
>>>>>>>
>>>>>>> On Fri, Dec 20, 2019 at 3:46 PM Praveen Velliengiri <
>>>>>>> praveenvelliengiri at gmail.com> wrote:
>>>>>>>
>>>>>>>> Hi Geoff,
>>>>>>>> Gathering from past, I remember that the ORCv2 doesn't support
>>>>>>>> thread local variable but not sure what is the current status now. What
>>>>>>>> platform you are on?
>>>>>>>> CC'ed (Lang hames) he knows exactly what is the status.
>>>>>>>>
>>>>>>>> On Fri, 20 Dec 2019 at 18:39, Geoff Levner via llvm-dev <
>>>>>>>> llvm-dev at lists.llvm.org> wrote:
>>>>>>>>
>>>>>>>>> I am in the process of porting our ORC code to ORC v2 and LLJIT.
>>>>>>>>> Now that I have worked around a problem getting global constructors to be
>>>>>>>>> called, everything seems to work unless a module declares a static
>>>>>>>>> thread-local variable. In that case I get a "JIT session error" saying that
>>>>>>>>> the symbol __emutls_v.xyz was not found (substitute the mangled
>>>>>>>>> variable name for "xyz").
>>>>>>>>>
>>>>>>>>> Does that mean anything to anybody out there?
>>>>>>>>>
>>>>>>>>> (I don't know if it's relevant, but we are using LLVM 8, and we
>>>>>>>>> are using Clang to compile C++ modules that are all put into a single
>>>>>>>>> JITDylib.)
>>>>>>>>>
>>>>>>>>> Geoff
>>>>>>>>> _______________________________________________
>>>>>>>>> LLVM Developers mailing list
>>>>>>>>> llvm-dev at lists.llvm.org
>>>>>>>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>>>>>>>
>>>>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191221/8b4649be/attachment.html>


More information about the llvm-dev mailing list