Skip to content

GNU Toolchain for ARC Processors, arc-2024.06-rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@synopsys-arc-automation-bot synopsys-arc-automation-bot released this 02 Jul 08:01
· 10 commits to arc-releases since this release

This is the first release candidate of 2024.06 version of the GNU Toolchain for DesignWare ARC 600, ARC 700, EM, HS3x/4x, HS5x, HS6x and ARC-V processors. This is the first release which supports the latest GNU tools for both ARC Classic and ARC-V processors simultaneously.

More information about ARC-V processors can be found on Synopsys website here Power-Efficient RISC-V Processors for Embedded Applications and here Maximum Performance Efficiency for Real-time Applications.

arc-v-hero-aem

Important

EM Starter Kit and Ashling Opella-XD probe are EOL (End of Life) and they are no longer supported. Refer the old documentation site for guides related to EM Starter Kit and Ashling Opella-XD for old releases. Corresponding pages on the official documentation site for recent releases still exist but they may be not applicable for the recent releases.

Toolchain and IDE Components Versions

  • GCC 14.1 with ARC patches
  • Binutils 2.42 with ARC patches
  • GDB 14.2 with ARC patches
  • Newlib 4.4.0 with ARC patches
  • uClibc-ng v1.0.49 with ARC patches
  • glibc 2.39 with ARC patches

This release of GNU toolchain is supported by CGEN IPlib (TCF generator) version 1.0.53 and later.

New Features and Enhancements

Binary distribution

  • Supported host operating systems: Windows 11 64-bit, Ubuntu 22.04, RHEL/AlmaLinux 8.x
  • Prebuilt bare-metal toolchains for 64-bit Windows & Linux hosts, see table with references and list of artifacts below.

Toolchain Components

For this release binary distributions of ARC GNU tools for all supported processor families (both ARC Classic and ARC-V) are produced from the same sources of corresponding tools.

There are no major changes for ARC targets except ARC-specific improvements and fixes for ARCompact, ARCv2 and ARCv3 ISA processors on top of the upstream releases. All components are updated on top of upstream releases.

Here is a list of GitHub issues addressed in this release: GitHub issues for 2024.06. Note, though, this list only contains issues filed against ARC GNU toolchain. Bugs and enhancements made in upstream open-source projects of each toolchain component could be found inthe corresponding bug-tracking system.

Known issues

ARC Classic

  1. Newlib's libgloss doesn't support RF16 configuration of ARC cores when building for nSIM with -specs=nsim.specs, see #231. Use -specs=hl.specs instead for RF 16 configurations.

  2. Non-multilib toolchain doesn't contain libgloss libraries for nSIM and development boards, see #262.

  3. libcrypt.so.1 is not included in the toolchain (starting from glibc 2.38 libcrypt.so.1 is not built by default and will be removed from glibc in the future), please use libcrypt implemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation.

  4. Eclipse IDE for ARC does not support selecting -specs= options in project's configuration menu. Consider passing this options (e.g., -specs=nsim.specs for nSIM) in "ARC GNU Linker" field of projects configuration dialog (C/C++ Build -> Settings -> Top Settings -> ARC GNU Linker).

ARC-V

  1. Some complex combinations of -march= and -mabi= options may lead to unpredictable errors during compilation. Such issues are related to general support of RISC-V extensions in GCC. See #610.

  2. GCC 14 generates incorrect include directories if it's configured with --with-sysroot=... and --with-native-system-header-dir=... options. This is a valid set of options for building GCC, however since GCC that leads to including invalid paths to a includes search list when -save-temps is used while building binaries. This issue is not critical and is going to be addressed later. See #628.

  3. The size-optimized Newlib Nano configuration (used when -specs=nano.specs is passed to GCC) does not support printf() for float and double by default. Nano printf() is size-optimized and does not include support of float and double. If you need that feature, pass -u _printf_float to GCC when you compile your applications. This option picks up support of float and double for size optimized printf() on demand.

Getting help

ARC Classic

Documentation and guides for ARC Classic targets may be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2024.06/. Please report any problems by filing an Issue in GitHub here.

ARC-V

Getting Started manual covering all aspects of the ARC-V family of processors could be found here: https://foss-for-synopsys-dwc-arc-processors.github.io/arc-v-getting-started.

Also visit the GitHub discussions link for a community forum tailored to ARC-V processors. To report issues and enhancement requests, use GitHub issues (if you are not sure, start with discussions, since a discussion can always be converted into an issue).

Prebuilt toolchains available for download

