[cfe-dev] clang/LLVM cross testing environment
rich at pennware.com
Mon Jan 17 02:30:12 PST 2011
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.
More information about the cfe-dev