Ehem, ARM
Chris
wendlec at tcd.ie
Mon Nov 25 03:32:55 PST 2013
On Monday, 25 November 2013 at 10:38:24 UTC, Joakim wrote:
> On Friday, 22 November 2013 at 18:01:44 UTC, Joakim wrote:
>> I spent some time setting up the appropriate VMs and looking
>> at the relevant Android dev tools myself. It appears that the
>> Android NDK uses a lightly patched version of stock llvm/clang
>> 3.3, along with the gold linker. Their patches are available
>> online:
>>
>> https://android.googlesource.com/toolchain/llvm/+log/release_33
>> https://android.googlesource.com/toolchain/clang/+log/release_33
>>
>> Their llvm is the same as llvm 3.3 until commit ce33750 and
>> clang is the same until commit 20c7d45. The stock llvm/clang
>> 3.3 have some limited support for Android, not much. I'm
>> going to start going through those patches next.
>>
>> Since there are only about 50-100 llvm/clang patches, many of
>> them architecture-specific and so not necessary, this suggests
>> that the Android ABI is not that different from linux.
> Alright, went through all the Android llvm/clang patches and
> there's little of significance. They hardcode two clang
> options for android/x86, -mstackrealign and -msse3, add a few
> tweaks for ARM, and that's about it. Most of the patches are
> for some other NDK work by MediaTek, which don't appear to be
> used by the official Android NDK.
>
> I was able to compile an identical stripped shared library from
> the samples just by using the stock clang 3.3 that's installed
> in Arch linux, once I added the two hardcoded flags in with the
> rest of the flags their makefiles generate, so you really don't
> even need to use their compiler, at least for Android/x86.
>
> Next step, get dmd to do the same with a "hello world" native
> Android app. I'll update this thread as I go, for anyone who's
> interested.
Thanks, I'm interested.
More information about the Digitalmars-d
mailing list