Linux x86_64 Linux ARC HS Windows x86_64 macOS x86_64
Baremetal Little endian / Big endian Little endian / Big endian
Linux/uClibc ARC 700 Little endian / Big endian
Linux/uClibc ARC HS Little endian / Big endian
Linux/glibc ARC HS Little endian / Big endian Little endian
Baremetal ARCv3 Little endian
Linux/glibc ARC HS68 Little endian Little endian
Linux/uClibc ARC HS58 Little endian Little endian
Linux/glibc ARC HS58 Little endian Little endian
Baremetal ARC-V Little endian Little endian
IDE Download Download
d93a34894f52536e946890b5ccd576a29e6cd33912a299b53bfafe2f5c26c087 *arc_gnu_2024.06-rc1_prebuilt_arc32_glibc_linux_install.tar.bz2
9e35fe3cff09ad7b1281e89066e6d3700b6d47e3768dffb7ebf276a0608cbe57 *arc_gnu_2024.06-rc1_prebuilt_arc32_uclibc_linux_install.tar.bz2
06813e4c7b0ee288f921503fe9b47c367b0827098e69911999d48825aef701d2 *arc_gnu_2024.06-rc1_prebuilt_arc32_uclibc_native_install.tar.bz2
fc3a28c2e74abf2d639f12fc5b4417c6cb5b94bae221251314d197ab5eb169a3 *arc_gnu_2024.06-rc1_prebuilt_arc64_glibc_linux_install.tar.bz2
a20ae1dad2f682d19902a7af538046d6a13601cf1c36beb4cdb4f4de1c47be83 *arc_gnu_2024.06-rc1_prebuilt_arc64_glibc_native_install.tar.bz2
cd750c6e83ea8612e19773ade575d1d1144ae92914f336b18f78b55ad0265bf5 *arc_gnu_2024.06-rc1_prebuilt_arc64_elf_linux_install.tar.bz2
9be9ff0775ca6d2e883a3719539020b26699992f850169b4603f49f89f1843aa *arc_gnu_2024.06-rc1_prebuilt_uclibc_le_arc700_linux_install.tar.bz2
2bb06163aaa9005577c63f394fc868d87e88931c4e7205b1a0c81cc9f5e6d0bd *arc_gnu_2024.06-rc1_prebuilt_glibc_le_archs_linux_install.tar.bz2
99a28b9c26017348da5fad649c0ba6907091b3884220252b80b639f676b53d5b *arc_gnu_2024.06-rc1_prebuilt_uclibc_le_archs_linux_install.tar.bz2
dd265ad77928f10b9202bc6c23532b13f799d79b14af6f1e8ab9e4c2fba01a93 *arc_gnu_2024.06-rc1_prebuilt_glibc_le_archs_native_install.tar.bz2
7ef9a7eed0ce95263e9b9b34bd261bc5f3f1bbc915bedb3863f70835216010ac *arc_gnu_2024.06-rc1_prebuilt_uclibc_be_arc700_linux_install.tar.bz2
0b463445a814b65a35813bcfa58c135e9500a59de5b7a7247108b22f3174488c *arc_gnu_2024.06-rc1_prebuilt_glibc_be_archs_linux_install.tar.bz2
6e1905df0e3b65e2122a45dfe7b85fbd1eb945a3bcf4e5858db92d9933e8ba22 *arc_gnu_2024.06-rc1_prebuilt_uclibc_be_archs_linux_install.tar.bz2
29520e669cefdd6be51c74149649d925fa385cd18152fe5ef15741b0467bea22 *arc_gnu_2024.06-rc1_prebuilt_elf32_be_win_install.tar.bz2
1dafd2ed0eac2eaa0e6876d496ee2d07a7885679e918b6a4018aaf2f64c63738 *arc_gnu_2024.06-rc1_prebuilt_elf32_be_linux_install.tar.bz2
366c409421a1d1dd5a236a46d74e6aa67f6c8ece6879097079c6c3e75e7e1bfe *arc_gnu_2024.06-rc1_prebuilt_elf32_le_win_install.tar.bz2
c841ebec4fa77445d9272a0a71457375bba96749b01f2a264ce10f29888803bd *arc_gnu_2024.06-rc1_prebuilt_elf32_le_linux_install.tar.bz2
b7c2b3f1ce3cda1d1472a0412c474e9a6ca1fe5ee48db4910664050456e28ceb *arc_gnu_2024.06-rc1_prebuilt_riscv64_elf_le_win_install.tar.bz2
02580b4b8194695c3f5a6248fc52c1c0e16b252d7b4c2a24a059f653e2eb9eef *arc_gnu_2024.06-rc1_prebuilt_riscv64_elf_le_linux_install.tar.bz2
36ec45807de5b8f617952ca3a2b849881e61cecef2333cfcd5b838522e21dd16 *arc_gnu_2024.06-rc1_ide_linux_install.tar.bz2
1ed9be25e3c8cee2b9660077dbd5389501d012c89adc11466a709e6c7193a762 *arc_gnu_2024.06-rc1_ide_win_install.exe
f44a52ab6dbecaf1ce4a15513aa8abcfb1a8abcefa0277ecfd2dc06740d2a1a0 *arc_gnu_2024.06-rc1_sources.tar.bz2