Could anyone tell me how exactly can one convert a .bc file (bitcode file) to an executable in the native program.
I was trying an instrumentation transform with the following workflow
opt -insert-edge-profiling input.bc -o output.bc
and then try and execute output.bc using
however the program gives the following error : Program used external function ‘llvm_start_edge_profiling’ which could not be resolved!.
Could anyone guide me to the correct workflow for doing such transforms and then executing them?
I was able to figure out this one, by checking out profile.pl.
However, I am still interested in getting to know if there is anyway to compile from bitcode to a normal executable?
Maybe I am missing something obvious… ?
The easiest way is just to invoke clang on the .bc file, since it
clang file.bc -o file
llc will get you native assembly, which you can assemble and link with gcc.
llc file.bc -o file.s && gcc file.s -o file
I couldn't find a way to convince llc to use MC to generate an object
file. In any case, you'll need to invoke the system linker to produce