ELLCC

ELLCC - The Embedded LLVM Compiler Collection

Home
Blog
News
Documentation
Installation
Target Support
Bug Database
Source Repository
Contact

The ELLCC project is supported by Pennington Software

ELLCC is a project to using Clang and the  LLVM (Low Level Virtual Machine) compiler infrastructure. The primary emphasis of the ELLCC project is to create an easy to use multi-target cross compilation environment for embedded systems.

QEMU is used for cross-platform testing. Programs are built for the target as a Linux user space program and run under QEMU for testing purposes.

ELLCC is in a pre-release state. Some targets are farther along than others. Not for the unhardy!

Goals

  • A functional C/C++ compiler based on Clang  (ecc)
  • Multi-target support: ARM, i386, Microblaze, Mips, Nios2[2], PowerPC, PowerPC64, Sparc[1] and X86_64
  • Multi-OS support: Linux, NetBSD, Standalone, ...
  • Notes

Components

  • ecc - The ELLCC C/C++ compiler
  • binutils - The GNU binutils package
  • libecc - The C standard library based on the NetBSD standard C library and the LLVM project's compiler-rt
  • The GDB debugger
  • The QEMU emulator


[1] The standard C library does not compile.
[2] The code generator is unfinished.