Comment 10 for bug 600278

Revision history for this message
In , Xerxes RĂ„nby (xranby) wrote :

llvm/lib/System/Unix/Host.inc contain this switch at LLVM compiletime:

  // FIXME: We need to pick the right ARM triple (which involves querying the
  // chip). However, for now this is most important for LLVM arch selection, so
  // we only need to make sure to distinguish ARM and Thumb.
# if defined(__thumb__)
  Arch = "thumb";
# else
  Arch = "arm";
# endif

This makes llvm use the thumb JIT backend by default when compiling with a thumb toolchain, unfortunally the thumb jit backend are not implemented, see http://llvm.org/bugs/show_bug.cgi?id=6223 and thats why you are hitting this bug.

you can pass -march=arm or -mtriple=arm to the JIT at runtime to force llvm to use the implemented ARM JIT