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

Zachary Turner via lldb-dev lldb-dev at lists.llvm.org
Wed Feb 8 14:26:51 PST 2017


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
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20170208/9eb30fc2/attachment-0001.html>


More information about the lldb-dev mailing list