Giter VIP home page Giter VIP logo

Comments (4)

Rupan avatar Rupan commented on August 16, 2024

I think it is unlikely that you will ever get it to compile on Windows. In any case, a Windows-based cross compile is not something I'm willing to support.

Once you've got the Ubuntu 12.04 virtual machine up and running, you'll need to ensure that you have an appropriate build environment. You'll need, at a minimum, build-essential, autotools, and m4.

Then you have to consider the target architecture. Does the NDK specify any required flags for the compiler and/or the linker, as it does for the ARM architecture? What CFLAGS should you use when optimizing the code? Do you build binaries with debugging symbols? Are there multiple MIPS targets (as with ARM, where there are two different ABIs)? Does the GMP platform itself require specific CFLAGS in addition to those specified by Google in the NDK documentation?

Even if you get all of the above questions right, or even close to correct, how do you test and validate the generated binaries? There have been many reported cases where GMP compiles and links cleanly, but generates incorrect results at runtime. They even say so on their website - GMP tends to test the unexplored corners of compiler optimizers, so it is crucial that you find a way to test the shared object prior to distribution.

I guess what I'm saying here is that targeting a new cross-compiled architecture with GMP is not a trivial task. You cannot just take the script from this git repository, replace the toolchain, and expect it to work. I guarantee you that it will not. I will consider doing this work, but it probably won't happen for several weeks at a minimum.

from gmp.

Rupan avatar Rupan commented on August 16, 2024

Initial mips & x86 support has been added under tag bin_5.0.5_r3. Please proceed with caution as these builds have not been tested. If you're able to run them and they work (i.e. they do not crash and they generate correct results), please let me know. I'll leave the issue open in the hopes that you report back.

from gmp.

DeonMarais64 avatar DeonMarais64 commented on August 16, 2024

Hi,
I did a quick test of the x86 binary (VMLite-Android-v4.0.4 under Oracle VM virtual box) using the mpz internal factorial function mpz_fac_ui. It produces the correct result for that function (up to around n = 400000, beyond that the app fails probably due memory contraints. The same happens on my SS Galaxy SIII obviously with the ARM binary). So for the x86 it looks promising.
I don't have the means to test the MIPS binary as I don't have a device running with that processor.

from gmp.

Rupan avatar Rupan commented on August 16, 2024

Thanks for testing. I spent some time tonight to run the armeabi test suite binaries on a Galaxy Nexus running Jelly Bean. As far as I can tell everything runs fine, so I think I'll call it good.

from gmp.

Related Issues (8)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.