[Openmp-dev] Trying to cross-compile the runtime for Android

Débora Setton Sanches setton.debora at gmail.com
Mon Jul 20 05:49:19 PDT 2015


Hi,

Sorry for the delay; here is my update on this issue: I believe the patch
that was submitted works... as far as I could tell.

I got the runtime to compile, after tweaking a CMake-generated file
(build/src/CMakeFiles/omp.dir/link.txt) to link correctly, but I wasn't
able to run it, because Android's standard C library (Bionic) is missing
some basic functions on which the runtime depends, such as "catclose".

Still trying to figure out where to go from here (using musl (
http://www.musl-libc.org/) instead of Bionic seems to be an option), so
this is what I have so far.

--
Débora.

On Fri, Jul 17, 2015 at 1:58 PM, Débora Setton Sanches <
setton.debora at gmail.com> wrote:

> Hi Jonathan,
>
> Thanks! I'll test it out and get back to you.
>
> --
> Débora.
>
> On Fri, Jul 17, 2015 at 1:31 PM, Peyton, Jonathan L <
> jonathan.l.peyton at intel.com> wrote:
>
>>  Débora,
>>
>>
>>
>> I’ve submitted a small patch here: http://reviews.llvm.org/D11301 which
>> gets rid of the libffi dependency.  It would be great if you could test
>> this patch out as well since I have no access to non-x86 architectures.
>> Also, because I have no access to non-x86 architectures, the rest of the
>> necessary changes for a port to Android would need to come from the
>> external community since I have no way of testing this platform.  Good luck
>> though.
>>
>>
>>
>> -- Johnny
>>
>>
>>
>> *From:* desetton at gmail.com [mailto:desetton at gmail.com] *On Behalf Of *Débora
>> Setton Sanches
>> *Sent:* Friday, July 17, 2015 6:44 AM
>> *To:* Peyton, Jonathan L
>> *Cc:* openmp-dev at dcs-maillist2.engr.illinois.edu
>> *Subject:* Re: [Openmp-dev] Trying to cross-compile the runtime for
>> Android
>>
>>
>>
>> On Thu, Jul 16, 2015 at 10:50 PM, Peyton, Jonathan L <
>> jonathan.l.peyton at intel.com> wrote:
>>
>>  > Is it possible to cross-compile the OpenMP runtime for Android
>> (running on armhf)?
>>
>> >
>>
>> > By "is it possible", I mean: has anyone ever done it and could help me
>> with an overview of the process? Or, if not, I'm also trying to >figure out
>> if it's worth trying at all, or if I'm going to hit a wall somewhere down
>> the path that you may already be aware of, but I'm not.
>>
>>
>>
>> I have no idea.  You’re the first person to bring it up on this forum J.
>> If compiling it for Android is as simple as compiling it for ARM then
>> maybe, but I honestly am not sure what obstacles exist.
>>
>>
>>
>>  Ha.. This is going to be fun, then. :)
>>
>>
>>
>>  The libffi dependency is a relic from the first port of the runtime to
>> the arm architecture.  Since then, there has been a contribution by Carlo
>> Bertolli from IBM that eliminated this dependency for non-x86
>> architectures, but the ARM architecture builds were never changed to use
>> it.  I can change this for you since it needs to be done anyways.
>>
>>
>>
>>  That would be a big help!
>>
>>
>>
>>  -- Johnny
>>
>>
>>
>> *From:* openmp-dev-bounces at cs.uiuc.edu [mailto:
>> openmp-dev-bounces at cs.uiuc.edu] *On Behalf Of *Débora Setton Sanches
>> *Sent:* Thursday, July 16, 2015 8:17 PM
>> *To:* openmp-dev at dcs-maillist2.engr.illinois.edu
>> *Subject:* [Openmp-dev] Trying to cross-compile the runtime for Android
>>
>>
>>
>> Hi,
>>
>>
>>
>> Is it possible to cross-compile the OpenMP runtime for Android (running
>> on armhf)?
>>
>>
>>
>> By "is it possible", I mean: has anyone ever done it and could help me
>> with an overview of the process? Or, if not, I'm also trying to figure out
>> if it's worth trying at all, or if I'm going to hit a wall somewhere down
>> the path that you may already be aware of, but I'm not.
>>
>>
>>
>> This is what I have so far:
>>
>>
>>
>> I have successfully cross-compiled the RTL for the same hardware but with
>> Ubuntu as OS. For that, I used arm-linux-gnueabihf toolchain for Debian (my
>> host OS), but I also had to install libffi-dev:armhf, as it's a dependency.
>> In the end, it worked great.
>>
>>
>>
>> For Android, I was thinking of trying something similar. I already have a
>> cross-compiler for Android (the toolchain provided with Android NDK), but
>> there is no "libffi-dev:android-eabi" or something like that. I *could *try
>> building ffi, but I'm wondering if I won't end up having a lot of similar
>> dependencies to build (assuming I get ffi to even build).
>>
>>
>>
>> Any thoughts on what I'm trying to accomplish are welcome -- any thoughts
>> at all :)
>>
>>
>>
>> Thanks.
>>
>>
>>
>> --
>>
>> Débora.
>>
>>
>>
>>
>>
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20150720/d121eb6a/attachment.html>


More information about the Openmp-dev mailing list