On Dec 13, 2011, at 21:39 , Benedikt Meurer wrote:

> - Support for both softfp and VFPv3-D16 (if present).
> - Properly supports interworking with Thumb/Thumb-2 code (for both OCaml and 
> C code!)
> - Supports dynamic linking and large memory models.
> - Optional support for position-independent code via -fPIC, disabled by 
> default and not required for natdynlink.
> - Can emit both ARM and Thumb-2 code (currently Thumb-2 is used for ARMv7+ 
> and ARM is used for everything else), with avg. code size savings of 27% for 
> Thumb-2 (quite close the optimal 30% advertised by ARM Ltd.). I may also add 
> support to emit small functions using Thumb-1 (for pre-ARMv7 / armel) in the 
> future to reduce code size.
> - Supports both AAPCS (armel) as well as extended VFP calling conventions 
> (armhf).
> - Properly supports backtraces.
> - Recognizes several special ARM instructions (=> reduced code size and 
> latency).
> - Does not rely on GCC internals, but uses the standard ARM EABI runtime.

I've updated the backend, and a new patch is available for testing at [1], you 
can also test it by cloning the ocaml-arm repository at [2], some documentation 
is available on the Wiki at [3].

The following new features are included:

- Support for both VFPv3-D16 and VFPv3(-D32), using ocamlopt switch -ffpu 
(armhf only).
- Support for architecture selection using -farch.
- Support for profiling using gprof.
- Code cleanups.
- Confirmed to work with Debian/armel on ARM9 / Cortex-A8 and Debian/armhf on 
Cortex-A8.

Testers and feedback welcome.

greets,
Benedikt

[1] 
https://github.com/downloads/bmeurer/ocaml-arm/ocaml-arm-3.12.1+20111218.diff.bz2
[2] https://github.com/bmeurer/ocaml-arm
[3] https://github.com/bmeurer/ocaml-arm/wiki

-- 
Caml-list mailing list.  Subscription management and archives:
https://sympa-roc.inria.fr/wws/info/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Reply via email to