[fedora-arm] FYI: New OCaml ARM code generator

Peter Robinson pbrobinson at gmail.com
Fri Apr 27 22:26:01 UTC 2012


Hi Richard,

All sounds really cool.

On Fri, Apr 27, 2012 at 10:46 PM, Richard W.M. Jones <rjones at redhat.com> wrote:
> I'm in the process of backporting the new, rewritten OCaml ARM code
> generator to OCaml 3.12.1.  This may necessitate recompiling all OCaml
> packages in ARM, but I'll also start on that tomorrow.

Basically for this you need to push the changes to mainline and
koji-shadow will pull it all in and deal with it. It builds all
packages with at least the NVR of any packages it was built with so it
will handle all the build ordering etc. I can send you the details of
any failures of that if you like from the logs as it runs though.

Cheers,
Peter

> The particular reason for doing this is support for natdynlink
> (dynamic linking of OCaml code -- think of it as the equivalent of
> 'dlopen' for OCaml native code).  Having this will enhance a few OCaml
> packages in Fedora/ARM and bring them up to par with their x86 cousins.
>
> Here are the highlights of the new implementation taken from the
> upstream commit message:
>
>  - Support for both software and hardware floating-point (VFPv3).
>
>  - Properly supports interworking with Thumb/Thumb-2 code for both
>    OCaml and C code.
>
>  - Supports dynamic linking and large memory models (PR#5049).
>
>  - Optional support for position-independent code via a command line
>    option -fPIC. This is disabled by default and not required for
>    natdynlink.
>
>  - Can emit both ARM and Thumb-2 code, with avg. code size savings of
>    28% for Thumb-2 (quite close the optimal 30% advertised by ARM
>    Ltd.).
>
>  - Supports both AAPCS (armel) as well as extended VFP calling
>    conventions (armhf).
>
>  - Supports several special ARM instructions to reduce code size and
>    latency.
>
>  - Uses standard ARM EABI runtime functions instead of relying on GCC
>    internals.
>
>  - Supports exception backtraces.
>
>  - Supports profiling using gprof.
>
> Rich.
>
> --
> Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
> New in Fedora 11: Fedora Windows cross-compiler. Compile Windows
> programs, test, and build Windows installers. Over 70 libraries supprt'd
> http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw
> _______________________________________________
> arm mailing list
> arm at lists.fedoraproject.org
> https://admin.fedoraproject.org/mailman/listinfo/arm


More information about the arm mailing list