I would like to run RxCpp example in llvm's IR interpreter lli
.
Unfortunately, running any of the RxCpp examples fails in lli:
git clone https://github.com/Reactive-Extensions/RxCpp.git --depth 1
cd RxCpp/Rx/v2/examples/pythogerian
clang++ -S -emit-llvm -fno-use-cxa-exit -I../../src main.cpp
lli main.ll
error-message:
Relocation type not implemented yet!
UNREACHABLE executed at llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp:232!
Questions:
What does this error exactly mean ? - what assumptions are made within llvm's orc-jit that are not satisfied ?
Is there a workaround ? - are there any LLVM-IR transformations i can apply to make this work(e.g. through a compiler-flag) ?
What special features is RxCpp using that cause this problem in llvm's orcjit ?
tested on:
clang version 5.0.0 (https://github.com/llvm-mirror/clang.git 6c9e299494de2a5b0425e46bc937f29a05128252)
clang version 4.0.0-+rc1-1 (tags/RELEASE_400/rc1)
clang version 3.9.0-1 (tags/RELEASE_390/final)
clang version 3.8.1-12 (tags/RELEASE_381/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin