GNU Toolchain for ARC Processors, 2022.09-rc1
Pre-releaseThis is the first release candidate of 2022.09 version of the GNU Toolchain for DesignWare ARC 600, ARC 700, EM, HS3x/4x, HS5x & HS6x processors. Most notably, this is the first release of ARC GNU toolchain with support of both 32- (ARC HS5x) & 64-bit (ARC HS6x) versions of ARCv3 processors.
GNU Documentation can be found online here https://foss-for-synopsys-dwc-arc-processors.github.io/toolchain.
A list of useful how-to instructions can also be found on the GNU Toolchain for DesignWare ARC Processors Documentation wiki.
Toolchain and IDE Components Versions
- Binutils 2.38 with ARC patches
- GCC 12.2 with ARC patches
- GDB 12.1 with ARC patches
- newlib 3.2.0 with ARC patches
- uClibc-ng v1.0.42
- glibc 2.34
This release of GNU toolchain is supported by CGEN IPlib (TCF generator) version 1.0.53 and later.
New Features and Enhancements
-
Added support for ARCv3 processors
- Multilib bare-metal toolchain suitable for building application for bare metal ARC HS5x & HS6x processors.
- Linux toolchain with uClibc for 32-bit ARC HS5x processors
- Linux toolchain with glibc for 64-bit ARC HS6x processors
-
Binary distribution
- Supported host operating systems: Windows 10 64-bit, Ubuntu 16.04.x, 18.04.x, CentOS/RHEL 7.x
-
GCC
- Updated to upstream 12.2 release, see release announcement https://gcc.gnu.org/pipermail/gcc-announce/2022/000174.html & complete list of changes https://gcc.gnu.org/gcc-12/changes.html
- Added support for ARCv3 processors
- Fixes and improvements for ARCompact & ARCv2 processors
-
GDB
- Updated to the upstream v12.1 release, see release notes for more details: https://lists.gnu.org/archive/html/info-gnu/2022-05/msg00000.html
- Added support for ARCv2 processors
- Bug fixes
-
Binutils
- Updated to Binutils 2.38, see release notes for more info: https://sourceware.org/pipermail/binutils/2022-February/119721.html
- Added support for ARCv3 processors
- Bug fixes
-
glibc
- Updated to the upstream 2.34 release. For more details see release announcement https://sourceware.org/pipermail/libc-alpha/2021-August/129718.html & release notes https://sourceware.org/glibc/wiki/Release/2.34.
- Added support for ARCv3 processors
-
uClibc-ng
- Updated to the latest upstream version v1.0.42, see https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tag/?h=v1.0.42
- Added support for ARCv3 processors
-
Newlib
- No changes, the same version is used
- Added support for ARCv3 processors
Known issues
-
CenOS 6.x hosts are not supported any longer for both running prebuilt tools as well as for building tools, see #202.
-
GDB compilation may intermittently fail due to unwanted regenerating intl/plural.c, see #212.
-
[Jira P10019563-38842] Ashling Opella-XD drivers of version 1.2.6 and above to work with ARC GNU IDE required to run the Ashling GDB server separately and select "Connect to a running GDB server" in the Debug Launch.
To run the Ashling GDB server use the following from a command prompt:
C:\AshlingOpellaXDforARC> ash-arc-gdb-server.exe --device arc-emOther supported devices are arc-hs, arc-600 and arc-700.
See section "3.2 Configuring the Ashling GDB Server" in the Ashling Opella-XD ARC User manual for more details.
-
Newlib's libgloss doesn't support RF16 configuration of ARC cores when building for nSIM with "GNU Hostlink", see #231. But with use of "MetaWare Hostlink" RF16 configuration might be used now, see https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/blob/arc-2021.03/libgloss/arc/readme-hostlink.md for more details.
-
Non-multilib toolchain built for ARC EM doesn't contain
libdw_uart.afor EMSK, see #262 -
Binutils bug #431 causing pop-up with warning when using
arutility on Windows host. See #431 (comment) for work-around. -
macOS cross-toolchains are not being distributed in this release
Please report any problems by filing an Issue in GitHub here.
| Linux x86_64 | Windows x86_64 | Linux ARC HS | macOS x86_64 | |
|---|---|---|---|---|
| Baremetal | Little endian \ Big endian | |||
| Linux/uClibc ARC700 | Little endian \ Big endian | |||
| Linux/uClibc ARC HS | Little endian \ Big endian | |||
| Linux/glibc ARC HS | Little endian \ Big endian | Little endian | ||
| IDE | Download | Download | ||
| Baremetal ARCv3 | Little endian | |||
| Linux/glibc ARC HS68 | Little endian | Little endian | ||
| Linux/uClibc ARC HS58 | Little endian | Little endian |
374af5c09cf3ba79d4419a547bd41a502989fcc0016746710683e36a2debdf5e *arc_gnu_2022.09-rc1_prebuilt_elf32_le_linux_install.tar.gz
79b9cec873cc12734ec5a71f8d2e6284e6519b73eb4f58ea4d15b643e3d37982 *arc_gnu_2022.09-rc1_prebuilt_elf32_be_linux_install.tar.gz
67c80d7d548c6254dd755c6edceca6b6cefd91703222932c6a3580787adc0356 *arc_gnu_2022.09-rc1_prebuilt_uclibc_le_arc700_linux_install.tar.gz
a2862ea733c035d1d3d32bcd2592a8e0e117902a166a2824f2450130412a9bdf *arc_gnu_2022.09-rc1_prebuilt_uclibc_le_archs_linux_install.tar.gz
a095a0e0c96e2e1466083e5cd82dc609f05c6636d9b48efe27a6066fda11b909 *arc_gnu_2022.09-rc1_prebuilt_uclibc_be_arc700_linux_install.tar.gz
cb3bc51ecbd85f41f78e221cf484807db8c022b5f79c95fa8f3234f3ff3a5c73 *arc_gnu_2022.09-rc1_prebuilt_uclibc_be_archs_linux_install.tar.gz
2bba4218659f8a67ee408c3afb559d0adfc3898dd9f5339e59820136b69c80e8 *arc_gnu_2022.09-rc1_prebuilt_arc32_uclibc_linux_install.tar.gz
5db15ff3c180fddca709388fae911fd599b862608b6b7ebffb3f6606b21a1210 *arc_gnu_2022.09-rc1_prebuilt_glibc_le_archs_linux_install.tar.gz
5ee316b9f6ea5b1513745b846a38b28381b16905800f02d2a6e67a850f0fa5e0 *arc_gnu_2022.09-rc1_prebuilt_glibc_be_archs_linux_install.tar.gz
fd4504992a5441960ab9b661b1143650dd9a41161aef13e67e7958c3c1bf6fad *arc_gnu_2022.09-rc1_prebuilt_arc64_elf_linux_install.tar.gz
c1914a2578717a8d8377be05dd58f34dc3fa019036c92c3ea0bf9b7ed020fec7 *arc_gnu_2022.09-rc1_prebuilt_arc64_glibc_linux_install.tar.gz
d931bf5a41de73a2ffd7d5670fe1af89ca3a341874efbee43acb8a23f94e6ed6 *arc_gnu_2022.09-rc1_ide_linux_install.tar.gz
e96f58c399c2755e4594e5e12b090897694c6bb0c750b861583403d027d37833 *arc_gnu_2022.09-rc1_ide_plugins.zip
372b66708a342e987f66b514717fadcf0f56eb2cbe1523321fd77a96f0151d78 *arc_gnu_2022.09-rc1_prebuilt_glibc_le_archs_native_install.tar.gz
44f1070949dc9274f8d2c1e716956260cf3b4f471a7618c964a245cd4ebae4e3 *arc_gnu_2022.09-rc1_prebuilt_arc64_glibc_native_install.tar.gz
74e8d5d102989bfb9e1d9c9585a7cf27d0970cfd53f98f9c2d41dade339b9982 *arc_gnu_2022.09-rc1_prebuilt_arc32_uclibc_native_install.tar.gz
3dc4d47e2b70fca88ca547f3611ea3f30c280228e76a7c5d7e5098333313e1e8 *arc_gnu_2022.09-rc1_ide_win_install.exe