Richard Pennington
2014-Sep-26 10:38 UTC
[LLVMdev] A new ELLCC binary snapshot is available
A new binary snapshot of the ELLCC cross compilation tool chain (http://ellcc.org) is available from ftp://ellcc.org/pub. The tool chain is built around clang/LLVM, libc++ and libc++abi, the musl standard C library, compiler-rt, and GNU binutils and gdb. This version uses configuration scripts to tell the compiler how to compile and link programs. An example from ~/ellcc/libecc/config: cat ~/ellcc/libecc/config/arm-linux-engeabi: based_on: arm-ellcc-linux compiler: options: - -target arm-ellcc-linux - -march=armv7a - -mfpu=none - -mfloat-abi=softfp linker: static_crt1: $R/lib/arm-linux-engeabi/crt1.o dynamic_crt1: $R/lib/arm-linux-engeabi/Scrt1.o crtbegin: $R/lib/arm-linux-engeabi/crtbegin.o crtend: $R/lib/arm-linux-engeabi/crtend.o library_paths: - -L $R/lib/arm-linux-engeabi: An example command line to compile for a specific target: ~/ellcc/bin/ecc -target arm-linux-engeabi -o hello hello.c From the README.txt file: The files in this directory contain pre-compiled versions of the ELLCC cross compiler tool chain. Each tarball is meant to run on a specific target Linux system as indicated by the name, e.g. ellcc-arm-... are executables that are supposed to run on an little endian ARM Linux box. -target Endian Float armeb-linux-engeabi Big Soft armeb-linux-engeabihf Big Hard arm-linux-engeabi Little Soft arm-linux-engeabihf Little Hard i386-linux-eng Little Hard mipsel-linux-eng Little Hard mipsel-linux-engsf Little Soft mips-linux-eng Big Hard mips-linux-engsf Big Soft ppc-linux-eng Big Hard x86_64-linux-eng Little Hard All of the executables in these tarballs are statically linked, so they should run on any reasonably recent Linux box. Tarball contents: C/C++ compiler (ecc, ecc++) Assemblers for all targets GNU binutils compiled to support all targets. GDB compiled to support all the targets. All of the tarballs contain header files and runtime libraries for all the targets so you should be able to build for any one of the targets [1]. These tarballs have not been tested, except for the arm, i386 and x86_64 versions, because I don't have access to Linux boxes running on the other targets yet. I would welcome feedback on how they work for you. To use the tarball: tar xvfpz <path to your tarball> This will create a directory called "ellcc" that will have all the files you need to use ELLCC on the target system. If you have any problems, please post on the ELLCC forum: http://ellcc.org/blog/?forum=forum Please visit http://ellcc.org for more information. Have fun! -Rich [1]: The ARM versions of the executables currently can only target ARM processors because the ecc compiler became too large to be statically linked when all processors were supported. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140926/b3d18867/attachment.html>