The GNU MCU Eclipse RISC-V Embedded GCC
Switch branches/tags
v20170612 v7.2.0-4-20180606 v7.2.0-3-20180506 v7.2.0-2-20180110 v7.2.0-1-20171109 v7.1.1-2-20170912 v7.1.1-1-20170702-0625 gcc_5_3_0_release gcc_5_2_0_release gcc-7_3_0-release gcc-6_3_0-release gcc-6_2_0-release gcc-6_1_0-release gcc-5_4_0-release gcc-5_3_0-release gcc-5_2_0-release gcc-5_1_0-release gcc-4_9_4-release gcc-4_9_3-release gcc-4_9_2-release gcc-4_9_1-release gcc-4_9_0-release gcc-4_8_5-release gcc-4_8_4-release gcc-4_8_3-release gcc-4_8_2-release gcc-4_8_1-release gcc-4_8_0-release gcc-4_7_4-release gcc-4_7_3-release gcc-4_7_2-release gcc-4_7_1-release gcc-4_7_0-release gcc-4_6_4-release gcc-4_6_3-release gcc-4_6_2-release gcc-4_6_1-release gcc-4_6_0-release gcc-4_5_4-release gcc-4_5_3-release gcc-4_5_2-release gcc-4_5_1-release gcc-4_5_0-release gcc-4_4_7-release gcc-4_4_6-release gcc-4_4_5-release gcc-4_4_4-release gcc-4_4_3-release gcc-4_4_2-release gcc-4_4_1-release gcc-4_4_0-release gcc-4_3_6-release gcc-4_3_5-release gcc-4_3_4-release gcc-4_3_3-release gcc-4_3_2-release gcc-4_3_1-release gcc-4_3_0-release gcc-4_2_4-release gcc-4_2_3-release gcc-4_2_2-release gcc-4_2_1-release gcc-4_2_0-release gcc-4_1_2-release gcc-4_1_1-release gcc-4_1_0-release gcc-4_0_4-release gcc-4_0_3-release gcc-4_0_2-release gcc-4_0_1-release gcc-4_0_0-release gcc-3_4_6-release gcc-3_4_5-release gcc-3_4_4-release gcc-3_4_3-release gcc-3_4_2-release gcc-3_4_1-release gcc-3_4_0-release gcc-3_3_4-release gcc-3_3_3-release gcc-3_3_2-release gcc-3_2_3-release gcc-3_2_2-release gcc-3_2_1-release gcc-3_2-release gcc-3_1_1-release gcc-3_1-release gcc-3_0_4-release gcc-3_0_3-release gcc-3_0_2-release gcc-3_0_1-release gcc-3_0-release gcc-2_95_3-release gcc-2_95_2-release gcc-2_95_1-release gcc-2_95-release gcc-2_8_0-release egcs_1_1_2_release egcs_1_1_1_release egcs_1_1_release
Nothing to show
Clone or download
Pull request Compare This branch is 17 commits ahead, 6 commits behind riscv:riscv-next.
Permalink
Failed to load latest commit information.
INSTALL 2014-10-12 Manuel López-Ibáñez <manu@gcc.gnu.org> Oct 12, 2014
config Add bootstrap-cet.mk to bootstrap GCC with Intel CET Oct 24, 2017
contrib analyze_brprob.py: fix SI units Nov 8, 2017
fixincludes 2017-10-13 Mike Frysinger <vapier@chromium.org> Oct 13, 2017
gcc move README.md & PUBLISH.md to project root May 7, 2018
gnattools 2017-08-17 Richard Biener <rguenther@suse.de> Aug 17, 2017
gotools * Makefile.am (check-go-tool): Output colon after ${fl}. Oct 25, 2017
include RISC-V: Implement __umulsidi3, umul_ppmm and __muluw3 Nov 8, 2017
intl Require ngettext in test of system gettext implementation Nov 7, 2017
libada PR ada/80921 Jun 1, 2017
libatomic [arm] Fix architecture selection when building libatomic with automat… Oct 20, 2017
libbacktrace * ztest.c (test_large): Pass unsigned long *, not size_t *, to Oct 6, 2017
libcc1 [C++ PATCH] overloaded operator fns [6/N] Nov 1, 2017
libcilkrts * runtime/config/sparc/os-unix-sysdep.c (__cilkrts_getticks): Adjust Jun 23, 2017
libcpp /libcpp Nov 6, 2017
libdecnumber * bid/bid2dpd_dpd2bid.c (_bid_to_dpd32): Fix whitespace. Jun 29, 2017
libffi Import from libffi master repository. Oct 3, 2017
libgcc (WIP, RVE ABI) Support RV32E Nov 8, 2017
libgfortran 2017-10-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> Oct 27, 2017
libgo libgo: pass flags to recursive make Nov 6, 2017
libgomp PR c++/82835 Nov 7, 2017
libhsail-rt [BRIGFE] Improved support for function and module scope group Sep 27, 2017
libiberty 2017-10-30 Richard Biener <rguenther@suse.de> Oct 30, 2017
libitm PR c++/80560 - warn on undefined memory operations involving non-triv… Jun 16, 2017
libmpx * mpxrt/mpxrt-utils.h (__mpxrt_stop): New prototype. Jan 30, 2017
libobjc [2/77] Add an E_ prefix to case statements Aug 30, 2017
liboffloadmic libgomp: Provide prototypes for functions implemented by libgomp plugins Jan 31, 2017
libquadmath [libquadmath] Remove semicolon after do {} while (0) in MPN_MUL_N_REC… Nov 5, 2017
libsanitizer PR bootstrap/82670 Nov 8, 2017
libssp 2017-04-01 Jonathan Yong <10walls@gmail.com> Apr 2, 2017
libstdc++-v3 Check for S_ISSOCK before use Nov 7, 2017
libvtv PR other/79046 Jan 21, 2017
lto-plugin lto-plugin/ Jul 21, 2017
maintainer-scripts * update_version_svn: Ignore the GCC 5 branch. Oct 10, 2017
zlib 2017-03-15 Yaakov Selkowitz <yselkowitz@redhat.com> Mar 15, 2017
.dir-locals.el * .dir-locals.el: Add. Oct 16, 2013
.gitattributes add basic .gitattributes files to notice whitespace issues Apr 23, 2016
.gitignore .gitignore: Ignore in-tree prerequisites. Sep 9, 2016
ABOUT-NLS top: Jul 4, 2003
COPYING 2005-07-14 Kelley Cook <kcook@gcc.gnu.org> Jul 14, 2005
COPYING.LIB Update COPYING.LIB from upstream. Correct last Changelog. Jul 14, 2005
COPYING.RUNTIME Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. Apr 9, 2009
COPYING3 * COPYING_v3: New file. Contains version 3 of the GNU General Public … Jul 17, 2007
COPYING3.LIB * COPYING_v3: New file. Contains version 3 of the GNU General Public … Jul 17, 2007
ChangeLog Fix profiledbootstrap. Oct 27, 2017
ChangeLog.jit Merger of dmalcolm/jit branch from git Nov 11, 2014
ChangeLog.tree-ssa Merge tree-ssa-20020619-branch into mainline. May 13, 2004
MAINTAINERS ChangeLog: Oct 16, 2017
Makefile.def Fix PR bootstrap/81217 Jun 28, 2017
Makefile.in Fix profiledbootstrap. Oct 27, 2017
Makefile.tpl Fix profiledbootstrap. Oct 27, 2017
PUBLISH.md move README.md & PUBLISH.md to project root May 7, 2018
README * README: Document use of ranges of years in copyright notices. Jul 16, 2012
README.md move README.md & PUBLISH.md to project root May 7, 2018
compile Update from upstream Automake files. Nov 16, 2014
config-ml.in <toplevel> Nov 15, 2016
config.guess * config.guess: Import latest from upstream. Mar 18, 2017
config.rpath Remove freebsd1 from libtool.m4 macros and config.rpath. Feb 13, 2011
config.sub * config.sub: Import latest version. Dec 29, 2016
configure 2017-07-28 Tony Reix <tony.reix@atos.net> Jul 28, 2017
configure.ac 2017-07-28 Tony Reix <tony.reix@atos.net> Jul 28, 2017
depcomp Update from upstream Automake files. Nov 16, 2014
install-sh Update from upstream Automake files. Nov 16, 2014
libtool-ldflags PR sanitizer/56781 Apr 17, 2014
libtool.m4 * libtool.m4 (export_symbols_cmds) [AIX]: Add global TLS "L" symbols. Nov 26, 2015
ltgcc.m4 * libtool.m4: Update to libtool 2.2.6. Sep 26, 2008
ltmain.sh Ensure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR… Feb 4, 2014
ltoptions.m4 Sync from git Libtool and regenerate. Dec 5, 2009
ltsugar.m4 * libtool.m4: Update to libtool 2.2.6. Sep 26, 2008
ltversion.m4 Sync from git Libtool and regenerate. Dec 5, 2009
lt~obsolete.m4 Sync from git Libtool and regenerate. Dec 5, 2009
missing Update from upstream Automake files. Nov 16, 2014
mkdep merge with /cvs/src Jul 22, 2000
mkinstalldirs Update from upstream Automake files. Nov 16, 2014
move-if-change Update move-if-change from gnulib Nov 16, 2014
symlink-tree 2005-07-14 Kelley Cook <kcook@gcc.gnu.org> Jul 14, 2005
ylwrap Update from upstream Automake files. Nov 16, 2014

