From: Nicolas Ojeda Bar <n.oje.bar@gmail.com>
To: caml-list@inria.fr
Subject: [Caml-list] [ANN] RISC-V backend for the native-code OCaml compiler
Date: Sun, 7 Jun 2015 23:14:16 +0530 [thread overview]
Message-ID: <CAPunWhD=JePG9dBe-pp=ARaAzTVfi869XQVzUvhg+xta_AsJQA@mail.gmail.com> (raw)
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
next reply other threads:[~2015-06-07 17:44 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-07 17:44 Nicolas Ojeda Bar [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAPunWhD=JePG9dBe-pp=ARaAzTVfi869XQVzUvhg+xta_AsJQA@mail.gmail.com' \
--to=n.oje.bar@gmail.com \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox