GNU Toolchain for ARC Processors, 2023.03
This is release of 2023.03 version of the GNU Toolchain for DesignWare ARC 600, ARC 700, EM, HS3x/4x, HS5x & HS6x processors. This is a maintenance release which brings incremental improvements for major toolchain components such as GCC, Binutils & GDB for ARC 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.40 with ARC patches
- GCC 12.2 with ARC patches
- GDB pre-14.1 with ARC patches
- newlib 4.3.0 with ARC patches
- uClibc-ng v1.0.43 with ARC patches
- glibc 2.37 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 10 64-bit, Ubuntu 18.04.x, 20.04.x, CentOS/RHEL 7.x
-
GCC
- Sources used for the release are available here: https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/releases/tag/arc-2023.03-rc1
- Uses 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
- No major updates compared to the previous release.
-
GDB
- Sources used for the release are available here: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2023.03-rc1
- Updated to the upstream sources of what eventually will become v14.1 release.
- Fixes and improvements for all generations of ARC processors.
-
Binutils
- Sources used for the release are available here: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2023.03-rc1
- Updated to the upstream 2.40 release.
- Improved stability when linking (see #533, #524 & #523)
- Added color output for disassembler.
- Assembler: fix encoding for neg.f 0,Rb, see #531
-
glibc
- Sources used for the release are available here: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2023.03-rc1
- Updated to the upstream 2.37 release. For more details see release announcement https://sourceware.org/pipermail/libc-alpha/2023-February/145190.html & release notes https://sourceware.org/glibc/wiki/Release/2.37.
- Support for ARCv3 processors is implemented with changes on top of the upstream release.
-
uClibc-ng
- Sources used for the release are avaialble here: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/tree/arc-2023.03
- Updated to the latest upstream version v1.0.43, see https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tag/?h=v1.0.43
- ARCv3 32-bit processors support is now in the upstream project, with only a few minor changes applied on top of the upstream release.
-
Newlib
- Sources used for the release are avaialble here: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2023.03-rc1
- Updated to the upstream 4.3.0 release with ARC patches applied on top of it.
- Update spec files to work with
libnano
. - Added optimized string routines for ARC64.
Also, here is the list of GitHub issues addressed in this release: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/issues?q=is%3Aissue+milestone%3A2023.03+is%3Aclosed
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.
Fixes and improvements in the final release compared to Release Candidate 1
There're no changes in the final release compared to the release candidate 1.
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
-
vmax2
/vmin2
are encoded faulty for ARC HS5x processors, see: foss-for-synopsys-dwc-arc-processors/qemu#181 -
32-bit relocations may overflow when dealing with 32-bit unsigned numbers. This is valid only for 64-bit ARCv3 processors (e.g., HS6x), see: #564
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 |
4351c00ff074315e4ac09e5014db3fa61882f9befd7bf81921eccb624ed34dbb *arc_gnu_2023.03_prebuilt_elf32_le_linux_install.tar.gz
fd3177ed54a4fe35e5431b47a314367e6965dd9f43b0256c2f533a70263d660c *arc_gnu_2023.03_prebuilt_elf32_be_linux_install.tar.gz
6f79543e3d68355112d59771f7621dbe3b9eeb44d32d7bcc2f97607d272fe5a5 *arc_gnu_2023.03_prebuilt_uclibc_le_arc700_linux_install.tar.gz
6474c368bf0cbdfcc6f0b38c7ba55d209928cdc0a6361562a1359eedf7f43752 *arc_gnu_2023.03_prebuilt_uclibc_le_archs_linux_install.tar.gz
95f7d949cee2cc7233c720c56211fae31c08e1cbca530e0363cc2e14385a36cd *arc_gnu_2023.03_prebuilt_uclibc_be_arc700_linux_install.tar.gz
062918156e159ff3127ebe410758489b6e1ce7282a9803f84ea1f746b6d21d47 *arc_gnu_2023.03_prebuilt_uclibc_be_archs_linux_install.tar.gz
fa65ce5a28f8ebe3a7ae4b25a114d549a89b00328511dcee7cfea65a855a3ba7 *arc_gnu_2023.03_prebuilt_arc32_uclibc_linux_install.tar.gz
61e94c96c32742bda29b3b20c90b02fdf52dc6e084c6df9a6a884d0a56503610 *arc_gnu_2023.03_prebuilt_glibc_le_archs_linux_install.tar.gz
f5224acbeaa2a17f3d3649a8c8da8b13768955d3ade57e321bdf65721ae9c885 *arc_gnu_2023.03_prebuilt_glibc_be_archs_linux_install.tar.gz
3e32e01fa195b582608d25b003e690cfcf4edc81e63bdf78d26ff6ad1ad065f4 *arc_gnu_2023.03_prebuilt_arc64_elf_linux_install.tar.gz
f9fcb8db3ac6d59c3efef09b2487c875252f58481d83fc3ab917881b0f199e8e *arc_gnu_2023.03_prebuilt_arc64_glibc_linux_install.tar.gz
f7aaeea56423e6580e9f0f9ed621dcde22124c2de8c8a885b61c11227280191d *arc_gnu_2023.03_ide_linux_install.tar.gz
9f734a3e055867acaf1063be925605a6e14904b03a9920a4fc45ab8008cba699 *arc_gnu_2023.03_ide_plugins.zip
b758de8e69309144f3f1ba677383d99fecde761136303d2074c879851990e5a5 *arc_gnu_2023.03_prebuilt_glibc_le_archs_native_install.tar.gz
856879bf44c3a9834ecafefa5224635db8d4f7dc0ef4f4080071016a162d6a10 *arc_gnu_2023.03_prebuilt_arc64_glibc_native_install.tar.gz
dd44aaa8890e5dd2b8539f36f99fcbe4d4aba10ec4aad672b2c52281fbcd89c1 *arc_gnu_2023.03_prebuilt_arc32_uclibc_native_install.tar.gz
6a67526a17c46da16e9f8600ccbeb8c3c2668db2916af61ffc76f72052510da7 *arc_gnu_2023.03_ide_win_install.exe
d935fd4016b81713d8b0a03ef020b5b96b6f77862a95813bb47905ede04be7f7 *arc_gnu_2023.03_sources.tar.gz