GNU Toolchain for ARC Processors, 2021.03-rc1
Pre-releaseThis is the first release candidate of 2021.03 version of the GNU Toolchain for DesignWare ARC Processors.
GNU Documentation PDF files can be found in share/doc
directory of installed toolchain, as well as 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.36.1 with ARC patches
- GCC 10.2 with ARC patches
- GDB 10.1 with ARC patches
- newlib 3.2.0 with ARC patches
- uClibc-ng v1.0.34
- glibc 2.33
- Eclipse 2020-03 4.15.0 with CDT 9.11.0
- OpenOCD 0.9+ upstream commit 30203b3d8b, with ARC support.
This release of GNU toolchain and IDE is supported by CGEN IPlib (TCF generator) version 1.0.53 and later.
New Features and Enhancements
-
Binary distribution
- Supported host operating systems: Windows 10 64-bit, Ubuntu 16.04.x, 18.04.x, CentOS/RHEL 7.x
- No longer compatible with CentOS/RHEL 6.x due to GDB 8.3 and newer requirement for C++11 support in the compiler. Still it's perfectly possible to build Elf32 & uClibc toolchains without GDB on CentOS/RHEL 6.x.
-
Toolchain Build Scripts
- Documentation update
-
GCC
- Significantly improved support of reduced register file configurations (
RF16
), for example when-mcpu=em_mini
is used for building. - Bug fixes
- Significantly improved support of reduced register file configurations (
-
GDB
- Updated to the upstream v10.1 release, see release notes for more details: https://lists.gnu.org/archive/html/info-gnu/2020-10/msg00009.html
- Added support of QEMU port for ARC, see #353
- Bug fixes
-
Binutils
- Updated to Binutils 2.36.1, see upstream release notes for more details: 2.36 release & 2.36.1 patch-release
- Bug fixes
-
glibc
- Updated to the upstream 2.33 release
-
uClibc-ng
- No changes, the same version is used
-
Newlib
- Implemented MetaWare-style "Hostlink" interface, see #296 & foss-for-synopsys-dwc-arc-processors/newlib#14
-
Eclipse plugins
- Eclipse 2020-03 is used as a base
- Bug fixes
Bugs Fixed in this Release
User reported Github issues fixed in this release can be found here:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/milestone/9?closed=1
- Improved support of ARC processors with reduced register file (
RF16
configuration), see: #327, #231, #354 & #355. - Fixed building of GDB on CentOS/RHEL 7.x hosts, see #328.
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 require 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
-
Native toolchain for ARC HS is not usable due to wrong build configuration.
Please report any problems by filing an Issue in GitHub here.
Note: The toolchain is only supported for 64-bit versions of Linux hosts. 32-bit Linux hosts are not supported.
Linux x86_64 | Windows x86_64 | Linux ARC HS | macOS x86_64 | |
---|---|---|---|---|
Baremetal | Little endian \ Big endian | Little endian \ Big endian | ||
Linux/uClibc ARC700 | Little endian \ Big endian | |||
Linux/uClibc ARC HS | Little endian \ Big endian | Little endian | ||
Linux/glibc ARC HS | Little endian \ Big endian | |||
IDE | Download | Download | Download |
3ab6d863c12948484c7ae5e37ae1ffe8c32b3b1eacb5866ef090ade9025f6415 *arc_gnu_2021.03-rc1_prebuilt_elf32_le_linux_install.tar.gz
d4fb3a6a9c67bcd088a624b266adc3bad47da42cab45aabf6112532ea1854f22 *arc_gnu_2021.03-rc1_sources.tar.gz
933a453e603af0edc025bf0c8a66dbd0df7a8f2ab5df60ce966c9baa688bde84 *arc_gnu_2021.03-rc1_prebuilt_uclibc_le_arc700_linux_install.tar.gz
7fcd97c1c398fed37c1e423d5f083ef1c0731bcb4b4bdb8d9d76613fef5e0203 *arc_gnu_2021.03-rc1_prebuilt_uclibc_le_archs_linux_install.tar.gz
e2888bb8398f1d9bfe86bc154a362123b4ea9fa978429fedf163d73e7aa850a6 *arc_gnu_2021.03-rc1_prebuilt_elf32_be_linux_install.tar.gz
1adff95eb8bdd90059cdbc4b47feaa39a1a4c8fb8d45899b7c2e0ff0b98dc357 *arc_gnu_2021.03-rc1_prebuilt_uclibc_be_arc700_linux_install.tar.gz
2020f5c52945f392b2e4eee5f23b07461729b5308ac08adbed9faf3a0dd7eff1 *arc_gnu_2021.03-rc1_prebuilt_uclibc_be_archs_linux_install.tar.gz
c4e69a3d3fee448a32da39157ad8c1e8e3c7546a4c78c10cb1eeaeff36d3e168 *arc_gnu_2021.03-rc1_prebuilt_glibc_le_archs_linux_install.tar.gz
e61b82a187bf32020442b0c724a48b8858fbdc45f8b51c284f9c30e42ccd9d2f *arc_gnu_2021.03-rc1_prebuilt_glibc_be_archs_linux_install.tar.gz
7a8cb93802e02b813238cb95a76e76f3a31eef0d54ddaa8b63b057d63e3e6040 *arc_gnu_2021.03-rc1_ide_linux_install.tar.gz
198eea7bc742c1a6e31d9aeaf60b70ad415775dba6de4ab00b04fa499064c0c5 *arc_gnu_2021.03-rc1_ide_plugins.zip
614dc5471e8b294f676546050ab07976bc878d982c00d3acc550fc565653c26b *arc_gnu_2021.03-rc1_prebuilt_glibc_le_archs_native_install.tar.gz
abbb6ecf9f1abde0f84f5904d0b31f86ea02c716e6855a9b7bd2915caddbb35d *arc_gnu_2021.03-rc1_ide_win_install.exe