Skip to main content

About the xPack GNU RISC-V Embedded GCC

The project

The xPack GNU RISC-V Embedded GCC project is part of the xPack Reproducible Build Framework and is hosted on GitHub as xpack-dev-tools/riscv-none-elf-gcc-xpack, part of the xPack Binary Development Tools.

The main goal of this project is to streamline the development of embedded projects. µOS++ is the first cross-platform project to benefit from the xPack tools.

Project history

The initial name of the package was GNU MCU Eclipse RISC-V Embedded GCC and was first published on npmjs.com as @gnu-mcu-eclipse/riscv-none-gcc.

The early releases followed the SiFive releases and used the SiFive forks of GCC/GDB/etc.

July 2017

The first GNU MCU Eclipse RISC-V Embedded GCC release was v7.1.1-1-20170702.

July 2019

The project was renamed xPack GNU RISC-V Embedded GCC and the npm scope was changed from @gnu-mcu-eclipse to @xpack-dev-tools (in v8.2.0-3.1).

July 2020

Support for 32/64-bit Arm GNU/Linux platforms (like Raspberry Pi) was added (in v8.3.0-1.2).

October 2020

After extensive experimentation, support for Python scripting was added to GDB, using an embedded Python 3 instance (in v8.3.0-2.2).

October 2021

In the Windows binaries, the MSVC runtime was replaced with the newer Universal C Runtime (UCRT) (in v10.1.0-1.2).

May 2022

The projects switched from the SiFive forks to the official GNU sources (in v11.3.0-1).

Support for Apple Silicon macOS was added (in v11.3.0-1).

Support for x86 Windows and x86 GNU/Linux (32-bit) was discontinued (in v11.3.0-1).

December 2022

The project received a significant update by transitioning the build scripts from the cumbersome monolithic XBB Docker images to the more flexible and modular xPacks. XBB version 5.0.0 marked a major milestone for the xPack project, as it was the first self-sustained release. This version enabled the creation of new binary xPacks using existing binary xPacks, eliminating the need for custom Docker images or other compiled tools.

August 2024

The project underwent a comprehensive restructuring. To streamline the top package.json by showcasing only user-related definitions and concealing build-related ones, all build-related files were relocated to the build-assets folder. Furthermore, the development Git branch was renamed to xpack-development for enhanced clarity.

The web site

The initial web site was launched in May 2022 as a sub-site in the xPack web site. It used the Jekyll Doc Theme 6.0 by Tom Johnson.

In August 2024, as part of the project restructuring, the website content was migrated from the xPack Jekyll sub-site to a local Docusaurus configuration stored in the website folder. To ensure continuity, HTML <meta> redirects were added to the old pages. Additionally, a GitHub Action was implemented to automatically publish the site upon any pushes to the website Git branch.

The author

This project is currently maintained by Liviu Ionescu (ilg-ul), a senior computer engineer, with expertise in C++/C embedded systems, RTOSes, build tools, operating systems, compilers and Internet technologies.

He can be reached at <ilg@livius.net>. Please note, this email address is provided as a courtesy. For all correspondence related to the xPack GNU RISC-V Embedded GCC project, kindly use the project support page).