mailing list of musl libc
 help / color / mirror / code / Atom feed
* A new ELLCC binary snapshot is available
@ 2014-09-26 10:39 Richard Pennington
  2014-10-01 18:00 ` Szabolcs Nagy
  0 siblings, 1 reply; 2+ messages in thread
From: Richard Pennington @ 2014-09-26 10:39 UTC (permalink / raw)
  To: musl

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.


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: A new ELLCC binary snapshot is available
  2014-09-26 10:39 A new ELLCC binary snapshot is available Richard Pennington
@ 2014-10-01 18:00 ` Szabolcs Nagy
  0 siblings, 0 replies; 2+ messages in thread
From: Szabolcs Nagy @ 2014-10-01 18:00 UTC (permalink / raw)
  To: musl

* Richard Pennington <rich@pennware.com> [2014-09-26 05:39:54 -0500]:
> 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.

just tried to compile for a few targets and it works well
(mipssf binaries work now)

it does something silly by default if i don't specify the target
(it could assume target == host, but instead it falls back to
eg. searching for system headers in /usr/include etc)

can it compile dynamic linked executables?
(by assuming /lib/ld-musl-ARCH.so.1 is the loader)


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-10-01 18:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-26 10:39 A new ELLCC binary snapshot is available Richard Pennington
2014-10-01 18:00 ` Szabolcs Nagy

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).