Problems with arm64v8 binary distribution

Home Forums Forum Problems with arm64v8 binary distribution

This topic contains 2 replies, has 2 voices, and was last updated by  Jimmy 6 years, 7 months ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #79867

    Jimmy

    I have encountered two problems with the arm64v8 binary distribution.

    1) All of the tools (curl, tput, etc.) in ellcc/bin are linked to /home/rich/ellcc-host/ellcc/libecc/lib/arm64v8-linux/libc.so. They do not run unless I symlink the location to libc.so.

    2) Whenever I try to compile a binary, for example

    #include <stdio.h>

    int main(){
    printf(“Hello world”);
    return 9;
    }

    I get this error message:
    /data/data/com.termux/files/home/simplus/ellcc/bin/ecc-ld: skipping incompatible /data/data/com.termux/files/home/simplus/ellcc/libecc/lib/arm64v8-linux/libc.so when searching for -lc /data/data/com.termux/files/home/simplus/ellcc/bin/ecc-ld: skipping incompatible /data/data/com.termux/files/home/simplus/ellcc/libecc/lib/arm64v8-linux/libc.a when searching for -lc /data/data/com.termux/files/home/simplus/ellcc/bin/ecc-ld: cannot find -lc /data/data/com.termux/files/home/simplus/ellcc/bin/ecc-ld: skipping incompatible /data/data/com.termux/files/home/simplus/ellcc/libecc/lib/arm64v8-linux/libcompiler-rt.a when searching for -lcompiler-rt /data/data/com.termux/files/home/simplus/ellcc/bin/ecc-ld: cannot find -lcompiler-rt

    which is saying the libraries in libecc are incompatible. I am building this on an android phone in termux.

    I can rebuild the musl libc.a with clang in ellcc, and link the library path of the new musl, however,compiler-rt is a pain to build. Is there a workaround for this?

    I have also tried compiling this in a linux chroot on the phone, but get the same message

    #79870

    rich
    Keymaster

    Hi Jimmy,

    #1 should be fixed when you run ./ellcc install in the toplevel ellcc directory after you untar the tarball.
    #2 was a real problem. I had a bug in the binary distribution script that packaged x86_84 libraries for all the non-x86_64 tarballs. Sorry about that.

    You can build compiler-rt by running “scripts/build-compiler-rt -cpCbi”
    “cpCbi” means “checkout patch Configure build install”.

    I put a prerelease of the next version at http://ellcc.org/prerelease/
    Could you give that a try? Unfortunately I don’t have a 64 bit arm system handy.

    Thanks for your input!

    -Rich

    #79873

    Jimmy

    Hello Rich,

    The prerelease build works perfectly on arm64.

    Thanks a ton and thanks for creating ellcc!

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.