This is the mail archive of the
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).
[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