[vmkit-commits] VMKit AOT Compilation Error

Will Dietz willdtz at gmail.com
Thu Jul 15 10:51:55 PDT 2010


Hi all,

I'm trying to use the AOT compilation feature of VMKit, and am
struggling to compile glibj to native code.

I'm working on Mac OS X x86, and have tried both VMkit-2.7 with
LLVM-2.7 as well as TOT of both, and both cases yield:

make ENABLE_OPTIMIZED=1 REQUIRES_FRAME_POINTER=1
llvm[0]: Compiling glibj.zip to llvm
llvm[0]: Optimizing glibj.zip
llvm[0]: Compiling glibj.zip.bc to native
i64 zext (i32 add (i32 ptrtoint ([4 x i32 (...)*]* @261 to i32), i32 1) to i64)
  FIXME: Don't support this constant expr
  UNREACHABLE executed at
/Users/wdietz2/llvm/tot/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1268!
  0  llc               0x00000001009f9582 PrintStackTrace(void*) + 34
  1  llc               0x00000001009fa223 SignalHandler(int) + 707
  2  libSystem.B.dylib 0x00007fff83bc935a _sigtramp + 26
  3  llc               0x0000000100cf9840 llvm::dbgs()::thestrm + 0
  4  llc               0x00000001009d654d
llvm::llvm_unreachable_internal(char const*, char const*, unsigned
int) + 381
  5  llc               0x00000001005cf0a7 LowerConstant(llvm::Constant
const*, llvm::AsmPrinter&) + 2631
  6  llc               0x00000001005ce8bd LowerConstant(llvm::Constant
const*, llvm::AsmPrinter&) + 605
  7  llc               0x00000001005cfa7c
EmitGlobalConstantImpl(llvm::Constant const*, unsigned int,
llvm::AsmPrinter&) + 2092
  8  llc               0x00000001005d0e90
EmitGlobalConstantArray(llvm::ConstantArray const*, unsigned int,
llvm::AsmPrinter&) + 80
  9  llc               0x00000001005cf562
EmitGlobalConstantImpl(llvm::Constant const*, unsigned int,
llvm::AsmPrinter&) + 786
  10 llc               0x00000001005d1569
llvm::AsmPrinter::EmitGlobalVariable(llvm::GlobalVariable const*) +
1129
  11 llc               0x00000001005d21bf
llvm::AsmPrinter::doFinalization(llvm::Module&) + 79
  12 llc               0x0000000100978986
llvm::FPPassManager::runOnModule(llvm::Module&) + 246
  13 llc               0x000000010097a3dc
llvm::MPPassManager::runOnModule(llvm::Module&) + 604
  14 llc               0x000000010097a6d3
llvm::PassManagerImpl::run(llvm::Module&) + 163
  15 llc               0x000000010097a7ad
llvm::PassManager::run(llvm::Module&) + 13
  16 llc               0x000000010001e980 main + 2928
  17 llc               0x000000010001d3b8 start + 52
  Stack dump:
  0.      Program arguments:
/Users/wdietz2/llvm/tot/llvm-objects/Release+Asserts/bin/llc
-relocation-model=pic -disable-fp-elim glibj-optimized.zip.bc -o
glibj.zip.s
  1.      Running pass 'Function Pass Manager' on module
'glibj-optimized.zip.bc'.
  make: *** [glibj.zip.s] Abort trap

I also get this error even if I skip the optimization step (run
similar llc command on just glibj.bc), for whatever that's worth.

Any thoughts on what might be wrong or where I might look to fix it?
Anyone else seeing this?

Thanks for your time,

~Will Dietz



More information about the vmkit-commits mailing list