This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.

New Port for RISC-V

From: Palmer Dabbelt <palmer at dabbelt dot com>

To: gcc-patches at gcc dot gnu dot org

Cc: Andrew Waterman <andrew at sifive dot com>

Cc: kito dot cheng at gmail dot com

Date: Wed, 11 Jan 2017 18:30:32 -0800

Subject: New Port for RISC-V

Authentication-results: sourceware.org; auth=none

We'd like to submit for inclusion in GCC a port for the RISC-V architecture. The port suffices to build a substantial body of software (including Linux and some 2,000 Fedora packages) and passes most of the gcc and g++ test suites; so, while it is doubtlessly not complete, we think it is far enough along to start the upstreaming process. It is our understanding that it is OK to submit this port during stage 3 because it does not touch any shared code. Our binutils port has already been accepted for the 2.28 release, and we plan on submitting glibc and Linux patch sets soon. This port targets Version 2.0 of the RV32I and RV64I base user ISAs, and the five standard extensions M, A, F, D, and C, all of which are frozen and will not change over time. The RISC-V community and the 50-some member companies of the RISC-V Foundation are quite eager to have a single, standard GCC port. We thank you in advance for your help in this process and for your feedback on the software contribution itself. These patches build on top of cac3398e5f378549d84bc2ebb6af97cfd0189b25, the latest commit in the GCC git mirror as of last night. Andrew and I will volunteer to maintain this port if it's OK with everyone. Our understanding is that the GCC steering committee decides this, and this is the correct place to contact them. We'd like to thank the various members of the RISC-V software community who have helped us with the port. Specifically we'd like to thank Kito Cheng for his work getting the GCC test suite running (and running correctly). Thanks! [PATCH 1/6] RISC-V Port: gcc/config/riscv/riscv.c [PATCH 2/6] RISC-V Port: gcc [PATCH 3/6] RISC-V Port: libgcc [PATCH 4/6] RISC-V Port: libsanitizer [PATCH 5/6] RISC-V Port: libatomic [PATCH 6/6] RISC-V Port: gcc/testsuite