[LLVMdev] lli interpreter fails to execute external functions

shadowkernel shadowkernel at gmail.com
Tue Aug 23 22:58:25 PDT 2011


Hi all

I compiled LLVM using  ./configure --enable-assertions 
--enable-debug-runtime --enable-debug-symbols --enable-docs 
--enable-shared --enable-libffi --disable-optimized

And then try to execute a .bc file using lli,

${LLVM_HOME}/Debug+Asserts/bin/lli -debug -force-interpreter ./jpegant.bc

It reports :
About to interpret:   %9 = call i8* @memset(i8* %8, i32 0, i32 122)LLVM 
ERROR: Tried to execute an unknown external function: i8* (i8*, i32, 
i32)* memset

Another case:
${LLVM_HOME}/Debug+Asserts/bin/lli -debug -force-interpreter ./jpegtest.bc

It reports:
About to interpret:   %14 = call %struct._IO_FILE* @fopen(i8* %13, i8* 
getelementptr inbounds ([2 x i8]* @.str1, i32 0, i32 0))GEP Index 0 bytes.
LLVM ERROR: Tried to execute an unknown external function: { i32, i8*, 
i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, { \2, \4, i32 }*, \2, 
i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i32, 
i32, [40 x i8] }* (i8*, i8*)* fopen

Previous mails in the maillist suggests turn on --enable-libffi should 
make external function calling to work, but it does not work for me.

on a 32bits Linux 3.0 with LLVM 2.9.

Thanks for any hints!

/Lee



More information about the llvm-dev mailing list