GNU Toolchain for ARC Processors, 2022.09-rc2
Pre-releaseThis is the second 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
Fixes and improvements in the Release Candidate 2 compared to Release Candidate 1
- Fixed "GDB for Windows does not work correctly in Eclipse plugin" (#501).
- Fixed "undefined reference to
_kill/_kill_r&_getpid/_getpid_r" when building bare-metal applications (#502). - Added support of 64-bit atomic instructions (
llockd&scondd) for 32-bit ARCv3 ARC HS5x processors (#505)
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 -
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 |
f196c2821b9f9345119b41c076dad27e1584a28f3fb24dbf5d267561e581271f *arc_gnu_2022.09-rc2_prebuilt_elf32_le_linux_install.tar.gz
1905d34e5db07033aced2fd55f4406120d87f8725951ce2e8de615e42d80e531 *arc_gnu_2022.09-rc2_prebuilt_elf32_be_linux_install.tar.gz
7cb19ddf867f877735d918168ef372e40de6679aa36e9e111fc5a86a2f9c311c *arc_gnu_2022.09-rc2_prebuilt_uclibc_le_arc700_linux_install.tar.gz
bd05f5103f341016da04b0000e6c79de1a35c7db42786aec6e48616ecc1f5238 *arc_gnu_2022.09-rc2_prebuilt_uclibc_le_archs_linux_install.tar.gz
ba7cf5dda0f2a9033c013ebff1d6f1fd2aa169c4c210872edfb4a083d8e8e149 *arc_gnu_2022.09-rc2_prebuilt_uclibc_be_arc700_linux_install.tar.gz
6ee8c0447f42c35520bd89691816ec22e1f74c7905ed24eab9289e58ea588855 *arc_gnu_2022.09-rc2_prebuilt_uclibc_be_archs_linux_install.tar.gz
e6cb30855cf1e28ce2a607b3f712ab0d2854112ea3bb23e7903a8a012eb7d42d *arc_gnu_2022.09-rc2_prebuilt_arc32_uclibc_linux_install.tar.gz
525f19caa949478c802b340ba45ca049611d8e698d4885022ace7999fa37e9fe *arc_gnu_2022.09-rc2_prebuilt_glibc_le_archs_linux_install.tar.gz
17e2b0c5051213f88101bab0d0a9f5f7277e278b28b4cf1537baffb31a83e414 *arc_gnu_2022.09-rc2_prebuilt_glibc_be_archs_linux_install.tar.gz
5b306f1594d76113fa7cab65f9c321fa1132d3d4139d6eaa31edae300115e3a8 *arc_gnu_2022.09-rc2_prebuilt_arc64_elf_linux_install.tar.gz
0006a78be59e6a00d13b4cdfab54d139a5eb84af3ec110c80a830327e2d9a4c8 *arc_gnu_2022.09-rc2_prebuilt_arc64_glibc_linux_install.tar.gz
1c8c99b44d3798d57a7e4a814aad045665aa84733eaecc1872dac7cd99ad62c1 *arc_gnu_2022.09-rc2_ide_linux_install.tar.gz
cbf0e0c270613b7e8375c334be0752dca7dad463059401592285175d39025922 *arc_gnu_2022.09-rc2_ide_plugins.zip
2e8ed09594205474c342e1101956cca246fe1d1dd23ea2fd39232c3428f5304a *arc_gnu_2022.09-rc2_prebuilt_glibc_le_archs_native_install.tar.gz
a10222e6e8af1db494aaaa214d9ebab06265a103e125d40b13df37fe95deb95c *arc_gnu_2022.09-rc2_prebuilt_arc64_glibc_native_install.tar.gz
8854241150383bd9389f9c1ad5a23c6b65ee82b2e5e487e3ba12838e23e2c69f *arc_gnu_2022.09-rc2_prebuilt_arc32_uclibc_native_install.tar.gz
b2615d8451d531b622924e34a829b23e1532af2c9611be26fe9c4ff7da12a42f *arc_gnu_2022.09-rc2_ide_win_install.exe