ARM64 compiling results


#1

In an effort to try to compile tamarin-redux in my Odroid C2 arm64 board I thought that modifying the configure.py and configuration.py files would be sufficient I was wrong but anyway I will post the logs of the compilation.

After modifying the source code of the compilation for arm64 with linux I get this error.


#2

did you provide additional flags to configure.py ? and if so, which ones?

in Tamarin_Build_Documentation
under “Building Tamarin for Android 2.3.3 on Mac”

you can see

$ hg clone http://hg.mozilla.org/tamarin-redux  
$ cd tamarin-redux  
$ mkdir objdir-release  
$ cd objdir-release  
$ ../configure.py --arm-arch=armv7-a --target=arm-android  
$ make

did you use something like that?
as configure.py --arm-arch=armv7-a --target=arm-android ?

you can also run
$ configure.py --help
to view all the different flags avaiable

look into build/avmfeatures.py to see how some contant features equals to command-line params
eg. -DAVMFEATURE_DEBUGGER <–> debugger etc.

look into core/avmfeatures.as to get the details of the feature
eg. for AVMSYSTEM_UNALIGNED_INT_ACCESS

        The reason it won't work is that some compilers (notably on ARM) will generate
        code that uses a floating-point load into an FP register, so the code actually
        needs unaligned floating-point loads to be supported, AVMSYSTEM_UNALIGNED_FP_ACCESS.
        (Whether it is correct for the compiler to generate that code is beside the point.)

        The prohibition applies to 64-bit loads/stores as well (expressed as pairs of
        uint32_t loads/stores): ARM compilers as of October 2011 will rewrite a pair of loads 
        into a uint32_t array in a union with a return of a double from the union as a single
        double load into the return register.  See comments throughout the code as well
        as Bugzilla 569691 and 685441.

#3

I’m writing a detailed post about my path on the road but can you remove the limit from 2 links per post please because I write a long thread right now. Sorry, new users can only put 2 links in a post.

Thanx


#4

To answer your question I pushed some git commit you can have a look at:

https://github.com/gdeverlant/tamarin-redux/commit/a6ac6cb05c6fd904faaee414c63c77f75940540f


#5

There are on the official Mozilla’s web site instructions for Android arm32 compilation with MacOS. My dream was to use the same style instruction and just try to compile on Debian Jessie arm64 but I soon figured out that this was my first nightmare.

Digging deeper I found one piece of the puzzle which has to do with the Standalone Toolchain for Android and compilation for ARM64 on this web site : https://bluishcoder.co.nz/2017/12/02/cross-compiling-ats-programs.html. The Standalone Toolchain Android web site: https://developer.android.com/ndk/guides/standalone_toolchain.html#selecting_your_toolchain


#6

I was wondering if this can complete the Official documentation in section Building Tamarin for Android 2.3.3 on Mac on the official web site: https://developer.mozilla.org/en-US/docs/Archive/Mozilla/Tamarin/Tamarin_Build_Documentation


#7

After a discussion with @zwetan concerning missing ARM64 support in nanojit in his notes https://discuss.as3lang.org/t/supporting-arm-or-not/615 I digged a little further and found the latest Mozilla/Adobe nanojit source code on github : https://github.com/doublec/nanojit-central.