Sergey Zykov via llvm-dev
2015-Nov-09 18:28 UTC
[llvm-dev] Kaleidoscope examples is broken in MSVC++ for a while
Hello. It seems like kaleidoscope examples is broken. I took latest branch for git, built it with VC++ 2015 (x64) tried to run Kaleidoscope-Orc-initial.exe, and got null pointer error when i tried to evaluate a simple expression. Seems like something is wrong with the symbol mangilng because null pointer is propagated from "J.findUnmangledSymbol("__anon_expr")" call. Are you planning to abandon JIT support in MSVC++, or something gone out-of sync for a moment? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151109/29bba125/attachment-0001.html>
Lang Hames via llvm-dev
2015-Nov-10 16:44 UTC
[llvm-dev] Kaleidoscope examples is broken in MSVC++ for a while
We want to support MSVC, but this is not well tested. Any help with this would be most welcome - Unfortunately I don't have access to a Windows box or MSVC to test with. I suspect that your guess is right, and that this is a symbol mangling issue*. To figure out what's going wrong it would be interesting to know: (1) In the constructor for KalidoscopeJIT, what is DL initialized too? (2) If you add that data-layout string to the IR for __anon_expr and compile it statically with "llc -o - expr.ll", what symbol name does @__anon_expr get mapped to in the output assembly? (3) What mangled name does findUnmangledSymbol pass to findSymbol? The mangled symbols for (2) and (3) *should* match, but the mangling in (2) can depend on the linkage type and the mangling in (3) doesn't. It might just be a matter of changing the linkage/visibility of __anon_expr? Cheers, Lang. On Mon, Nov 9, 2015 at 7:28 PM, Sergey Zykov via llvm-dev < llvm-dev at lists.llvm.org> wrote:> Hello. > > It seems like kaleidoscope examples is broken. I took latest branch for > git, built it with VC++ 2015 (x64) tried to > run Kaleidoscope-Orc-initial.exe, and got null pointer error when i tried > to evaluate a simple expression. Seems like something is wrong with the > symbol mangilng because null pointer is propagated from > "J.findUnmangledSymbol("__anon_expr")" call. Are you planning to abandon > JIT support in MSVC++, or something gone out-of sync for a moment? > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://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/20151110/33abca9d/attachment.html>