[llvm-dev] Orc JIT + STL = broken on Windows?

Geoff Levner via llvm-dev llvm-dev at lists.llvm.org
Fri Apr 2 03:37:33 PDT 2021


Given this C++ code (hello.cpp):

    #include <iostream>
    int main()
    {
        std::cout << "Hi, mom." << std::endl;
        return 0;
    }

On Linux (CentOS 7), no problem:

    > clang++ -c -emit-llvm hello.cpp
    > lli --jit-end=orc-lazy hello.bc
    Hi, mom.
    >

But on Windows (7):

    > clang++ -c -emit-llvm hello.cpp
    > lli --jit-end=orc-lazy hello.bc
    LLVM ERROR: Associative COMDAT symbol '??_7_Iostream_error_category2 at std
@@6B@' is not a key for its COMDAT.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace.

I know Orc JIT lacks COMDAT support, but I thought that just caused
duplicate symbols sometimes. Am I doing something stupid here? Or should I
just give up now on porting our Orc-based application to Windows? (The
application JIT-compiles C++ modules which rely heavily on STL.)

Geoff
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210402/5202f4c9/attachment.html>


More information about the llvm-dev mailing list