Releases: foss-for-mips-arc-processors/toolchain
Release list
GNU Toolchain for ARC Processors, arc-2026.03-release
This is release candidate of 2026.03 version of the GNU Toolchain for MIPS Atlas ARC 600, ARC 700, EM, HS3x/4x, HS5x, HS6x and ARC-V processors.
More information about ARC-V processors can be found on MIPS website here[ Power-Efficient RISC-V Processors for Embedded Applications and here Maximum Performance Efficiency for Real-time Applications.
Toolchain and IDE Components Versions
- GCC 15.2 with ARC patches
- Binutils 2.45.1 with ARC patches
- GDB 17.1 with ARC patches
- Newlib 4.5.0 with ARC patches
- Picolibc 1.8.11 with ARC patches
- uClibc-ng v1.0.55 with ARC patches
- glibc 2.42 with ARC patches
This release of GNU toolchain is supported by CGEN IPlib (TCF generator) version 1.0.53 and later.
New Features and Enhancements
ARC-V targets:
- Performance tuning for ARC-V targets with
-mtune=arc-v-rmx-500-seriesand-mtune=arc-v-rpx-100-series - Implemented experimental loop optimization improvements
- Added support of LTO for APEX intrinsics
- Added support of RVA23 profile
- Updated support of XARCV to v1.8.1 specification
- Added Buildlib tool for building target libraries
ARC Classic targets:
- Added experimental support of Picolibc for ARC Classic targets
Binary distribution
- Supported host operating systems: Windows 11 64-bit, Ubuntu 22.04, RHEL/AlmaLinux 8.x
- Prebuilt bare-metal toolchains for 64-bit Windows & Linux hosts, see table with references and list of artifacts below.
Toolchain Components
For this release binary distributions of ARC GNU tools for all supported processor families (both ARC Classic and ARC-V) are produced from the same sources of corresponding tools.
Here is a list of GitHub issues addressed in this release: GitHub issues for 2026.03. Note, though, this list only contains issues filed against ARC GNU toolchain. Bugs and enhancements made in upstream open-source projects of each toolchain component could be found in the corresponding bug-tracking system.
- GCC 15.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/releases/tag/arc-2026.03-release
- Uses upstream 15.2 release, see release announcement (15.1 and 15.2) and complete list of changes.
- Performance tuning for ARC-V targets with
-mtune=arc-v-rmx-500-seriesand-mtune=arc-v-rpx-100-series - Implemented experimental loop optimization improvements
- Added support of LTO for APEX intrinsics
- Added support of RVA23 profile
- Updated support of XARCV to v1.8.1 specification
- Binutils 2.45.1 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2026.03-release
- Uses upstream 2.45.1 release, see release notes.
- GDB 17.1 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/tree/arc-2026.03-release-gdb
- Uses upstream 17.1 release, see release announcement and complete list of changes for major changes.
- Newlib 4.5.0 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2026.03-release
- Uses upstream 4.5.0 release.
- Picolibc 1.8.11 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/picolibc/releases/tag/arc-2026.03-release
- Uses upstream 1.8.11 release, see release announcement.
- Added experimental support of Picolibc for ARC Classic targets
- uClibc-ng 1.0.55 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/releases/tag/arc-2026.03-release
- Uses upstream 1.0.55 release, see release announcement.
- glibc 2.42 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2026.03-release
- Uses upstream 2.42 release, see release announcement and complete list of changes.
Known issues
ARC Classic
-
Newlib's
libglossdoesn't support RF16 configuration of ARC cores when building for nSIM with-specs=nsim.specs, see #231. Use-specs=hl.specsinstead for RF 16 configurations. -
Non-multilib toolchain doesn't contain
libglosslibraries for nSIM and development boards, see #262. -
libcrypt.so.1is not included in the toolchain (starting from glibc 2.38libcrypt.so.1is not built by default and will be removed from glibc in the future), please uselibcryptimplemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation. -
Eclipse IDE for ARCompact does not support selecting
-specs=options in project's configuration menu. Consider passing this options (e.g.,-specs=nsim.specsfor nSIM) in "ARC GNU Linker" field of projects configuration dialog (C/C++ Build -> Settings -> Top Settings -> ARC GNU Linker).
ARC-V
-
Some complex combinations of
-march=and-mabi=options may lead to unpredictable errors during compilation. Such issues are related to general support of RISC-V extensions in GCC. Refer #610 for details. -
The size-optimized Newlib Nano configuration (used when
-specs=nano.specsis passed to GCC) does not supportprintf()forfloatanddoubleby default. Nanoprintf()is size-optimized and does not include support offloatanddouble. If you need that feature, pass-u _printf_floatto GCC when you compile your applications. This option picks up support offloatanddoublefor size optimizedprintf()on demand. -
Using selective scheduler with a specific set of options may lead to incorrect code generation. Refer Bug 118153 for details.
Documentation and Getting help
- Documentation and guides for ARC Classic targets may be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2026.03/.
- Please report any problems by filing an Issue in GitHub here.
Toolchains
| Library | Linux x86_64 | Windows x86_64 | Linux ARC HS | |
|---|---|---|---|---|
| Baremetal ARC Classic (ARC 600/700, EM, HS3x, HS4x) |
Newlib | Little endian / Big endian | Little endian / Big endian | |
| Baremetal ARC Classic (ARC 600/700, EM, HS3x, HS4x) |
Picolibc | Little endian | Little endian | |
| Baremetal ARC-V | Newlib | Little endian | Little endian | |
| Baremetal ARC-V | Picolibc | Little endian | L... |
GNU Toolchain for ARC Processors, arc-2026.03-rc1
This is the first release candidate of 2026.03 version of the GNU Toolchain for DesignWare ARC 600, ARC 700, EM, HS3x/4x, HS5x, HS6x and ARC-V processors.
More information about ARC-V processors can be found on Synopsys website here Power-Efficient RISC-V Processors for Embedded Applications and here Maximum Performance Efficiency for Real-time Applications.
Toolchain and IDE Components Versions
- GCC 15.2 with ARC patches
- Binutils 2.45.1 with ARC patches
- GDB 17.1 with ARC patches
- Newlib 4.5.0 with ARC patches
- Picolibc 1.8.11 with ARC patches
- uClibc-ng v1.0.55 with ARC patches
- glibc 2.42 with ARC patches
This release of GNU toolchain is supported by CGEN IPlib (TCF generator) version 1.0.53 and later.
New Features and Enhancements
ARC-V targets:
- Performance tuning for ARC-V targets with
-mtune=arc-v-rmx-500-seriesand-mtune=arc-v-rpx-100-series - Implemented experimental loop optimization improvements
- Added support of LTO for APEX intrinsics
- Added support of RVA23 profile
- Updated support of XARCV to v1.8.1 specification
- Added Buildlib tool for building target libraries
ARC Classic targets:
- Added experimental support of Picolibc for ARC Classic targets
Binary distribution
- Supported host operating systems: Windows 11 64-bit, Ubuntu 22.04, RHEL/AlmaLinux 8.x
- Prebuilt bare-metal toolchains for 64-bit Windows & Linux hosts, see table with references and list of artifacts below.
Toolchain Components
For this release binary distributions of ARC GNU tools for all supported processor families (both ARC Classic and ARC-V) are produced from the same sources of corresponding tools.
Here is a list of GitHub issues addressed in this release: GitHub issues for 2026.03. Note, though, this list only contains issues filed against ARC GNU toolchain. Bugs and enhancements made in upstream open-source projects of each toolchain component could be found in the corresponding bug-tracking system.
- GCC 15.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/releases/tag/arc-2026.03-rc1
- Uses upstream 15.2 release, see release announcement (15.1 and 15.2) and complete list of changes.
- Performance tuning for ARC-V targets with
-mtune=arc-v-rmx-500-seriesand-mtune=arc-v-rpx-100-series - Implemented experimental loop optimization improvements
- Added support of LTO for APEX intrinsics
- Added support of RVA23 profile
- Updated support of XARCV to v1.8.1 specification
- Binutils 2.45.1 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2026.03-rc1
- Uses upstream 2.45.1 release, see release notes.
- GDB 17.1 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/tree/arc-2026.03-rc1-gdb
- Uses upstream 17.1 release, see release announcement and complete list of changes for major changes.
- Newlib 4.5.0 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2026.03-rc1
- Uses upstream 4.5.0 release.
- Picolibc 1.8.11 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/picolibc/releases/tag/arc-2026.03-rc1
- Uses upstream 1.8.11 release, see release announcement.
- Added experimental support of Picolibc for ARC Classic targets
- uClibc-ng 1.0.55 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/releases/tag/arc-2026.03-rc1
- Uses upstream 1.0.55 release, see release announcement.
- glibc 2.42 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2026.03-rc1
- Uses upstream 2.42 release, see release announcement and complete list of changes.
Known issues
ARC Classic
-
Newlib's
libglossdoesn't support RF16 configuration of ARC cores when building for nSIM with-specs=nsim.specs, see #231. Use-specs=hl.specsinstead for RF 16 configurations. -
Non-multilib toolchain doesn't contain
libglosslibraries for nSIM and development boards, see #262. -
libcrypt.so.1is not included in the toolchain (starting from glibc 2.38libcrypt.so.1is not built by default and will be removed from glibc in the future), please uselibcryptimplemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation. -
Eclipse IDE for ARCompact does not support selecting
-specs=options in project's configuration menu. Consider passing this options (e.g.,-specs=nsim.specsfor nSIM) in "ARC GNU Linker" field of projects configuration dialog (C/C++ Build -> Settings -> Top Settings -> ARC GNU Linker). -
arc-snps-elf-tcf-gccandtcftoolare distribute as non-executables. Usechmod +xcommand to set correct rights for these binaries.
ARC-V
-
Some complex combinations of
-march=and-mabi=options may lead to unpredictable errors during compilation. Such issues are related to general support of RISC-V extensions in GCC. Refer #610 for details. -
The size-optimized Newlib Nano configuration (used when
-specs=nano.specsis passed to GCC) does not supportprintf()forfloatanddoubleby default. Nanoprintf()is size-optimized and does not include support offloatanddouble. If you need that feature, pass-u _printf_floatto GCC when you compile your applications. This option picks up support offloatanddoublefor size optimizedprintf()on demand. -
Using selective scheduler with a specific set of options may lead to incorrect code generation. Refer Bug 118153 for details.
Documentation and Getting help
- Documentation and guides for ARC Classic targets may be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2026.03/.
- Please report any problems by filing an Issue in GitHub here.
Toolchains
| Library | Linux x86_64 | Windows x86_64 | Linux ARC HS | |
|---|---|---|---|---|
| Baremetal ARC Classic (ARC 600/700, EM, HS3x, HS4x) |
Newlib | Little endian / Big endian | Little endian / Big endian | |
| Baremetal ARC Classic (ARC 600/700, EM, HS3x, HS4x) |
Picolibc | Little endian | Little endian | |
| Baremetal ARC-V | Newlib | Little endian | Little endian | |
| Baremetal ARC-V | Picolibc |
GNU Toolchain for ARC Processors, arc-2025.09-release
This is release of 2025.09 version of the GNU Toolchain for DesignWare ARC 600, ARC 700, EM, HS3x/4x, HS5x, HS6x and ARC-V processors.
More information about ARC-V processors can be found on Synopsys website here Power-Efficient RISC-V Processors for Embedded Applications and here Maximum Performance Efficiency for Real-time Applications.
Toolchain and IDE Components Versions
- GCC 15.2 with ARC patches
- Binutils 2.43 with ARC patches
- GDB 15.2 with ARC patches
- Newlib 4.5.0 with ARC patches
- Picolibc 1.8.10 with ARC patches
- uClibc-ng v1.0.51 with ARC patches
- glibc 2.40 with ARC patches
This release of GNU toolchain is supported by CGEN IPlib (TCF generator) version 1.0.53 and later.
New Features and Enhancements
Most new features and enhancements are related to ARC-V targets:
- Introduced support of
-mtune=arc-v-rpx-100-seriesoption for GCC for RPX-100 targets. It allows tuning a schedular for 64-bit ARC-V targets. - Added support for the ARC-V DSP extensions.
- Added support of APEX - custom extensions for ARC-V.
- The toolchain for ARC-V is distributed in 2 variants with different standard libraries: Newlib and Picolibc.
Binary distribution
- Supported host operating systems: Windows 11 64-bit, Ubuntu 22.04, RHEL/AlmaLinux 8.x
- RHEL/CentOS 7.x are not supported anymore since they are EOL.
- Prebuilt bare-metal toolchains for 64-bit Windows & Linux hosts, see table with references and list of artifacts below.
Toolchain Components
For this release binary distributions of ARC GNU tools for all supported processor families (both ARC Classic and ARC-V) are produced from the same sources of corresponding tools.
Here is a list of GitHub issues addressed in this release: GitHub issues for 2025.09. Note, though, this list only contains issues filed against ARC GNU toolchain. Bugs and enhancements made in upstream open-source projects of each toolchain component could be found in the corresponding bug-tracking system.
- GCC 15.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/releases/tag/arc-2025.09-rc1
- Uses upstream 15.2 release, see release announcement (15.1 and 15.2) and complete list of changes.
- Introduced support of
-mtune=arc-v-rpx-100-seriesoption for GCC for RPX-100 targets. It allows tuning a schedular for 64-bit ARC-V targets. - Added support for the ARC-V DSP extensions.
- Added support of APEX - custom extensions for ARC-V.
- Binutils 2.43 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2025.09-rc1
- Uses upstream 2.43 release, see release notes.
- GDB 15.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/tree/arc-2025.09-rc1-gdb
- Uses upstream 15.2 release, see release announcement and complete list of changes for major changes.
- Newlib 4.5.0 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2025.09-rc1
- Uses upstream 4.5.0 release.
- Picolibc 1.8.10 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/picolibc/releases/tag/arc-2025.09-rc1
- Uses upstream 1.8.10 release, see release announcement.
- uClibc-ng 1.0.51 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/releases/tag/arc-2025.09-rc1
- Uses upstream 1.0.51 release, see release announcement.
- glibc 2.40 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2025.09-rc1
- Uses upstream 2.40 release, see release announcement and complete list of changes.
Fixes and improvements in the final release compared to Release Candidate 1 and Release Candidate 2
- Fixes and improvements for micro-DSP extensions for ARC-V.
Known issues
ARC Classic
-
Newlib's
libglossdoesn't support RF16 configuration of ARC cores when building for nSIM with-specs=nsim.specs, see #231. Use-specs=hl.specsinstead for RF 16 configurations. -
Non-multilib toolchain doesn't contain
libglosslibraries for nSIM and development boards, see #262. -
libcrypt.so.1is not included in the toolchain (starting from glibc 2.38libcrypt.so.1is not built by default and will be removed from glibc in the future), please uselibcryptimplemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation. -
Eclipse IDE for ARCompact does not support selecting
-specs=options in project's configuration menu. Consider passing this options (e.g.,-specs=nsim.specsfor nSIM) in "ARC GNU Linker" field of projects configuration dialog (C/C++ Build -> Settings -> Top Settings -> ARC GNU Linker).
ARC-V
-
Some complex combinations of
-march=and-mabi=options may lead to unpredictable errors during compilation. Such issues are related to general support of RISC-V extensions in GCC. Refer #610 for details. -
Newlib. The size-optimized Newlib Nano configuration (used when
-specs=nano.specsis passed to GCC) does not supportprintf()forfloatanddoubleby default. Nanoprintf()is size-optimized and does not include support offloatanddouble. If you need that feature, pass-u _printf_floatto GCC when you compile your applications. This option picks up support offloatanddoublefor size optimizedprintf()on demand. -
Using selective scheduler with a specific set of options may lead to incorrect code generation. Refer Bug 118153 for details.
-
APEX is currently not supported with LTO (Link-Time Optimization).
Documentation and Getting help
- Documentation and guides for ARC Classic targets may be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2025.09/.
- Documentation and guides for ARC-V targets may be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2025.09/arcv/.
- Please report any problems by filing an Issue in GitHub here.
Toolchains
| Linux x86_64 | Windows x86_64 | Linux ARC HS | |
|---|---|---|---|
| Baremetal ARC Classic (ARC 600/700, EM, HS3x, HS4x) | Little endian / Big endian | Little endian / Big endian | |
| Baremetal ARC-V [Newlib] | Little endian | Little endian | |
| Baremetal ARC-V [Picolibc] | Little endian | Little endian | |
| Baremetal ARCv3 (ARC HS5x/6x) | Little endian |
GNU Toolchain for ARC Processors, arc-2025.09-rc2
This is the 2nd release candidate of 2025.09 version of the GNU Toolchain for DesignWare ARC 600, ARC 700, EM, HS3x/4x, HS5x, HS6x and ARC-V processors.
More information about ARC-V processors can be found on Synopsys website here Power-Efficient RISC-V Processors for Embedded Applications and here Maximum Performance Efficiency for Real-time Applications.
Toolchain and IDE Components Versions
- GCC 15.2 with ARC patches
- Binutils 2.43 with ARC patches
- GDB 15.2 with ARC patches
- Newlib 4.5.0 with ARC patches
- Picolibc 1.8.10 with ARC patches
- uClibc-ng v1.0.51 with ARC patches
- glibc 2.40 with ARC patches
This release of GNU toolchain is supported by CGEN IPlib (TCF generator) version 1.0.53 and later.
New Features and Enhancements
Most new features and enhancements are related to ARC-V targets:
- Introduced support of
-mtune=arc-v-rpx-100-seriesoption for GCC for RPX-100 targets. It allows tuning a schedular for 64-bit ARC-V targets. - Added support for the ARC-V DSP extensions.
- Added support of APEX - custom extensions for ARC-V.
- The toolchain for ARC-V is distributed in 2 variants with different standard libraries: Newlib and Picolibc.
Binary distribution
- Supported host operating systems: Windows 11 64-bit, Ubuntu 22.04, RHEL/AlmaLinux 8.x
- RHEL/CentOS 7.x are not supported anymore since they are EOL.
- Prebuilt bare-metal toolchains for 64-bit Windows & Linux hosts, see table with references and list of artifacts below.
Toolchain Components
For this release binary distributions of ARC GNU tools for all supported processor families (both ARC Classic and ARC-V) are produced from the same sources of corresponding tools.
Here is a list of GitHub issues addressed in this release: GitHub issues for 2025.09. Note, though, this list only contains issues filed against ARC GNU toolchain. Bugs and enhancements made in upstream open-source projects of each toolchain component could be found in the corresponding bug-tracking system.
- GCC 15.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/releases/tag/arc-2025.09-rc1
- Uses upstream 15.2 release, see release announcement (15.1 and 15.2) and complete list of changes.
- Introduced support of
-mtune=arc-v-rpx-100-seriesoption for GCC for RPX-100 targets. It allows tuning a schedular for 64-bit ARC-V targets. - Added support for the ARC-V DSP extensions.
- Added support of APEX - custom extensions for ARC-V.
- Binutils 2.43 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2025.09-rc1
- Uses upstream 2.43 release, see release notes.
- GDB 15.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/tree/arc-2025.09-rc1-gdb
- Uses upstream 15.2 release, see release announcement and complete list of changes for major changes.
- Newlib 4.5.0 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2025.09-rc1
- Uses upstream 4.5.0 release.
- Picolibc 1.8.10 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/picolibc/releases/tag/arc-2025.09-rc1
- Uses upstream 1.8.10 release, see release announcement.
- uClibc-ng 1.0.51 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/releases/tag/arc-2025.09-rc1
- Uses upstream 1.0.51 release, see release announcement.
- glibc 2.40 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2025.09-rc1
- Uses upstream 2.40 release, see release announcement and complete list of changes.
Fixes and improvements in Release Candidate 2 compared to Release Candidate 1
- Fixes and improvements for micro-DSP extensions for ARC-V.
Known issues
ARC Classic
-
Newlib's
libglossdoesn't support RF16 configuration of ARC cores when building for nSIM with-specs=nsim.specs, see #231. Use-specs=hl.specsinstead for RF 16 configurations. -
Non-multilib toolchain doesn't contain
libglosslibraries for nSIM and development boards, see #262. -
libcrypt.so.1is not included in the toolchain (starting from glibc 2.38libcrypt.so.1is not built by default and will be removed from glibc in the future), please uselibcryptimplemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation. -
Eclipse IDE for ARCompact does not support selecting
-specs=options in project's configuration menu. Consider passing this options (e.g.,-specs=nsim.specsfor nSIM) in "ARC GNU Linker" field of projects configuration dialog (C/C++ Build -> Settings -> Top Settings -> ARC GNU Linker).
ARC-V
-
Some complex combinations of
-march=and-mabi=options may lead to unpredictable errors during compilation. Such issues are related to general support of RISC-V extensions in GCC. Refer #610 for details. -
Newlib. The size-optimized Newlib Nano configuration (used when
-specs=nano.specsis passed to GCC) does not supportprintf()forfloatanddoubleby default. Nanoprintf()is size-optimized and does not include support offloatanddouble. If you need that feature, pass-u _printf_floatto GCC when you compile your applications. This option picks up support offloatanddoublefor size optimizedprintf()on demand. -
Using selective scheduler with a specific set of options may lead to incorrect code generation. Refer Bug 118153 for details.
-
APEX is currently not supported with LTO (Link-Time Optimization).
Documentation and Getting help
- Documentation and guides for ARC Classic targets may be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2025.09/.
- Documentation and guides for ARC-V targets may be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2025.09/arcv/.
- Please report any problems by filing an Issue in GitHub here.
Toolchains
| Linux x86_64 | Windows x86_64 | Linux ARC HS | |
|---|---|---|---|
| Baremetal ARC Classic (ARC 600/700, EM, HS3x, HS4x) | Little endian / Big endian | Little endian / Big endian | |
| Baremetal ARC-V [Newlib] | Little endian | Little endian | |
| Baremetal ARC-V [Picolibc] | Little endian | Little endian | |
| Baremetal ARCv3 (ARC HS5x/6x) | Little endian |
GNU Toolchain for ARC Processors, arc-2025.09-rc1
This is the first release candidate of 2025.09 version of the GNU Toolchain for DesignWare ARC 600, ARC 700, EM, HS3x/4x, HS5x, HS6x and ARC-V processors.
More information about ARC-V processors can be found on Synopsys website here Power-Efficient RISC-V Processors for Embedded Applications and here Maximum Performance Efficiency for Real-time Applications.
Toolchain and IDE Components Versions
- GCC 15.2 with ARC patches
- Binutils 2.43 with ARC patches
- GDB 15.2 with ARC patches
- Newlib 4.5.0 with ARC patches
- Picolibc 1.8.10 with ARC patches
- uClibc-ng v1.0.51 with ARC patches
- glibc 2.40 with ARC patches
This release of GNU toolchain is supported by CGEN IPlib (TCF generator) version 1.0.53 and later.
New Features and Enhancements
Most new features and enhancements are related to ARC-V targets:
- Introduced support of
-mtune=arc-v-rpx-100-seriesoption for GCC for RPX-100 targets. It allows tuning a schedular for 64-bit ARC-V targets. - Added support for the ARC-V DSP extensions.
- Added support of APEX - custom extensions for ARC-V.
- The toolchain for ARC-V is distributed in 2 variants with different standard libraries: Newlib and Picolibc.
Binary distribution
- Supported host operating systems: Windows 11 64-bit, Ubuntu 22.04, RHEL/AlmaLinux 8.x
-
- RHEL/CentOS 7.x are not supported anymore since they are EOL.
- Prebuilt bare-metal toolchains for 64-bit Windows & Linux hosts, see table with references and list of artifacts below.
Toolchain Components
For this release binary distributions of ARC GNU tools for all supported processor families (both ARC Classic and ARC-V) are produced from the same sources of corresponding tools.
Here is a list of GitHub issues addressed in this release: GitHub issues for 2025.09. Note, though, this list only contains issues filed against ARC GNU toolchain. Bugs and enhancements made in upstream open-source projects of each toolchain component could be found in the corresponding bug-tracking system.
- GCC 15.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/releases/tag/arc-2025.09-rc1
- Uses upstream 15.2 release, see release announcement (15.1 and 15.2) and complete list of changes.
- Introduced support of
-mtune=arc-v-rpx-100-seriesoption for GCC for RPX-100 targets. It allows tuning a schedular for 64-bit ARC-V targets. - Added support for the ARC-V DSP extensions.
- Added support of APEX - custom extensions for ARC-V.
- Binutils 2.43 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2025.09-rc1
- Uses upstream 2.43 release, see release notes.
- GDB 15.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/tree/arc-2025.09-rc1-gdb
- Uses upstream 15.2 release, see release announcement and complete list of changes for major changes.
- Newlib 4.5.0 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2025.09-rc1
- Uses upstream 4.5.0 release.
- Picolibc 1.8.10 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/picolibc/releases/tag/arc-2025.09-rc1
- Uses upstream 1.8.10 release, see release announcement.
- uClibc-ng 1.0.51 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/releases/tag/arc-2025.09-rc1
- Uses upstream 1.0.51 release, see release announcement.
- glibc 2.40 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2025.09-rc1
- Uses upstream 2.40 release, see release announcement and complete list of changes.
Known issues
ARC Classic
-
Newlib's
libglossdoesn't support RF16 configuration of ARC cores when building for nSIM with-specs=nsim.specs, see #231. Use-specs=hl.specsinstead for RF 16 configurations. -
Non-multilib toolchain doesn't contain
libglosslibraries for nSIM and development boards, see #262. -
libcrypt.so.1is not included in the toolchain (starting from glibc 2.38libcrypt.so.1is not built by default and will be removed from glibc in the future), please uselibcryptimplemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation. -
Eclipse IDE for ARCompact does not support selecting
-specs=options in project's configuration menu. Consider passing this options (e.g.,-specs=nsim.specsfor nSIM) in "ARC GNU Linker" field of projects configuration dialog (C/C++ Build -> Settings -> Top Settings -> ARC GNU Linker).
ARC-V
-
Some complex combinations of
-march=and-mabi=options may lead to unpredictable errors during compilation. Such issues are related to general support of RISC-V extensions in GCC. Refer #610 for details. -
Newlib. The size-optimized Newlib Nano configuration (used when
-specs=nano.specsis passed to GCC) does not supportprintf()forfloatanddoubleby default. Nanoprintf()is size-optimized and does not include support offloatanddouble. If you need that feature, pass-u _printf_floatto GCC when you compile your applications. This option picks up support offloatanddoublefor size optimizedprintf()on demand. -
Using selective scheduler with a specific set of options may lead to incorrect code generation. Refer Bug 118153 for details.
-
APEX is currently not supported with LTO (Link-Time Optimization).
Documentation and Getting help
- Documentation and guides for ARC Classic targets may be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2025.09/.
- Documentation and guides for ARC-V targets may be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2025.09/arcv/.
- Please report any problems by filing an Issue in GitHub here.
Toolchains
| Linux x86_64 | Windows x86_64 | Linux ARC HS | |
|---|---|---|---|
| Baremetal ARC Classic (ARC 600/700, EM, HS3x, HS4x) | Little endian / Big endian | Little endian / Big endian | |
| Baremetal ARC-V [Newlib] | Little endian | Little endian | |
| Baremetal ARC-V [Picolibc] | Little endian | Little endian | |
| Baremetal ARCv3 (ARC HS5x/6x) | Little endian | ||
| Linux/uClibc ARC 700 |
GNU Toolchain for ARC Processors, arc-2024.12-release
This is release of 2024.12 version of the GNU Toolchain for DesignWare ARC 600, ARC 700, EM, HS3x/4x, HS5x, HS6x and ARC-V processors.
More information about ARC-V processors can be found on Synopsys website here Power-Efficient RISC-V Processors for Embedded Applications and here Maximum Performance Efficiency for Real-time Applications.
Important
EM Starter Kit and Ashling Opella-XD probe are EOL (End of Life) and they are no longer supported. Refer the old documentation site for guides related to EM Starter Kit and Ashling Opella-XD for old releases. Corresponding pages on the official documentation site for recent releases still exist but they may be not applicable for the recent releases.
Toolchain and IDE Components Versions
- GCC 14.2 with ARC patches
- Binutils 2.43 with ARC patches
- GDB 15.1 with ARC patches
- Newlib 4.4.0 with ARC patches
- uClibc-ng v1.0.49 with ARC patches
- glibc 2.40 with ARC patches
This release of GNU toolchain is supported by CGEN IPlib (TCF generator) version 1.0.53 and later.
New Features and Enhancements
Binary distribution
- Supported host operating systems: Windows 11 64-bit, Ubuntu 22.04, RHEL/AlmaLinux 8.x
- Prebuilt bare-metal toolchains for 64-bit Windows & Linux hosts, see table with references and list of artifacts below.
Toolchain Components
For this release binary distributions of ARC GNU tools for all supported processor families (both ARC Classic and ARC-V) are produced from the same sources of corresponding tools.
There are no major changes for ARC Classic targets except ARC-specific improvements and fixes for ARCompact, ARCv2 and ARCv3 ISA processors on top of the upstream releases. All components are updated on top of upstream releases.
There are a few major changes for ARC-V targets besides updates to the latests versions:
- Added full support of tuning instructions scheduling for RMX-100, RMX-500 and RHX-100.
- Add initial support of RVV extension for ARC-V RPX processors in the binary distribution of ARC GNU toolchain.
- Prebuilt standard libraries for base RMX-100, RMX-500 and RHX-100 profiles are included. Refer Understanding ARC-V Configurations page for details.
Here is a list of GitHub issues addressed in this release: GitHub issues for 2024.12. Note, though, this list only contains issues filed against ARC GNU toolchain. Bugs and enhancements made in upstream open-source projects of each toolchain component could be found in the corresponding bug-tracking system.
- GCC 14.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/releases/tag/arc-2024.12-rc1
- Uses upstream 14.2 release, see release announcement and complete list of changes.
- Added full support of tuning instructions scheduling for RMX-100, RMX-500 and RHX-100.
- Add initial support of RVV extension for ARC-V RPX processors in the binary distribution of ARC GNU toolchain.
- Binutils 2.43 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2024.12-rc1
- Uses upstream 2.43 release, see release notes.
- GDB 15.1 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/tree/arc-2024.12-gdb
- Uses upstream 15.1 release, see release announcement and omplete list of changes for major changes.
- Newlib 4.4.0 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2024.12-rc1
- Uses upstream 4.4.0 release, see release announcement.
- Caches are enabled automatically when a custom startup file is used for ARC-V.
- Added support of passing command line arguments through Semihosting interface (works both for nSIM and QEMU simulators).
- uClibc-ng 1.0.49 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/releases/tag/arc-2024.12-rc1
- Uses upstream 1.0.49 release, see release announcement.
- glibc 2.40 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2024.12-rc1
- Uses upstream 2.40 release, see release announcement and complete list of changes.
Fixes and improvements in the final release compared to Release Candidate 1
There are no changes in the final release compared to the Release Candidate 1.
Known issues
ARC Classic
-
Newlib's
libglossdoesn't support RF16 configuration of ARC cores when building for nSIM with-specs=nsim.specs, see #231. Use-specs=hl.specsinstead for RF 16 configurations. -
Non-multilib toolchain doesn't contain
libglosslibraries for nSIM and development boards, see #262. -
libcrypt.so.1is not included in the toolchain (starting from glibc 2.38libcrypt.so.1is not built by default and will be removed from glibc in the future), please uselibcryptimplemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation. -
Eclipse IDE for ARCompact does not support selecting
-specs=options in project's configuration menu. Consider passing this options (e.g.,-specs=nsim.specsfor nSIM) in "ARC GNU Linker" field of projects configuration dialog (C/C++ Build -> Settings -> Top Settings -> ARC GNU Linker).
ARC-V
-
Some complex combinations of
-march=and-mabi=options may lead to unpredictable errors during compilation. Such issues are related to general support of RISC-V extensions in GCC. Refer #610 for details. -
The size-optimized Newlib Nano configuration (used when
-specs=nano.specsis passed to GCC) does not supportprintf()forfloatanddoubleby default. Nanoprintf()is size-optimized and does not include support offloatanddouble. If you need that feature, pass-u _printf_floatto GCC when you compile your applications. This option picks up support offloatanddoublefor size optimizedprintf()on demand. -
There is an issue in GCC that prevents matching -march configurations like rv32imc and rv32im_zca as compatible and interchangeable. Refer #653 for details.
-
Using selective scheduler with a specific set of options may lead to incorrect code generation. Refer Bug 118153 for details.
Getting help
ARC Classic
Documentation and guides for ARC Classic targets may be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2024.12/. Please report any problems by filing an Issue in GitHub here.
ARC-V
Getting Started manual covering all aspects of the ARC-V family of processors could be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2024.12/arcv/.
Also visit the GitHub discussions link for a community forum tailored to ARC-V processors. To report issues and enhancement requests, use GitHub issues (if you are not sure, start with discussions, since a discussion can always be converted into an issue).
- GitHub discussions: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/discussions
- GitHub issues: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/issues
| Linux x86_64 | Linux ARC HS | Windows x86_64 | macOS x86_64 | |
|---|---|---|---|---|
| Baremetal | Little endian / Big endian | Little endian / |
GNU Toolchain for ARC Processors, arc-2024.12-rc1
This is the first release candidate of 2024.12 version of the GNU Toolchain for DesignWare ARC 600, ARC 700, EM, HS3x/4x, HS5x, HS6x and ARC-V processors.
More information about ARC-V processors can be found on Synopsys website here Power-Efficient RISC-V Processors for Embedded Applications and here Maximum Performance Efficiency for Real-time Applications.
Important
EM Starter Kit and Ashling Opella-XD probe are EOL (End of Life) and they are no longer supported. Refer the old documentation site for guides related to EM Starter Kit and Ashling Opella-XD for old releases. Corresponding pages on the official documentation site for recent releases still exist but they may be not applicable for the recent releases.
Toolchain and IDE Components Versions
- GCC 14.2 with ARC patches
- Binutils 2.43 with ARC patches
- GDB 15.1 with ARC patches
- Newlib 4.4.0 with ARC patches
- uClibc-ng v1.0.49 with ARC patches
- glibc 2.40 with ARC patches
This release of GNU toolchain is supported by CGEN IPlib (TCF generator) version 1.0.53 and later.
New Features and Enhancements
Binary distribution
- Supported host operating systems: Windows 11 64-bit, Ubuntu 22.04, RHEL/AlmaLinux 8.x
- Prebuilt bare-metal toolchains for 64-bit Windows & Linux hosts, see table with references and list of artifacts below.
Toolchain Components
For this release binary distributions of ARC GNU tools for all supported processor families (both ARC Classic and ARC-V) are produced from the same sources of corresponding tools.
There are no major changes for ARC Classic targets except ARC-specific improvements and fixes for ARCompact, ARCv2 and ARCv3 ISA processors on top of the upstream releases. All components are updated on top of upstream releases.
There are a few major changes for ARC-V targets besides updates to the latests versions:
- Added full support of tuning instructions scheduling for RMX-100, RMX-500 and RHX-100.
- Add initial support of RVV extension for ARC-V RPX processors in the binary distribution of ARC GNU toolchain.
- Prebuilt standard libraries for base RMX-100, RMX-500 and RHX-100 profiles are included. Refer Understanding ARC-V Configurations page for details.
Here is a list of GitHub issues addressed in this release: GitHub issues for 2024.12. Note, though, this list only contains issues filed against ARC GNU toolchain. Bugs and enhancements made in upstream open-source projects of each toolchain component could be found in the corresponding bug-tracking system.
- GCC 14.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/releases/tag/arc-2024.12-rc1
- Uses upstream 14.2 release, see release announcement and complete list of changes.
- Added full support of tuning instructions scheduling for RMX-100, RMX-500 and RHX-100.
- Add initial support of RVV extension for ARC-V RPX processors in the binary distribution of ARC GNU toolchain.
- Binutils 2.43 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2024.12-rc1
- Uses upstream 2.43 release, see release notes.
- GDB 15.1 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/tree/arc-2024.12-gdb
- Uses upstream 15.1 release, see release announcement and omplete list of changes for major changes.
- Newlib 4.4.0 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2024.12-rc1
- Uses upstream 4.4.0 release, see release announcement.
- Caches are enabled automatically when a custom startup file is used for ARC-V.
- Added support of passing command line arguments through Semihosting interface (works both for nSIM and QEMU simulators).
- uClibc-ng 1.0.49 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/releases/tag/arc-2024.12-rc1
- Uses upstream 1.0.49 release, see release announcement.
- glibc 2.40 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2024.12-rc1
- Uses upstream 2.40 release, see release announcement and complete list of changes.
Known issues
ARC Classic
-
Newlib's
libglossdoesn't support RF16 configuration of ARC cores when building for nSIM with-specs=nsim.specs, see #231. Use-specs=hl.specsinstead for RF 16 configurations. -
Non-multilib toolchain doesn't contain
libglosslibraries for nSIM and development boards, see #262. -
libcrypt.so.1is not included in the toolchain (starting from glibc 2.38libcrypt.so.1is not built by default and will be removed from glibc in the future), please uselibcryptimplemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation. -
Eclipse IDE for ARCompact does not support selecting
-specs=options in project's configuration menu. Consider passing this options (e.g.,-specs=nsim.specsfor nSIM) in "ARC GNU Linker" field of projects configuration dialog (C/C++ Build -> Settings -> Top Settings -> ARC GNU Linker).
ARC-V
-
Some complex combinations of
-march=and-mabi=options may lead to unpredictable errors during compilation. Such issues are related to general support of RISC-V extensions in GCC. Refer #610 for details. -
The size-optimized Newlib Nano configuration (used when
-specs=nano.specsis passed to GCC) does not supportprintf()forfloatanddoubleby default. Nanoprintf()is size-optimized and does not include support offloatanddouble. If you need that feature, pass-u _printf_floatto GCC when you compile your applications. This option picks up support offloatanddoublefor size optimizedprintf()on demand. -
There is an issue in GCC that prevents matching -march configurations like rv32imc and rv32im_zca as compatible and interchangeable. Refer #653 for details.
-
Using selective scheduler with a specific set of options may lead to incorrect code generation. Refer Bug 118153 for details.
Getting help
ARC Classic
Documentation and guides for ARC Classic targets may be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2024.12/. Please report any problems by filing an Issue in GitHub here.
ARC-V
Getting Started manual covering all aspects of the ARC-V family of processors could be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2024.12/arcv/.
Also visit the GitHub discussions link for a community forum tailored to ARC-V processors. To report issues and enhancement requests, use GitHub issues (if you are not sure, start with discussions, since a discussion can always be converted into an issue).
- GitHub discussions: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/discussions
- GitHub issues: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/issues
| Linux x86_64 | Linux ARC HS | Windows x86_64 | macOS x86_64 | |
|---|---|---|---|---|
| Baremetal | Little endian / Big endian | Little endian / Big endian | ||
| Linux/uClibc ARC 700 |
GNU Toolchain for ARC Processors, arc-2024.06-release
This is release of 2024.06 version of the GNU Toolchain for DesignWare ARC 600, ARC 700, EM, HS3x/4x, HS5x, HS6x and ARC-V processors. This is the first release which supports the latest GNU tools for both ARC Classic and ARC-V processors simultaneously.
More information about ARC-V processors can be found on Synopsys website here Power-Efficient RISC-V Processors for Embedded Applications and here Maximum Performance Efficiency for Real-time Applications.
Important
EM Starter Kit and Ashling Opella-XD probe are EOL (End of Life) and they are no longer supported. Refer the old documentation site for guides related to EM Starter Kit and Ashling Opella-XD for old releases. Corresponding pages on the official documentation site for recent releases still exist but they may be not applicable for the recent releases.
Toolchain and IDE Components Versions
- GCC 14.1 with ARC patches
- Binutils 2.42 with ARC patches
- GDB 14.2 with ARC patches
- Newlib 4.4.0 with ARC patches
- uClibc-ng v1.0.49 with ARC patches
- glibc 2.39 with ARC patches
This release of GNU toolchain is supported by CGEN IPlib (TCF generator) version 1.0.53 and later.
New Features and Enhancements
Binary distribution
- Supported host operating systems: Windows 11 64-bit, Ubuntu 22.04, RHEL/AlmaLinux 8.x
- Prebuilt bare-metal toolchains for 64-bit Windows & Linux hosts, see table with references and list of artifacts below.
Toolchain Components
For this release binary distributions of ARC GNU tools for all supported processor families (both ARC Classic and ARC-V) are produced from the same sources of corresponding tools.
There are no major changes for ARC targets except ARC-specific improvements and fixes for ARCompact, ARCv2 and ARCv3 ISA processors on top of the upstream releases. All components are updated on top of upstream releases.
Here is a list of GitHub issues addressed in this release: GitHub issues for 2024.06. Note, though, this list only contains issues filed against ARC GNU toolchain. Bugs and enhancements made in upstream open-source projects of each toolchain component could be found inthe corresponding bug-tracking system.
- GCC 14.1 with ARC patches
- Uses upstream 14.1 release, see release announcement and complete list of changes.
- Initial support of RVV extensions is added in upstream GCC 14.
- Binutils 2.42 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2024.06-rc1
- Uses upstream 2.42 release, see release notes.
- GDB 14.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/tree/arc-2024.06-gdb
- Uses upstream 14.2 release, see release announcement for 14.1 and complete list of changes for 14.1 for major changes.
- Newlib 4.4.0 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2024.06-rc1
- Uses upstream 4.4.0 release, see release announcement.
- Upstream Newlib source tree now contains the latest changes for ARC Classic.
- uClibc-ng 1.0.49 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/releases/tag/arc-2024.06-rc1
- Uses upstream 1.0.49 release, see release announcement.
- glibc 2.39 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2024.06-rc1
- Uses upstream 2.39 release, see release announcement and complete list of changes.
Fixes and improvements in the final release compared to Release Candidate 2
There are no changes in the final release compared to the Release Candidate 2.
Fixes and improvements in the Release Candidate 2 compared to Release Candidate 1
- #630: A temporary patch applied to fix an incorrect behavior of
__builtin_mul_overflowfunction. - #633: Resolved an issue when FPU is not enabled by default in Newlib for ARC-V targets with
fordextensions.
Known issues
ARC Classic
-
Newlib's
libglossdoesn't support RF16 configuration of ARC cores when building for nSIM with-specs=nsim.specs, see #231. Use-specs=hl.specsinstead for RF 16 configurations. -
Non-multilib toolchain doesn't contain
libglosslibraries for nSIM and development boards, see #262. -
libcrypt.so.1is not included in the toolchain (starting from glibc 2.38libcrypt.so.1is not built by default and will be removed from glibc in the future), please uselibcryptimplemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation. -
Eclipse IDE for ARC does not support selecting
-specs=options in project's configuration menu. Consider passing this options (e.g.,-specs=nsim.specsfor nSIM) in "ARC GNU Linker" field of projects configuration dialog (C/C++ Build -> Settings -> Top Settings -> ARC GNU Linker).
ARC-V
-
Some complex combinations of
-march=and-mabi=options may lead to unpredictable errors during compilation. Such issues are related to general support of RISC-V extensions in GCC. See #610. -
GCC 14 generates incorrect include directories if it's configured with
--with-sysroot=...and--with-native-system-header-dir=...options. This is a valid set of options for building GCC, however since GCC that leads to including invalid paths to a includes search list when-save-tempsis used while building binaries. This issue is not critical and is going to be addressed later. See #628. -
The size-optimized Newlib Nano configuration (used when
-specs=nano.specsis passed to GCC) does not supportprintf()forfloatanddoubleby default. Nanoprintf()is size-optimized and does not include support offloatanddouble. If you need that feature, pass-u _printf_floatto GCC when you compile your applications. This option picks up support offloatanddoublefor size optimizedprintf()on demand.
Getting help
ARC Classic
Documentation and guides for ARC Classic targets may be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2024.06/. Please report any problems by filing an Issue in GitHub here.
ARC-V
Getting Started manual covering all aspects of the ARC-V family of processors could be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/arc-v-getting-started.
Also visit the GitHub discussions link for a community forum tailored to ARC-V processors. To report issues and enhancement requests, use GitHub issues (if you are not sure, start with discussions, since a discussion can always be converted into an issue).
- GitHub discussions: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/discussions
- GitHub issues: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/issues
Prebuilt toolchains available for download
| Linux x86_64 | Linux ARC HS | Windows x86_64 | macOS x86_64 | |
|---|---|---|---|---|
| Baremetal | Little endian / Big endian | Little endian / Big endian | ||
| Linux/uClibc ARC 700 | Lit... |
GNU Toolchain for ARC Processors, arc-2024.06-rc2
This is the 2nd release candidate of 2024.06 version of the GNU Toolchain for DesignWare ARC 600, ARC 700, EM, HS3x/4x, HS5x, HS6x and ARC-V processors. This is the first release which supports the latest GNU tools for both ARC Classic and ARC-V processors simultaneously.
More information about ARC-V processors can be found on Synopsys website here Power-Efficient RISC-V Processors for Embedded Applications and here Maximum Performance Efficiency for Real-time Applications.
Important
EM Starter Kit and Ashling Opella-XD probe are EOL (End of Life) and they are no longer supported. Refer the old documentation site for guides related to EM Starter Kit and Ashling Opella-XD for old releases. Corresponding pages on the official documentation site for recent releases still exist but they may be not applicable for the recent releases.
Toolchain and IDE Components Versions
- GCC 14.1 with ARC patches
- Binutils 2.42 with ARC patches
- GDB 14.2 with ARC patches
- Newlib 4.4.0 with ARC patches
- uClibc-ng v1.0.49 with ARC patches
- glibc 2.39 with ARC patches
This release of GNU toolchain is supported by CGEN IPlib (TCF generator) version 1.0.53 and later.
New Features and Enhancements
Binary distribution
- Supported host operating systems: Windows 11 64-bit, Ubuntu 22.04, RHEL/AlmaLinux 8.x
- Prebuilt bare-metal toolchains for 64-bit Windows & Linux hosts, see table with references and list of artifacts below.
Toolchain Components
For this release binary distributions of ARC GNU tools for all supported processor families (both ARC Classic and ARC-V) are produced from the same sources of corresponding tools.
There are no major changes for ARC targets except ARC-specific improvements and fixes for ARCompact, ARCv2 and ARCv3 ISA processors on top of the upstream releases. All components are updated on top of upstream releases.
Here is a list of GitHub issues addressed in this release: GitHub issues for 2024.06. Note, though, this list only contains issues filed against ARC GNU toolchain. Bugs and enhancements made in upstream open-source projects of each toolchain component could be found inthe corresponding bug-tracking system.
- GCC 14.1 with ARC patches
- Uses upstream 14.1 release, see release announcement and complete list of changes.
- Initial support of RVV extensions is added in upstream GCC 14.
- Binutils 2.42 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2024.06-rc1
- Uses upstream 2.42 release, see release notes.
- GDB 14.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/tree/arc-2024.06-gdb
- Uses upstream 14.2 release, see release announcement for 14.1 and complete list of changes for 14.1 for major changes.
- Newlib 4.4.0 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2024.06-rc1
- Uses upstream 4.4.0 release, see release announcement.
- Upstream Newlib source tree now contains the latest changes for ARC Classic.
- uClibc-ng 1.0.49 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/releases/tag/arc-2024.06-rc1
- Uses upstream 1.0.49 release, see release announcement.
- glibc 2.39 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2024.06-rc1
- Uses upstream 2.39 release, see release announcement and complete list of changes.
Fixes and improvements in the final release compared to Release Candidate 1
- #630: A temporary patch applied to fix an incorrect behavior of
__builtin_mul_overflowfunction. - #633: Resolved an issue when FPU is not enabled by default in Newlib for ARC-V targets with
fordextensions.
Known issues
ARC Classic
-
Newlib's
libglossdoesn't support RF16 configuration of ARC cores when building for nSIM with-specs=nsim.specs, see #231. Use-specs=hl.specsinstead for RF 16 configurations. -
Non-multilib toolchain doesn't contain
libglosslibraries for nSIM and development boards, see #262. -
libcrypt.so.1is not included in the toolchain (starting from glibc 2.38libcrypt.so.1is not built by default and will be removed from glibc in the future), please uselibcryptimplemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation. -
Eclipse IDE for ARC does not support selecting
-specs=options in project's configuration menu. Consider passing this options (e.g.,-specs=nsim.specsfor nSIM) in "ARC GNU Linker" field of projects configuration dialog (C/C++ Build -> Settings -> Top Settings -> ARC GNU Linker).
ARC-V
-
Some complex combinations of
-march=and-mabi=options may lead to unpredictable errors during compilation. Such issues are related to general support of RISC-V extensions in GCC. See #610. -
GCC 14 generates incorrect include directories if it's configured with
--with-sysroot=...and--with-native-system-header-dir=...options. This is a valid set of options for building GCC, however since GCC that leads to including invalid paths to a includes search list when-save-tempsis used while building binaries. This issue is not critical and is going to be addressed later. See #628. -
The size-optimized Newlib Nano configuration (used when
-specs=nano.specsis passed to GCC) does not supportprintf()forfloatanddoubleby default. Nanoprintf()is size-optimized and does not include support offloatanddouble. If you need that feature, pass-u _printf_floatto GCC when you compile your applications. This option picks up support offloatanddoublefor size optimizedprintf()on demand.
Getting help
ARC Classic
Documentation and guides for ARC Classic targets may be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2024.06/. Please report any problems by filing an Issue in GitHub here.
ARC-V
Getting Started manual covering all aspects of the ARC-V family of processors could be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/arc-v-getting-started.
Also visit the GitHub discussions link for a community forum tailored to ARC-V processors. To report issues and enhancement requests, use GitHub issues (if you are not sure, start with discussions, since a discussion can always be converted into an issue).
- GitHub discussions: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/discussions
- GitHub issues: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/issues
Prebuilt toolchains available for download
| Linux x86_64 | Linux ARC HS | Windows x86_64 | macOS x86_64 | |
|---|---|---|---|---|
| Baremetal | Little endian / Big endian | Little endian / Big endian | ||
| Linux/uClibc ARC 700 | Little endian / |
GNU Toolchain for ARC Processors, arc-2024.06-rc1
This is the first release candidate of 2024.06 version of the GNU Toolchain for DesignWare ARC 600, ARC 700, EM, HS3x/4x, HS5x, HS6x and ARC-V processors. This is the first release which supports the latest GNU tools for both ARC Classic and ARC-V processors simultaneously.
More information about ARC-V processors can be found on Synopsys website here Power-Efficient RISC-V Processors for Embedded Applications and here Maximum Performance Efficiency for Real-time Applications.
Important
EM Starter Kit and Ashling Opella-XD probe are EOL (End of Life) and they are no longer supported. Refer the old documentation site for guides related to EM Starter Kit and Ashling Opella-XD for old releases. Corresponding pages on the official documentation site for recent releases still exist but they may be not applicable for the recent releases.
Toolchain and IDE Components Versions
- GCC 14.1 with ARC patches
- Binutils 2.42 with ARC patches
- GDB 14.2 with ARC patches
- Newlib 4.4.0 with ARC patches
- uClibc-ng v1.0.49 with ARC patches
- glibc 2.39 with ARC patches
This release of GNU toolchain is supported by CGEN IPlib (TCF generator) version 1.0.53 and later.
New Features and Enhancements
Binary distribution
- Supported host operating systems: Windows 11 64-bit, Ubuntu 22.04, RHEL/AlmaLinux 8.x
- Prebuilt bare-metal toolchains for 64-bit Windows & Linux hosts, see table with references and list of artifacts below.
Toolchain Components
For this release binary distributions of ARC GNU tools for all supported processor families (both ARC Classic and ARC-V) are produced from the same sources of corresponding tools.
There are no major changes for ARC targets except ARC-specific improvements and fixes for ARCompact, ARCv2 and ARCv3 ISA processors on top of the upstream releases. All components are updated on top of upstream releases.
Here is a list of GitHub issues addressed in this release: GitHub issues for 2024.06. Note, though, this list only contains issues filed against ARC GNU toolchain. Bugs and enhancements made in upstream open-source projects of each toolchain component could be found inthe corresponding bug-tracking system.
- GCC 14.1 with ARC patches
- Uses upstream 14.1 release, see release announcement and complete list of changes.
- Initial support of RVV extensions is added in upstream GCC 14.
- Binutils 2.42 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2024.06-rc1
- Uses upstream 2.42 release, see release notes.
- GDB 14.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/tree/arc-2024.06-gdb
- Uses upstream 14.2 release, see release announcement for 14.1 and complete list of changes for 14.1 for major changes.
- Newlib 4.4.0 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2024.06-rc1
- Uses upstream 4.4.0 release, see release announcement.
- Upstream Newlib source tree now contains the latest changes for ARC Classic.
- uClibc-ng 1.0.49 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/releases/tag/arc-2024.06-rc1
- Uses upstream 1.0.49 release, see release announcement.
- glibc 2.39 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2024.06-rc1
- Uses upstream 2.39 release, see release announcement and complete list of changes.
Known issues
ARC Classic
-
Newlib's
libglossdoesn't support RF16 configuration of ARC cores when building for nSIM with-specs=nsim.specs, see #231. Use-specs=hl.specsinstead for RF 16 configurations. -
Non-multilib toolchain doesn't contain
libglosslibraries for nSIM and development boards, see #262. -
libcrypt.so.1is not included in the toolchain (starting from glibc 2.38libcrypt.so.1is not built by default and will be removed from glibc in the future), please uselibcryptimplemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation. -
Eclipse IDE for ARC does not support selecting
-specs=options in project's configuration menu. Consider passing this options (e.g.,-specs=nsim.specsfor nSIM) in "ARC GNU Linker" field of projects configuration dialog (C/C++ Build -> Settings -> Top Settings -> ARC GNU Linker).
ARC-V
-
Some complex combinations of
-march=and-mabi=options may lead to unpredictable errors during compilation. Such issues are related to general support of RISC-V extensions in GCC. See #610. -
GCC 14 generates incorrect include directories if it's configured with
--with-sysroot=...and--with-native-system-header-dir=...options. This is a valid set of options for building GCC, however since GCC that leads to including invalid paths to a includes search list when-save-tempsis used while building binaries. This issue is not critical and is going to be addressed later. See #628. -
The size-optimized Newlib Nano configuration (used when
-specs=nano.specsis passed to GCC) does not supportprintf()forfloatanddoubleby default. Nanoprintf()is size-optimized and does not include support offloatanddouble. If you need that feature, pass-u _printf_floatto GCC when you compile your applications. This option picks up support offloatanddoublefor size optimizedprintf()on demand.
Getting help
ARC Classic
Documentation and guides for ARC Classic targets may be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2024.06/. Please report any problems by filing an Issue in GitHub here.
ARC-V
Getting Started manual covering all aspects of the ARC-V family of processors could be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/arc-v-getting-started.
Also visit the GitHub discussions link for a community forum tailored to ARC-V processors. To report issues and enhancement requests, use GitHub issues (if you are not sure, start with discussions, since a discussion can always be converted into an issue).
- GitHub discussions: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/discussions
- GitHub issues: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/issues
Prebuilt toolchains available for download
| Linux x86_64 | Linux ARC HS | Windows x86_64 | macOS x86_64 | |
|---|---|---|---|---|
| Baremetal | Little endian / Big endian | Little endian / Big endian | ||
| Linux/uClibc ARC 700 | Little endian / Big endian | |||
| Linux/uClibc ARC HS | Little endian / |

