From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 3DC527EEEF for ; Sun, 7 Jun 2015 19:44:28 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of n.oje.bar@gmail.com) identity=pra; client-ip=74.125.82.42; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="n.oje.bar@gmail.com"; x-sender="n.oje.bar@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of n.oje.bar@gmail.com designates 74.125.82.42 as permitted sender) identity=mailfrom; client-ip=74.125.82.42; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="n.oje.bar@gmail.com"; x-sender="n.oje.bar@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-wg0-f42.google.com) identity=helo; client-ip=74.125.82.42; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="n.oje.bar@gmail.com"; x-sender="postmaster@mail-wg0-f42.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0C3AQC2gnRVmypSfUpcgy81XgaDGLEjijeBXIcOBzoSAQEBAQEBAREBAQEBAQYLCwkhLoQ7ER0BGx4DEhAPAiYCJAERAQUBLSqHdQEDEg2bWIMxPjGLP4FrgnmYWQoZJw1XhHQBBQ6BE49FglKBRQWMTIQYhwqGaoEvQIM6h2SJBhIjgQwJgQVygiw2MYJHAQEB X-IPAS-Result: A0C3AQC2gnRVmypSfUpcgy81XgaDGLEjijeBXIcOBzoSAQEBAQEBAREBAQEBAQYLCwkhLoQ7ER0BGx4DEhAPAiYCJAERAQUBLSqHdQEDEg2bWIMxPjGLP4FrgnmYWQoZJw1XhHQBBQ6BE49FglKBRQWMTIQYhwqGaoEvQIM6h2SJBhIjgQwJgQVygiw2MYJHAQEB X-IronPort-AV: E=Sophos;i="5.13,569,1427752800"; d="scan'208";a="163735074" Received: from mail-wg0-f42.google.com ([74.125.82.42]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 07 Jun 2015 19:44:17 +0200 Received: by wgme6 with SMTP id e6so87230612wgm.2 for ; Sun, 07 Jun 2015 10:44:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=AFIjNsIsSYQ+DnOmnbKnd9FiQhbd/tzBHVnMf45sU/k=; b=ObMoHul/NTyLdsb4GWMABo68/SVqqTMZ8qXuEJ7CsvAeUqHYDoJ09lBr/SbWIcf7Zl 9VqE+fRmU32FsWAyLggbiJAXimGQRMsaLQgxnw6ZYcgrnK54596QMNycItrXisbsYGTV p7JTM3shGf8nRoYfPjurAKVXHUU9w91pGRAIA+dhE1Dw17w+rW8LwFjFRkZHXvm2x9MC CkfrEfFNXTmoJvYGRtmpXwCxkutbVbjHkDb0t976RGelDXbo6Mfm/hlbTV83wnavPxLi T4UwFVOAngHYd/z/HQvf0KkxLXb0X/46kWBf+Ef1XDgTlyGefw8wgP/D3qOd5xOLRUil g7Wg== MIME-Version: 1.0 X-Received: by 10.194.59.79 with SMTP id x15mr24269077wjq.81.1433699056838; Sun, 07 Jun 2015 10:44:16 -0700 (PDT) Received: by 10.194.135.6 with HTTP; Sun, 7 Jun 2015 10:44:16 -0700 (PDT) Date: Sun, 7 Jun 2015 23:14:16 +0530 Message-ID: From: Nicolas Ojeda Bar To: caml-list@inria.fr Content-Type: text/plain; charset=UTF-8 Subject: [Caml-list] [ANN] RISC-V backend for the native-code OCaml compiler 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