GNU Toolchain for ARC Processors, 2022.09
This is release 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 final release compared to Release Candidate 3
- Fixed missing optimized functions in Newlib for ARCv3 processors (#512)
Fixes and improvements in the Release Candidate 3 compared to Release Candidate 2
- Fixed 8 Kb MMU page use in uClibc Linux toolchain for ARC HS58 processors (#511)
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-em
Other 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.a
for 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 |
5455786f5a0ba37f2bd787bae86a717be8b7e2530205753ce9f3f22e680d7817 *arc_gnu_2022.09_prebuilt_elf32_le_linux_install.tar.gz
7abcb085f495cdda579d12466b8bce247d112bb99c59e3440282e18939e8b648 *arc_gnu_2022.09_prebuilt_elf32_be_linux_install.tar.gz
30e663bc48fe15d1b9c5d79ad86b994684782e7fab51523d4ca93e104378e190 *arc_gnu_2022.09_prebuilt_uclibc_le_arc700_linux_install.tar.gz
77ee54489768943e025b90e14355d5ccbbf4c2a19a800c462439f5e079707aa4 *arc_gnu_2022.09_prebuilt_uclibc_le_archs_linux_install.tar.gz
26b1b208f1d69cc44554be7eff9b06aad398f535a7c00461cea7cae4d1c06f1f *arc_gnu_2022.09_prebuilt_uclibc_be_arc700_linux_install.tar.gz
ba4da9a95cb262a776f466f4cfe81c49aca5cd03d824c44443dbf6a8b8b5ad45 *arc_gnu_2022.09_prebuilt_uclibc_be_archs_linux_install.tar.gz
2ac1553628261aaccc463426b1003f958fca7fb55b945b25497896a333a8b72c *arc_gnu_2022.09_prebuilt_arc32_uclibc_linux_install.tar.gz
230329cb99b423b8bcf61b077dbd749c96e79bcf24bb5901241e7c1c4f48222d *arc_gnu_2022.09_prebuilt_glibc_le_archs_linux_install.tar.gz
5d33ecb111e41df66dae98cd9bd1aea2d8fb8f5eb967f479479e434635541bee *arc_gnu_2022.09_prebuilt_glibc_be_archs_linux_install.tar.gz
ebf28cb86e3a5569b93cd77b6af38bb32ff072b3ae30d05ec7929b576c7bcb56 *arc_gnu_2022.09_prebuilt_arc64_elf_linux_install.tar.gz
6180e9d5db6d97ffe15b4f7456a7d3ec1f9244f6bab5edabc593983cb8490a6e *arc_gnu_2022.09_prebuilt_arc64_glibc_linux_install.tar.gz
89d9fd10447809724162aaec20551af365f99f611f0a7a929ff58df96c49ad26 *arc_gnu_2022.09_ide_linux_install.tar.gz
7b75ea0709c00d30dbf3e9e2e23955e12676e809368e643ef4a55aca4a622b4f *arc_gnu_2022.09_ide_plugins.zip
6fe1b89f41388c38b32f29ad1e34b9534beb38a18b4d41186ea3ee2e1dc978dd *arc_gnu_2022.09_prebuilt_glibc_le_archs_native_install.tar.gz
7c35532dac8c541f70416d82355f7a635fecd1ba4de95c35c85c2edbb526c919 *arc_gnu_2022.09_prebuilt_arc64_glibc_native_install.tar.gz
b46e3202fb2060b8eb99d90d893e9f45f3a0273eceb88c175b9848ad15a74d44 *arc_gnu_2022.09_prebuilt_arc32_uclibc_native_install.tar.gz
d7059b7f8d8f939316848f16d6e073a075fcf6103f852eecc2e07d899da19f09 *arc_gnu_2022.09_ide_win_install.exe