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.

Reply via email to