README.md

Github All Releases Github All Releases

GNU MCU Eclipse RISC-V Embedded GCC

Rationale

GNU MCU Eclipse RISC-V Embedded GCC is a GCC toolchain distribution for RISC-V devices, that complements the official RISC-V distribution, maintained by SiFive.

For main benefits for the users are:

  • convenience: binaries for all major platforms are provided (Windows 64/32-bits, GNU/Linux 64/32-bits, macOS);
  • uniform and portable install: the toolchain is also available as a binary xPack, and can be easily installed with xpm;
  • improved support for Continuous Integration usage: as for any xPack, the toolchain can be easily used in test environments.

Changes

Compared to the original RISC-V release, there are no functional changes; the same architecture options are supported, and the same combinations of libraries (derived from newlib) are provided, plus possibly more.

Releases

The GNU MCU Eclipse RISC-V Embedded GCC releases generally follow the official RISC-V distribution, maintained by SiFive.

  • 7.2.0-3 (20180506)
  • 7.2.0-2 (20180111)
  • 7.2.0-1 (20171109)
  • 7.1.1-2 (20170912)
  • 7.1.1-1 (20170702)

Install

The procedure to install GNU MCU Eclipse RISC-V Embedded GCC is platform specific, but relatively straight forward (a .zip archive on Windows, a compressed tar archive on macOS and GNU/Linux).

A portable method is to use xpm:

$ xpm install @gnu-mcu-eclipse/riscv-none-gcc --global

More details are available on the How to install the RISC-V toolchain? page.

Build

The build scripts are part of the separate gnu-mcu-eclipse/riscv-none-gcc-build project.

Publish

The procedure used to publish the binaries is documented in the separate PUBLISH page.

The metadata files used to publish the xPacks on the npmjs.com server are available from the gnu-mcu-eclipse/riscv-none-gcc-xpack project.