GNU Toolchain for ARC Processors, 2022.09-rc3
Pre-releaseThis is the third 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 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 |
6249ea871c2b9fbffafb9b6a337fb6ed5d9448e1a7fc7c87b30493aaccd4cd34 *arc_gnu_2022.09-rc3_prebuilt_elf32_le_linux_install.tar.gz
fcf84b1f7ae3341f1cacc7d6102e6879ff1e79c494ec1a3392768497f809b337 *arc_gnu_2022.09-rc3_prebuilt_elf32_be_linux_install.tar.gz
29eae9a831724c5344049a30342810d718e749ae37a577beeaef7a8e20843264 *arc_gnu_2022.09-rc3_prebuilt_uclibc_le_arc700_linux_install.tar.gz
540f2d61dac2eb52c53de232934288db1e604b1d008563c51487f19c405cca1c *arc_gnu_2022.09-rc3_prebuilt_uclibc_le_archs_linux_install.tar.gz
f7f7fee735d229fcf511dcd9d558064b1d0ead4beb78768dfccdbfb4a69c31f6 *arc_gnu_2022.09-rc3_prebuilt_uclibc_be_arc700_linux_install.tar.gz
d5a2e980eb21aaf37bceddbb1bc8013b8d3b4e3ab997b43cca41716a6b95a07f *arc_gnu_2022.09-rc3_prebuilt_uclibc_be_archs_linux_install.tar.gz
707c1e3846afe9429ebeef537e9a5c43fe25677072c9e2c9695bb159d364d121 *arc_gnu_2022.09-rc3_prebuilt_arc32_uclibc_linux_install.tar.gz
35d0f84fe1a99caacfe1be50042dbd4c7ea346fe76be06d347ce3e7ccdb953eb *arc_gnu_2022.09-rc3_prebuilt_glibc_le_archs_linux_install.tar.gz
f2c942d931a686106d9a03329ad1c7e66767a99ea0e8a6fc62e56604045baff9 *arc_gnu_2022.09-rc3_prebuilt_glibc_be_archs_linux_install.tar.gz
6fa1b28704cc8beaa00db5c4ad561d24394f9b9857cfc3314843084ce9cadcf6 *arc_gnu_2022.09-rc3_prebuilt_arc64_elf_linux_install.tar.gz
13a081681af270d16df2ef30ef672bff1ca34a49ee5c8aab44ef0c1ab5db1bad *arc_gnu_2022.09-rc3_prebuilt_arc64_glibc_linux_install.tar.gz
d103e5dcc64d03d0128cc31db43c3e2dd204c4b9a9fe22fc5b0b47b243b33393 *arc_gnu_2022.09-rc3_ide_linux_install.tar.gz
92546ba9dffa247ee282d603c4255201ca0d1ed66ad678a73f57b0971856bea4 *arc_gnu_2022.09-rc3_ide_plugins.zip
9e5ebe6a4c43bf6b4516e6a0f4282599114f0d2a29689439d0eae4217b335a25 *arc_gnu_2022.09-rc3_prebuilt_glibc_le_archs_native_install.tar.gz
e7f465cab709fbc5635ee08e1f2f8f9c738752b54b18bc43c02e4639a2e332d6 *arc_gnu_2022.09-rc3_prebuilt_arc64_glibc_native_install.tar.gz
1f66647d3f6ef15cf8ab30ec017f236050f5b87917bf541507bea7d9c2319a92 *arc_gnu_2022.09-rc3_prebuilt_arc32_uclibc_native_install.tar.gz
9a78b34455b4fc1f599b7ec057d5692fc49069b9cd54c613539f390fe0ba0405 *arc_gnu_2022.09-rc3_ide_win_install.exe