[LLVMdev] clang/LLVM cross testing environment

Richard Pennington rich at pennware.com
Mon Jan 17 02:30:12 PST 2011


Hi,

I've been working on combining LLVM, clang, the NetBSD standard C 
library, compiler-rt, QEMU, GDB, and GNU binutils as a cross compilation 
environment. My goal is to target small embedded systems, but I think 
that what I'm working on may be of interest to other LLVM/clang 
developers as I have been able to use the environment to fix several 
code generation issues in LLVM.

As of today, I can compile non-trivial programs for ARM, i386, Mips, 
Microblaze, PowerPC, PowerPC64, and X86_64. These programs can be run 
with the modified NetBSD C library under QEMU in Linux user space 
emulation mode on my X86_64 Linux box. If anyone is interested in trying 
it out it is at http://ellcc.org.

Some important notes:
* I have built this on a X86_64 Linux system only. Linux is required to 
get the QEMU Linux user mode support.
* The SVN checkout is huge, since it has everything mentioned above in it.
* This is a work in progress: There are things that don't work. Not for 
the faint of heart!
* It is fairly easy to build the complete package, see 
http://ellcc.org/installation.html and http://ellcc.org/targetsupport.html
* Not all of the NetBSD standard library has been ported. There are a 
lot of system calls, etc. that have not been tested. I've been adding 
things as needed, not in any systematic way.
* It is currently based on a fairly recent version of LLVM/clang: r122956.
* Processor support is currently limited to those that are supported by 
QEMU, just because I wanted to have a common run/debug environment.

Feel free to check it out.

-Rich




More information about the llvm-dev mailing list