Geoff Levner via llvm-dev
2021-Apr-02 10:40 UTC
[llvm-dev] Orc JIT + STL = broken on Windows?
Sorry, there is a typo in my previous message: read "jit-kind" where I typed "jit-end". On Fri, Apr 2, 2021 at 12:37 PM Geoff Levner <glevner at gmail.com> wrote:> 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/f9eacb89/attachment.html>
Stefan Gränitz via llvm-dev
2021-Apr-03 11:53 UTC
[llvm-dev] Orc JIT + STL = broken on Windows?
Hi Geoff> LLVM ERROR: Associative COMDAT symbol 'GVName' is not a key for its > COMDAT.This is in CodeGen TargetLoweringObjectFileCOFF so this isn't necessarily JIT specific. Maybe a backtrace would be helpful?> lli --jit-end=orc-lazy hello.bcGreedy Orc mode recently landed in lli: https://reviews.llvm.org/rGe1579894d2051db8 You might want to retry with that in order to rule out the lazy-JIT-infrastructure as a cause for the error.> should I just give up now on porting our Orc-based application to Windows?I am not aware of anyone actively working on improved Orc Windows support right now. On 02/04/2021 12:40, Geoff Levner via llvm-dev wrote:> Sorry, there is a typo in my previous message: read "jit-kind" where I > typed "jit-end". > > On Fri, Apr 2, 2021 at 12:37 PM Geoff Levner <glevner at gmail.com > <mailto:glevner at gmail.com>> wrote: > > 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/ > <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 > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-- https://flowcrypt.com/pub/stefan.graenitz at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210403/05d34370/attachment.html>