Igor Gomon via llvm-dev
2020-Jan-06 01:00 UTC
[llvm-dev] clang interpreter failed to materialize symbols
Hello, I am new to LLVM and what I am trying to do is to get a very simple “hello-world” C++ program to compile to LLVM IR and then to run it using lli tool. So here is the program code (hello.cpp): #include <iostream> int main (int argc, char *argv[]) { std::cout << "Hello World!\n"; return 0; } Below are the steps I do to achieve that goal: 1. clang++.exe hello.cpp -S -emit-llvm -o hello.ll (produces hello.ll about 307KB in size) 2. llvm-link.exe hello.ll -o hello.bc (produces the bit-code file about 79KB in size). 3. lli.exe hello.bc (terminates with a segmentation fault). The dump is below. I understand that some symbols are not loaded (C++ standard library symbols). I am not sure how I can specify the location of those symbols to lli tool (I tried –extra-object option but no effect). Could someone please let me know what am I missing or doing wrong? Any help is greatly appreciated!!! -- Thanks, Igor Stack dump: 0. Program arguments: C:\dev\llvm-project\build\Debug\bin\lli.exe .\hello.bc 0x0000000000000000 (0x0000000000000010 0xCCCCCCCCCCCCCCCC 0x000000575B18D640 0x00007FF68DEF6186) <unknown module> 0x000001AF8A3004F6 (0xCCCCCCCCCCCCCCCC 0x000000575B18D640 0x00007FF68DEF6186 0x000001AF8A4B0000) <unknown module> 0x0000000000000010 (0x000000575B18D640 0x00007FF68DEF6186 0x000001AF8A4B0000 0xFFFFFFFFFFFFFFFE) <unknown module> 0xCCCCCCCCCCCCCCCC (0x00007FF68DEF6186 0x000001AF8A4B0000 0xFFFFFFFFFFFFFFFE 0x000000575B18D6A0) <unknown module> 0x000000575B18D640 (0x000001AF8A4B0000 0xFFFFFFFFFFFFFFFE 0x000000575B18D6A0 0x000001AF8A300032) <unknown module> 0x00007FF68DEF6186 (0x000001AF8A85B410 0x000000575B18D678 0xCCCCCCCCCCCCCCCC 0x000001AF8A4B0000), std::_Construct_in_place<std::_Container_proxy,std::_Container_base12 *>() + 0x56 bytes(s), C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\xmemory, line 205 0x00007FF68DEF45E8 (0x0000000000000000 0x000000005B18D6B1 0xFFFFFFFFFFFFFFFE 0x000000575B18DB80), std::_Container_base12::_Alloc_proxy<std::allocator<std::_Container_proxy> >() + 0x58 bytes(s), C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\xmemory, line 1100 0x00007FF68DF36634 (0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC 0x0000000000000001), std::vector<llvm::GenericValue,std::allocator<llvm::GenericValue> >::vector<llvm::GenericValue,std::allocator<llvm::GenericValue> >() + 0x54 bytes(s), C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\vector, line 446 0x00007FF68E06B048 (0x000001AF8A6A3058 0x0000000000000001 0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC), llvm::APInt::getZExtValue() + 0x28 bytes(s), C:\dev\llvm-project\llvm\include\llvm\ADT\APInt.h, line 1589 + 0xA byte(s) 0x00007FF68ED9E0F0 (0x000001AF8A563310 0x000000575B18DB88 0x000001AF8A583F18 0x000000575B18DBC0), llvm::MCJIT::runFunction() + 0x480 bytes(s), C:\dev\llvm-project\llvm\lib\ExecutionEngine\MCJIT\MCJIT.cpp, line 550 + 0x16 byte(s) 0x00007FF68EC09680 (0x000001AF8A563310 0x000001AF8A583F18 0x00007FF6920964A0 0x000001AF8A532460), llvm::ExecutionEngine::runFunctionAsMain() + 0x410 bytes(s), C:\dev\llvm-project\llvm\lib\ExecutionEngine\ExecutionEngine.cpp, line 470 + 0x65 byte(s) 0x00007FF68DEE4200 (0x0000000000000002 0x000001AF8A5515B0 0x000001AF8A532460 0x00007FF6909C0A7D), main() + 0x1D10 bytes(s), C:\dev\llvm-project\llvm\tools\lli\lli.cpp, line 614 + 0x4D byte(s) 0x00007FF6909C1A29 (0x00007FF690C2C000 0x00007FF690C2FE30 0x0000000000000000 0x0000000000000000), invoke_main() + 0x39 bytes(s), d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl, line 79 0x00007FF6909C190E (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), __scrt_common_main_seh() + 0x12E bytes(s), d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl, line 288 + 0x5 byte(s) 0x00007FF6909C17CE (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), __scrt_common_main() + 0xE bytes(s), d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl, line 331 0x00007FF6909C1AB9 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), mainCRTStartup() + 0x9 bytes(s), d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp, line 17 0x00007FFC76417BD4 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), BaseThreadInitThunk() + 0x14 bytes(s) 0x00007FFC7746CED1 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s) Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200106/87e0be00/attachment.html>
David Blaikie via llvm-dev
2020-Jan-13 18:07 UTC
[llvm-dev] clang interpreter failed to materialize symbols
(+Lang for JIT/interpreter questions) On Sun, Jan 5, 2020 at 5:00 PM Igor Gomon via llvm-dev < llvm-dev at lists.llvm.org> wrote:> Hello, > > > > I am new to LLVM and what I am trying to do is to get a very simple > “hello-world” C++ program to compile to LLVM IR and then to run it using > lli tool. > > So here is the program code (hello.cpp): > > #include <iostream> > > int main (int argc, char *argv[]) > > { > > std::cout << "Hello World!\n"; > > return 0; > > } > > Below are the steps I do to achieve that goal: > > 1. clang++.exe hello.cpp -S -emit-llvm -o hello.ll (produces hello.ll > about 307KB in size) > 2. llvm-link.exe hello.ll -o hello.bc (produces the bit-code file > about 79KB in size). > 3. lli.exe hello.bc (terminates with a segmentation fault). The dump > is below. > > > > I understand that some symbols are not loaded (C++ standard library > symbols). I am not sure how I can specify the location of those symbols to > lli tool (I tried –extra-object option but no effect). > > Could someone please let me know what am I missing or doing wrong? > > Any help is greatly appreciated!!! > > > > -- > > Thanks, > > Igor > > > > Stack dump: > > 0. Program arguments: C:\dev\llvm-project\build\Debug\bin\lli.exe > .\hello.bc > > 0x0000000000000000 (0x0000000000000010 0xCCCCCCCCCCCCCCCC > 0x000000575B18D640 0x00007FF68DEF6186) <unknown module> > > 0x000001AF8A3004F6 (0xCCCCCCCCCCCCCCCC 0x000000575B18D640 > 0x00007FF68DEF6186 0x000001AF8A4B0000) <unknown module> > > 0x0000000000000010 (0x000000575B18D640 0x00007FF68DEF6186 > 0x000001AF8A4B0000 0xFFFFFFFFFFFFFFFE) <unknown module> > > 0xCCCCCCCCCCCCCCCC (0x00007FF68DEF6186 0x000001AF8A4B0000 > 0xFFFFFFFFFFFFFFFE 0x000000575B18D6A0) <unknown module> > > 0x000000575B18D640 (0x000001AF8A4B0000 0xFFFFFFFFFFFFFFFE > 0x000000575B18D6A0 0x000001AF8A300032) <unknown module> > > 0x00007FF68DEF6186 (0x000001AF8A85B410 0x000000575B18D678 > 0xCCCCCCCCCCCCCCCC 0x000001AF8A4B0000), > std::_Construct_in_place<std::_Container_proxy,std::_Container_base12 *>() > + 0x56 bytes(s), C:\Program Files (x86)\Microsoft Visual > Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\xmemory, line 205 > > 0x00007FF68DEF45E8 (0x0000000000000000 0x000000005B18D6B1 > 0xFFFFFFFFFFFFFFFE 0x000000575B18DB80), > std::_Container_base12::_Alloc_proxy<std::allocator<std::_Container_proxy> > >() + 0x58 bytes(s), C:\Program Files (x86)\Microsoft Visual > Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\xmemory, line 1100 > > 0x00007FF68DF36634 (0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC > 0xCCCCCCCCCCCCCCCC 0x0000000000000001), > std::vector<llvm::GenericValue,std::allocator<llvm::GenericValue> > >::vector<llvm::GenericValue,std::allocator<llvm::GenericValue> >() + 0x54 > bytes(s), C:\Program Files (x86)\Microsoft Visual > Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\vector, line 446 > > 0x00007FF68E06B048 (0x000001AF8A6A3058 0x0000000000000001 > 0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC), llvm::APInt::getZExtValue() + 0x28 > bytes(s), C:\dev\llvm-project\llvm\include\llvm\ADT\APInt.h, line 1589 + > 0xA byte(s) > > 0x00007FF68ED9E0F0 (0x000001AF8A563310 0x000000575B18DB88 > 0x000001AF8A583F18 0x000000575B18DBC0), llvm::MCJIT::runFunction() + 0x480 > bytes(s), C:\dev\llvm-project\llvm\lib\ExecutionEngine\MCJIT\MCJIT.cpp, > line 550 + 0x16 byte(s) > > 0x00007FF68EC09680 (0x000001AF8A563310 0x000001AF8A583F18 > 0x00007FF6920964A0 0x000001AF8A532460), > llvm::ExecutionEngine::runFunctionAsMain() + 0x410 bytes(s), > C:\dev\llvm-project\llvm\lib\ExecutionEngine\ExecutionEngine.cpp, line 470 > + 0x65 byte(s) > > 0x00007FF68DEE4200 (0x0000000000000002 0x000001AF8A5515B0 > 0x000001AF8A532460 0x00007FF6909C0A7D), main() + 0x1D10 bytes(s), > C:\dev\llvm-project\llvm\tools\lli\lli.cpp, line 614 + 0x4D byte(s) > > 0x00007FF6909C1A29 (0x00007FF690C2C000 0x00007FF690C2FE30 > 0x0000000000000000 0x0000000000000000), invoke_main() + 0x39 bytes(s), > d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl, > line 79 > > 0x00007FF6909C190E (0x0000000000000000 0x0000000000000000 > 0x0000000000000000 0x0000000000000000), __scrt_common_main_seh() + 0x12E > bytes(s), > d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl, > line 288 + 0x5 byte(s) > > 0x00007FF6909C17CE (0x0000000000000000 0x0000000000000000 > 0x0000000000000000 0x0000000000000000), __scrt_common_main() + 0xE > bytes(s), > d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl, > line 331 > > 0x00007FF6909C1AB9 (0x0000000000000000 0x0000000000000000 > 0x0000000000000000 0x0000000000000000), mainCRTStartup() + 0x9 bytes(s), > d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp, line > 17 > > 0x00007FFC76417BD4 (0x0000000000000000 0x0000000000000000 > 0x0000000000000000 0x0000000000000000), BaseThreadInitThunk() + 0x14 > bytes(s) > > 0x00007FFC7746CED1 (0x0000000000000000 0x0000000000000000 > 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s) > > > > Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for > Windows 10 > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://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/20200113/b516fd5b/attachment.html>
Stefan Gränitz via llvm-dev
2020-Jan-14 16:46 UTC
[llvm-dev] clang interpreter failed to materialize symbols
Hi Igor, not sure if that will work, but have you tried lli -jit-kind=orc-lazy ? The default is still MCJIT: https://github.com/llvm/llvm-project/blob/master/llvm/tools/lli/lli.cpp#L88 On 13/01/2020 19:07, David Blaikie via llvm-dev wrote:> (+Lang for JIT/interpreter questions) > > On Sun, Jan 5, 2020 at 5:00 PM Igor Gomon via llvm-dev > <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: > > Hello, > > > > I am new to LLVM and what I am trying to do is to get a very > simple “hello-world” C++ program to compile to LLVM IR and then to > run it using lli tool. > > So here is the program code (hello.cpp): > > #include <iostream> > > int main (int argc, char *argv[]) > > { > > std::cout << "Hello World!\n"; > > return 0; > > } > > Below are the steps I do to achieve that goal: > > 1. clang++.exe hello.cpp -S -emit-llvm -o hello.ll (produces > hello.ll about 307KB in size) > 2. llvm-link.exe hello.ll -o hello.bc (produces the bit-code file > about 79KB in size). > 3. lli.exe hello.bc (terminates with a segmentation fault). The > dump is below. > > > > I understand that some symbols are not loaded (C++ standard > library symbols). I am not sure how I can specify the location of > those symbols to lli tool (I tried –extra-object option but no > effect). > > Could someone please let me know what am I missing or doing wrong? > > Any help is greatly appreciated!!! > > > > -- > > Thanks, > > Igor > > > > Stack dump: > > 0. Program arguments: > C:\dev\llvm-project\build\Debug\bin\lli.exe .\hello.bc > > 0x0000000000000000 (0x0000000000000010 0xCCCCCCCCCCCCCCCC > 0x000000575B18D640 0x00007FF68DEF6186) <unknown module> > > 0x000001AF8A3004F6 (0xCCCCCCCCCCCCCCCC 0x000000575B18D640 > 0x00007FF68DEF6186 0x000001AF8A4B0000) <unknown module> > > 0x0000000000000010 (0x000000575B18D640 0x00007FF68DEF6186 > 0x000001AF8A4B0000 0xFFFFFFFFFFFFFFFE) <unknown module> > > 0xCCCCCCCCCCCCCCCC (0x00007FF68DEF6186 0x000001AF8A4B0000 > 0xFFFFFFFFFFFFFFFE 0x000000575B18D6A0) <unknown module> > > 0x000000575B18D640 (0x000001AF8A4B0000 0xFFFFFFFFFFFFFFFE > 0x000000575B18D6A0 0x000001AF8A300032) <unknown module> > > 0x00007FF68DEF6186 (0x000001AF8A85B410 0x000000575B18D678 > 0xCCCCCCCCCCCCCCCC 0x000001AF8A4B0000), > std::_Construct_in_place<std::_Container_proxy,std::_Container_base12 > *>() + 0x56 bytes(s), C:\Program Files (x86)\Microsoft Visual > Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\xmemory, > line 205 > > 0x00007FF68DEF45E8 (0x0000000000000000 0x000000005B18D6B1 > 0xFFFFFFFFFFFFFFFE 0x000000575B18DB80), > std::_Container_base12::_Alloc_proxy<std::allocator<std::_Container_proxy> > >() + 0x58 bytes(s), C:\Program Files (x86)\Microsoft Visual > Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\xmemory, > line 1100 > > 0x00007FF68DF36634 (0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC > 0xCCCCCCCCCCCCCCCC 0x0000000000000001), > std::vector<llvm::GenericValue,std::allocator<llvm::GenericValue> > >::vector<llvm::GenericValue,std::allocator<llvm::GenericValue> > >() + 0x54 bytes(s), C:\Program Files (x86)\Microsoft Visual > Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\vector, > line 446 > > 0x00007FF68E06B048 (0x000001AF8A6A3058 0x0000000000000001 > 0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC), > llvm::APInt::getZExtValue() + 0x28 bytes(s), > C:\dev\llvm-project\llvm\include\llvm\ADT\APInt.h, line 1589 + 0xA > byte(s) > > 0x00007FF68ED9E0F0 (0x000001AF8A563310 0x000000575B18DB88 > 0x000001AF8A583F18 0x000000575B18DBC0), llvm::MCJIT::runFunction() > + 0x480 bytes(s), > C:\dev\llvm-project\llvm\lib\ExecutionEngine\MCJIT\MCJIT.cpp, line > 550 + 0x16 byte(s) > > 0x00007FF68EC09680 (0x000001AF8A563310 0x000001AF8A583F18 > 0x00007FF6920964A0 0x000001AF8A532460), > llvm::ExecutionEngine::runFunctionAsMain() + 0x410 bytes(s), > C:\dev\llvm-project\llvm\lib\ExecutionEngine\ExecutionEngine.cpp, > line 470 + 0x65 byte(s) > > 0x00007FF68DEE4200 (0x0000000000000002 0x000001AF8A5515B0 > 0x000001AF8A532460 0x00007FF6909C0A7D), main() + 0x1D10 bytes(s), > C:\dev\llvm-project\llvm\tools\lli\lli.cpp, line 614 + 0x4D byte(s) > > 0x00007FF6909C1A29 (0x00007FF690C2C000 0x00007FF690C2FE30 > 0x0000000000000000 0x0000000000000000), invoke_main() + 0x39 > bytes(s), > d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl, > line 79 > > 0x00007FF6909C190E (0x0000000000000000 0x0000000000000000 > 0x0000000000000000 0x0000000000000000), __scrt_common_main_seh() + > 0x12E bytes(s), > d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl, > line 288 + 0x5 byte(s) > > 0x00007FF6909C17CE (0x0000000000000000 0x0000000000000000 > 0x0000000000000000 0x0000000000000000), __scrt_common_main() + 0xE > bytes(s), > d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl, > line 331 > > 0x00007FF6909C1AB9 (0x0000000000000000 0x0000000000000000 > 0x0000000000000000 0x0000000000000000), mainCRTStartup() + 0x9 > bytes(s), > d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp, > line 17 > > 0x00007FFC76417BD4 (0x0000000000000000 0x0000000000000000 > 0x0000000000000000 0x0000000000000000), BaseThreadInitThunk() + > 0x14 bytes(s) > > 0x00007FFC7746CED1 (0x0000000000000000 0x0000000000000000 > 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + > 0x21 bytes(s) > > > > Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> > for Windows 10 > > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > > _______________________________________________ > 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/20200114/8311ab37/attachment.html>
Reasonably Related Threads
- clang interpreter failed to materialize symbols
- clang interpreter failed to materialize symbols
- Longstanding failing tests - clang-tidy, MachO, Polly
- Assertion fail/crash in X86FrameLowering::GetFrameIndexReference SEH
- Assertion fail/crash in X86FrameLowering::GetFrameIndexReference SEH