ELLCC 2017-07-29 Released

A new binary release of the ELLCC cross compilation tool chain is available.
ELLCC is a pre-packaged set of tools designed to support cross compilation
for a variety of target processors.

All programs developed using ELLCC are covered by BSD and BSD-like licenses.

Major features of this release include:

  • Shared libraries fully supported.
  • Replaced ncurses with the NetBSD curses as provided by sabotage Linux
  • New ellcc command supports binary updates, installing source code, and building ELLCC from source.

More information is in the ChangeLog.

Binary tarballs are available from here.

The tool chain can build programs for ARM, Mips, PowerPC, and x86 Linux and
stand-alone targets. All host systems can build programs for all the supported targets.

The ELLCC run-time libraries are available pre-built for all targets and
are all covered with BSD-like licenses:

  • libc++ The C++ standard library
  • musl The POSIX compliant C library
  • compiler-rt Low level compiler support
  • expat XML parsing
  • libedit Command history
  • curses Terminal handling
  • zlib Compression/decompression
  • curl URL syntax data transfer
  • mbed TLS Transport Layer Security
  • c-ares Asynchronous DNS
  • libssh2 Client side SSH2
  • libmetalink Metalink support

ELLCC is entirely self hosting.

12 thoughts on “ELLCC 2017-07-29 Released

  1. Viktor

    Hello Rich, I noticed that you’ve released new version of your crosscompiler toolkit, and noticed this:
    ellcc-mips32r2-linux-2017-07-29.bz2
    1) did I understand correctly that this version should run on my mips-android oldie host as on native linux machine ? Why I am asking – I have tried to run un-bzip2-ed binary and got this:
    /tmp/usbmounts/sda5/busybox # ./ellcc-mips32r2-linux-2017-07-29
    ./ellcc-mips32r2-linux-2017-07-29: line 1: ellcc/0000775000175000017500000000000013137166070010602: not found
    ./ellcc-mips32r2-linux-2017-07-29: line 6: syntax error: unexpected “(”

    2) Did you try to compile tcsh (version 6.20.0 is current one) with new released toolkit of yours? If you have new tcsh binaries made with latest toolkit – can you post them for me, I’ll try to run mipsel version on that device ?:)
    -Viktor

    Reply
    1. rich Post author

      Hi Victor?

      Did you try to install it with:
      tar xvfp ellcc-mips32r2-linux-2017-07-29.bz2
      ?
      You should get an ellcc/bin directory and ellcc/bin/ecc should work.

      -Rich

      Reply
      1. tMH

        Looks like my idea to run toolkit natively on ICONBIT (mipsel android box from 201x, as you remember) was wrong:
        /tmp/usbmounts/sda5/busybox/new.ellcc # ./ellcc
        -sh: ./ellcc: not found
        hehe:) OK, let’s close THIS topic (delete it or what?), I still have questions with ssh/ssh2 compile AND joe cursor keys 🙂

        Reply
      2. tMH

        BTW, what about tcsh-6.20 compiled with new released toolkit ? Can you, please, post compiled binaries, so I’ll check them out ? Thanks in advance!
        -V

        Reply
      3. tMH

        Another one, I compiled tcsh-6.20 shell with now-old toolkit (still waiting for ssh/ssh2 new toolkit solution), and interesting one what I get.
        The binary info:
        dev@rd2 ~/tcsh-6.20.00 $ file tcsh
        tcsh: ELF 32-bit LSB executable, MIPS, MIPS32 rel2 version 1, statically linked, BuildID[sha1]=c0aa0396b53922317adbce8d700f50d5d6985d11, not stripped

        Trying to run it on ICONBIT:
        /tmp/usbmounts/sda5/busybox # ./tcsh
        (nil) current memory allocation:
        free: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
        used: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
        Total in use: 0, total free: 0
        Allocated memory from 0x4ae000 to 0xffffffff. Real top at 0x4ae000
        nbytes=64: Out of memory
        Aborted (core dumped)

        — as you see there is no more ‘exit’ as we’ve seen before, but this new output…
        In other hand, compiled bash binary gives this on run try:
        /tmp/usbmounts/sda5/busybox # ./bash
        bash: xmalloc: locale.c:81: cannot allocate 18 bytes (0 bytes allocated)
        Heck, I am still waiting to compile whole new ellcc toolkit to get all the stuff recompiled, and then try to run ’em on ICONBIT !:)
        -V

        Reply
  2. tMH

    back to my nick:) I’m trying to build ellcc-x86_64-linux-2017-07-29, and then try to compile tcsh with it.
    btw, yesterday I did compile JOE editor and its been able to run on ICONBIT!:) One thing – cursor keys are not working completely – ^[[B^[[D^[[C (C) 1999-2003 – etc. Anyway, I’m building current ellcc version now.

    Reply
  3. tMH

    Stopped ‘whole’ building, re-run it in this way:
    dev@rd2 ~/new.ellcc $ ./ellcc build mips32r2el-linux
    waiting:)
    Btw, Rich, can you – please – add “edit own comments” functionality to this wordpress stuff ? It’ll be much better to erase some wrong info and then replace it with correct one…

    Reply
    1. rich Post author

      I’ll take a look at the ssh failure.
      By the way, the forum may be a better place for these kinds of questions.

      -Rich

      Reply
  4. tMH

    Rich, any news so far ? I still want to build fresh ellcc toolkit, yet I am very interested in ncurses fix, and – while I am waiting – can you, please, put new tcsh-1.60 compiled binaries so I’ll test them on ICONBIT device? Thank in advance !!

    Reply

Leave a Reply

Your email address will not be published.