[lldb-dev] Win64 lldb build broken, llvm::call_once and _mm_mfence

Hans Wennborg via lldb-dev lldb-dev at lists.llvm.org
Thu Feb 9 13:55:00 PST 2017


I'm happy as long as it builds :-)

On Wed, Feb 8, 2017 at 2:26 PM, Zachary Turner <zturner at google.com> wrote:
> Should we do that now, as a way to fix this issue, or should we try to get
> another fix in first so we have more time to think about using std
> call_once?
>
> On Wed, Feb 8, 2017 at 2:19 PM Reid Kleckner <rnk at google.com> wrote:
>>
>> I think we can. MSVC's std::once_flag default constructor is constexpr
>> now. It still generates dynamic initialization code if you use it as a
>> static local, but MSVC defaults to using thread safe static initialization,
>> so that isn't a problem unless you disable it, which we don't. We disable it
>> in compiler-rt (/Zc:threadSafeInit-), but that doesn't use this code.
>>
>> On Wed, Feb 8, 2017 at 1:18 PM, Zachary Turner <zturner at google.com> wrote:
>>>
>>> Is this the right review?  https://reviews.llvm.org/D5922
>>>
>>> Being that this was over 2 years ago, I suspect it was when we were
>>> supporting MSVC2012 and 2013.  Now that we're requiring MSVC2015, is it time
>>> to reconsider? I don't see any links to an MS Connect issue, so I don't know
>>> what the original bug was to know if it has been fixed.
>>>
>>>
>>> On Wed, Feb 8, 2017 at 1:03 PM Reid Kleckner <rnk at google.com> wrote:
>>>>
>>>> It's a sad story. Read the comments and the review threads. It's
>>>> hilarious.
>>>>
>>>> On Wed, Feb 8, 2017 at 1:00 PM, Zachary Turner via lldb-dev
>>>> <lldb-dev at lists.llvm.org> wrote:
>>>>>
>>>>> Why doesn't llvm::call_once() just use std::call_once on Windows?
>>>>>
>>>>> On Wed, Feb 8, 2017 at 12:40 PM Hans Wennborg <hans at chromium.org>
>>>>> wrote:
>>>>>>
>>>>>> The Win64 lldb build seems broken (at 294367).
>>>>>>
>>>>>> I ran into this when trying to build the weekly snapshot
>>>>>> (http://www.llvm.org/builds/) which includes LLDB these days.
>>>>>>
>>>>>> I suspect this might be related to Kamil's changes a few days ago. I
>>>>>> see Pavel committed something to fix Darwin afterwards.
>>>>>>
>>>>>> Zach, do you know what's going on here? Do we have any buildbot
>>>>>> coverage for this?
>>>>>>
>>>>>>    Creating library lib\liblldb.lib and object lib\liblldb.exp
>>>>>> lldbHost.lib(HostInfoWindows.cpp.obj) : error LNK2019: unresolved
>>>>>> external symbo
>>>>>> l "void __cdecl llvm::sys::_mm_mfence(void)"
>>>>>> (?_mm_mfence at sys@llvm@@YAXXZ) refer
>>>>>> enced in function "void __cdecl llvm::call_once<class
>>>>>> <lambda_e212a11f7f891e804e
>>>>>> 713e15728a6adc> >(struct llvm::once_flag &,class
>>>>>> <lambda_e212a11f7f891e804e713e1
>>>>>> 5728a6adc> &&)"
>>>>>> (??$call_once at V<lambda_e212a11f7f891e804e713e15728a6adc>@@$$V at ll
>>>>>>
>>>>>> vm@@YAXAEAUonce_flag at 0@$$QEAV<lambda_e212a11f7f891e804e713e15728a6adc>@@@Z)
>>>>>> bin\liblldb.dll : fatal error LNK1120: 1 unresolved externals
>>>>>> LINK failed. with 1120
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> lldb-dev mailing list
>>>>> lldb-dev at lists.llvm.org
>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>>>>>
>>
>


More information about the lldb-dev mailing list