[Tutorial][Binaries] gdc for android

Nick Sabalausky a at a.a
Sat Feb 4 13:06:15 PST 2012


"Johannes Pfau" <nospam at example.com> wrote in message 
news:20120204203109.26c9a80b at jpf-laptop...
> Hi,
> I tried to rebuild the android ndk with gdc and documented the build
> process at https://bitbucket.org/goshawk/gdc/wiki/GDC%20on%20Android
>
> The tutorial explains how to build a gdc cross compiler for android. It
> uses GCC 4.6.2, a recent binutils snapshot and additionally provides a
> recent gdb 7.4.
>
> 32bit linux binaries are also available here:
> http://www.mediafire.com/?2cex2faqx327l
> Download the android ndk r7 and extract the gdc 7z file in
> android-ndk-r7/toolchains/
>
> What's working:
> I couldn't test the compiler yet and I hope someone else will provide
> feedback, but the basic gdc compiler should work. druntime may or may
> not work, but it's distributed so that can be tested.
> Phobos is not being built yet.
>
> Known bugs/TODO:
>
> You need to build all D code with -fno-section-anchors, see
> https://bitbucket.org/goshawk/gdc/issue/120/fsection-anchors-broken-on-arm
>
> build-druntime.patch needs to be integrated with gdc. See
> https://gist.github.com/1739039
> There are basically 3 things this patch does:
> * Currently gdc checks for __libc_stack_end as that's used by
>  druntime. This function is only available in glibc, but bionic
>  provides a similar function: __get_stack_base. The patch currently
>  simply replaces __libc_stack_end. We need some way to detect if we
>  build for bionic, so we can properly version this code. It should
>  also be tested to verify it is working correctly
> * Building gcc/config/unix.d fails, so the patch simply skips that
>  file. This should be investigated further and fixed correctly.
> * Disables phobos for now, although I think I just disabled building the
>  final library and the object files are still being built.
>
> gdbserver is not being built for some reason. Had no time to
> investigate that yet.

Awesome! I look forward to giving it a try.




More information about the D.gnu mailing list