Ok here some step-by-step testcase:
THIS IS "main.cpp":
#include <vector>
#include <string>
#include <iostream>
int main(int argc, char** argv)
{
std::vector<std::string> args;
for (int i = 0; i < argc; i++)
{
args.emplace_back(argv[i]);
}
std::cout << "Hello World!" << std::endl;
return 0;
}
NOW COMPILE
/home/natalie/Documents/emscripten/em++ -std=c++11 main.cpp -o main.js
/home/natalie/Documents/emscripten/em++ -std=c++11 main.cpp -o main.ll
/home/natalie/Documents/fastcomp/build/Release/bin/llvm-link ./main.ll
~/.emscripten_cache/libcxx.bc -o main.bc
/home/natalie/Documents/fastcomp/build/Release/bin/lli ./main.bc
RESULT:
Node-JS does on "main.js" what it should...
LLI crashes with:
/home/natalie/Documents/fastcomp/build/Release/bin/lli ./main.bc
0 lli 0x0000000000ce5992 llvm::sys::PrintStackTrace(_IO_FILE*)
+ 34
1 lli 0x0000000000ce5619
2 libpthread.so.0 0x00007fe98441a030
3 lli 0x00000000008a5840
llvm::MachineJumpTableInfo::getEntrySize(llvm::DataLayout const&) const + 0
4 lli 0x000000000084d1c3
5 lli 0x0000000000854d53
6 lli 0x000000000059b60f
7 lli 0x0000000000c85fff
llvm::FPPassManager::runOnFunction(llvm::Function&) + 607
8 lli 0x0000000000c860dc
llvm::FunctionPassManagerImpl::run(llvm::Function&) + 124
9 lli 0x0000000000c861cd
llvm::FunctionPassManager::run(llvm::Function&) + 109
10 lli 0x00000000008468f7
llvm::JIT::jitTheFunction(llvm::Function*, llvm::MutexGuard const&) + 39
11 lli 0x0000000000846eef
llvm::JIT::runJITOnFunctionUnlocked(llvm::Function*, llvm::MutexGuard
const&) + 15
12 lli 0x0000000000847049
llvm::JIT::getPointerToFunction(llvm::Function*) + 265
13 lli 0x0000000000855cef
14 lli 0x000000000059b60f
15 lli 0x0000000000c85fff
llvm::FPPassManager::runOnFunction(llvm::Function&) + 607
16 lli 0x0000000000c860dc
llvm::FunctionPassManagerImpl::run(llvm::Function&) + 124
17 lli 0x0000000000c861cd
llvm::FunctionPassManager::run(llvm::Function&) + 109
18 lli 0x00000000008468f7
llvm::JIT::jitTheFunction(llvm::Function*, llvm::MutexGuard const&) + 39
19 lli 0x0000000000846eef
llvm::JIT::runJITOnFunctionUnlocked(llvm::Function*, llvm::MutexGuard
const&) + 15
20 lli 0x0000000000847049
llvm::JIT::getPointerToFunction(llvm::Function*) + 265
21 lli 0x0000000000854aee
22 lli 0x000000000062ef4f
23 lli 0x000000000062eb2a X86CompilationCallback + 74
Stack dump:
0. Program arguments:
/home/natalie/Documents/fastcomp/build/Release/bin/lli ./main.bc
1. Running pass 'X86 Machine Code Emitter' on function
'@_ZNSt3__18ios_base4InitC2Ev'
2. Running pass 'X86 Machine Code Emitter' on function
'@_ZNSt3__16localeC2Ev'
Segmentation fault
--
You received this message because you are subscribed to the Google Groups
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.