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
