Hi, all
I have a question about how to profile program with LLVM. When I tried
to compile the
instrumented version of program after using "-insert-block-profiling", I got
error complaining
" undefined reference to `llvm_start_block_profiling'.
I found that there is a "runtime"directory in llvm source directory
but in the Makefile, it said
llvm gcc 4 and above already included the libraries. I was using llvm
gcc 4. Why would I
still get the error?
Thanks
Haifeng
Hi Haifeng
I have a question about how to profile program with LLVM. When I tried
to compile the instrumented version of program after using "-insert-block-profiling", I got
error complaining " undefined reference to `llvm_start_block_profiling'.
I found that there is a "runtime"directory in llvm source directory
but in the Makefile, it said llvm gcc 4 and above already included the libraries. I was using llvm
gcc 4. Why would I still get the error?
I experienced the same error on Mac OS X when using the binary distribution of llvm-gcc 4.0 and building llvm from SVN head. It seems that the comment in the Makefile is wrong. I had to explicitly build the runtime using 'make -C runtime install'.
You will also find the utils/profile.pl script useful, which passes profiling options to opt for instrumenting the bytecode and calls lli with the correct arguments and paths for loading the profiling library profile_rt.so (which defines 'llvm_start_block_profiling' etc.)
Best regards,
Christian
Thank for the reply. It works if I link the runtime library manually.
Best,
Haifeng
Thanks. It works if I link the runtime manually.
Haifeng