caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] [ANN] RISC-V backend for the native-code OCaml compiler
@ 2015-06-07 17:44 Nicolas Ojeda Bar
  2016-09-10 16:41 ` Richard W.M. Jones
  0 siblings, 1 reply; 5+ messages in thread
From: Nicolas Ojeda Bar @ 2015-06-07 17:44 UTC (permalink / raw)
  To: caml-list

Dear list,

I am happy two announce an ALPHA release of a new native-code backend
for the OCaml compiler.

It targets the RISC-V instruction set (http://riscv.org) being
developed at UC Berkeley.  The lowRISC project at the University of
Cambridge (http://www.lowrisc.org) is developing open-source SoCs
based on this instruction set.

This release is in the form of a cross-compiler.  It depends on the
cross-compiling support recently added to 4.02.0+trunk.  It outputs
ELF binaries that can be simulated directly on the RISC-V ISA
simulator (spike) or run natively in a suitable virtual machine.

For detailed installation instructions, please visit:
https://github.com/nojb/riscv-ocamlopt.

The new backend is based on the old 3.12 MIPS backend and the
currently shipping arm64 backend.  Most compiler tests that can
compile in the RISC-V environment pass successfully (including the
"big" ones such as misc-bk, misc/hamming, misc/boyer, misc/nucleic,
misc/bdd, etc.).

Limitations (some are due to the state of RISC-V software tools, some
are due to limitations of the cross-compiling support in the current
OCaml compiler, some just need work):

- Only 64-bit for now (in particular the host has to be 64-bit as well)
- Unix module is not yet supported
- The current version uses the Newlib C library, which is somewhat
less capable than glibc.
- Shared library support may or may not work (has not been tested)

Planned short term improvements (patches welcome!):

- 32-bit support
- cfi directives (and/or frame pointer inclusion) for easier debugging
- switch to glibc
- soft float support
- Unix support

Development is ongoing.

Suggestions, questions of any kind very welcome!

Thanks very much,

Best wishes,
Nicolas

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-09-10 18:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-07 17:44 [Caml-list] [ANN] RISC-V backend for the native-code OCaml compiler Nicolas Ojeda Bar
2016-09-10 16:41 ` Richard W.M. Jones
2016-09-10 16:49   ` Gabriel Scherer
2016-09-10 17:08     ` Richard W.M. Jones
2016-09-10 18:10       ` Nicolas Ojeda Bar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).