Releases: foss-for-synopsys-dwc-arc-processors/toolchain
GNU Toolchain for ARC Processors, arc-2024.12-rc1
This is the first release candidate of 2024.12 version of the GNU Toolchain for DesignWare ARC 600, ARC 700, EM, HS3x/4x, HS5x, HS6x and ARC-V processors.
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.
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.2 with ARC patches
- Binutils 2.43 with ARC patches
- GDB 15.1 with ARC patches
- Newlib 4.4.0 with ARC patches
- uClibc-ng v1.0.49 with ARC patches
- glibc 2.40 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 Classic 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.
There are a few major changes for ARC-V targets besides updates to the latests versions:
- Added full support of tuning instructions scheduling for RMX-100, RMX-500 and RHX-100.
- Add initial support of RVV extension for ARC-V RPX processors in the binary distribution of ARC GNU toolchain.
- Prebuilt standard libraries for base RMX-100, RMX-500 and RHX-100 profiles are included. Refer Understanding ARC-V Configurations page for details.
Here is a list of GitHub issues addressed in this release: GitHub issues for 2024.12. 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 in the corresponding bug-tracking system.
- GCC 14.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/releases/tag/arc-2024.12-rc1
- Uses upstream 14.2 release, see release announcement and complete list of changes.
- Added full support of tuning instructions scheduling for RMX-100, RMX-500 and RHX-100.
- Add initial support of RVV extension for ARC-V RPX processors in the binary distribution of ARC GNU toolchain.
- Binutils 2.43 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2024.12-rc1
- Uses upstream 2.43 release, see release notes.
- GDB 15.1 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/tree/arc-2024.12-gdb
- Uses upstream 15.1 release, see release announcement and omplete list of changes for major changes.
- Newlib 4.4.0 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2024.12-rc1
- Uses upstream 4.4.0 release, see release announcement.
- Caches are enabled automatically when a custom startup file is used for ARC-V.
- Added support of passing command line arguments through Semihosting interface (works both for nSIM and QEMU simulators).
- uClibc-ng 1.0.49 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/releases/tag/arc-2024.12-rc1
- Uses upstream 1.0.49 release, see release announcement.
- glibc 2.40 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2024.12-rc1
- Uses upstream 2.40 release, see release announcement and complete list of changes.
Known issues
ARC Classic
-
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. -
Non-multilib toolchain doesn't contain
libgloss
libraries for nSIM and development boards, see #262. -
libcrypt.so.1
is not included in the toolchain (starting from glibc 2.38libcrypt.so.1
is not built by default and will be removed from glibc in the future), please uselibcrypt
implemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation. -
Eclipse IDE for ARCompact 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
-
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. Refer #610 for details. -
The size-optimized Newlib Nano configuration (used when
-specs=nano.specs
is passed to GCC) does not supportprintf()
forfloat
anddouble
by default. Nanoprintf()
is size-optimized and does not include support offloat
anddouble
. If you need that feature, pass-u _printf_float
to GCC when you compile your applications. This option picks up support offloat
anddouble
for size optimizedprintf()
on demand. -
There is an issue in GCC that prevents matching -march configurations like rv32imc and rv32im_zca as compatible and interchangeable. Refer #653 for details.
-
Using selective scheduler with a specific set of options may lead to incorrect code generation. Refer Bug 118153 for details.
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.12/. 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/documentation/2024.12/arcv/.
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).
- GitHub discussions: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/discussions
- GitHub issues: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/issues
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 |
GNU Toolchain for ARC Processors, arc-2024.06-release
This is release 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.
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.
- GCC 14.1 with ARC patches
- Uses upstream 14.1 release, see release announcement and complete list of changes.
- Initial support of RVV extensions is added in upstream GCC 14.
- Binutils 2.42 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2024.06-rc1
- Uses upstream 2.42 release, see release notes.
- GDB 14.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/tree/arc-2024.06-gdb
- Uses upstream 14.2 release, see release announcement for 14.1 and complete list of changes for 14.1 for major changes.
- Newlib 4.4.0 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2024.06-rc1
- Uses upstream 4.4.0 release, see release announcement.
- Upstream Newlib source tree now contains the latest changes for ARC Classic.
- uClibc-ng 1.0.49 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/releases/tag/arc-2024.06-rc1
- Uses upstream 1.0.49 release, see release announcement.
- glibc 2.39 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2024.06-rc1
- Uses upstream 2.39 release, see release announcement and complete list of changes.
Fixes and improvements in the final release compared to Release Candidate 2
There are no changes in the final release compared to the Release Candidate 2.
Fixes and improvements in the Release Candidate 2 compared to Release Candidate 1
- #630: A temporary patch applied to fix an incorrect behavior of
__builtin_mul_overflow
function. - #633: Resolved an issue when FPU is not enabled by default in Newlib for ARC-V targets with
f
ord
extensions.
Known issues
ARC Classic
-
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. -
Non-multilib toolchain doesn't contain
libgloss
libraries for nSIM and development boards, see #262. -
libcrypt.so.1
is not included in the toolchain (starting from glibc 2.38libcrypt.so.1
is not built by default and will be removed from glibc in the future), please uselibcrypt
implemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation. -
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
-
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. -
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. -
The size-optimized Newlib Nano configuration (used when
-specs=nano.specs
is passed to GCC) does not supportprintf()
forfloat
anddouble
by default. Nanoprintf()
is size-optimized and does not include support offloat
anddouble
. If you need that feature, pass-u _printf_float
to GCC when you compile your applications. This option picks up support offloat
anddouble
for size optimizedprintf()
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).
- GitHub discussions: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/discussions
- GitHub issues: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/issues
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 | Lit... |
GNU Toolchain for ARC Processors, arc-2024.06-rc2
This is the 2nd 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.
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.
- GCC 14.1 with ARC patches
- Uses upstream 14.1 release, see release announcement and complete list of changes.
- Initial support of RVV extensions is added in upstream GCC 14.
- Binutils 2.42 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2024.06-rc1
- Uses upstream 2.42 release, see release notes.
- GDB 14.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/tree/arc-2024.06-gdb
- Uses upstream 14.2 release, see release announcement for 14.1 and complete list of changes for 14.1 for major changes.
- Newlib 4.4.0 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2024.06-rc1
- Uses upstream 4.4.0 release, see release announcement.
- Upstream Newlib source tree now contains the latest changes for ARC Classic.
- uClibc-ng 1.0.49 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/releases/tag/arc-2024.06-rc1
- Uses upstream 1.0.49 release, see release announcement.
- glibc 2.39 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2024.06-rc1
- Uses upstream 2.39 release, see release announcement and complete list of changes.
Fixes and improvements in the final release compared to Release Candidate 1
- #630: A temporary patch applied to fix an incorrect behavior of
__builtin_mul_overflow
function. - #633: Resolved an issue when FPU is not enabled by default in Newlib for ARC-V targets with
f
ord
extensions.
Known issues
ARC Classic
-
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. -
Non-multilib toolchain doesn't contain
libgloss
libraries for nSIM and development boards, see #262. -
libcrypt.so.1
is not included in the toolchain (starting from glibc 2.38libcrypt.so.1
is not built by default and will be removed from glibc in the future), please uselibcrypt
implemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation. -
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
-
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. -
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. -
The size-optimized Newlib Nano configuration (used when
-specs=nano.specs
is passed to GCC) does not supportprintf()
forfloat
anddouble
by default. Nanoprintf()
is size-optimized and does not include support offloat
anddouble
. If you need that feature, pass-u _printf_float
to GCC when you compile your applications. This option picks up support offloat
anddouble
for size optimizedprintf()
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).
- GitHub discussions: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/discussions
- GitHub issues: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/issues
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 / |
GNU Toolchain for ARC Processors, arc-2024.06-rc1
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.
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.
- GCC 14.1 with ARC patches
- Uses upstream 14.1 release, see release announcement and complete list of changes.
- Initial support of RVV extensions is added in upstream GCC 14.
- Binutils 2.42 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2024.06-rc1
- Uses upstream 2.42 release, see release notes.
- GDB 14.2 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/tree/arc-2024.06-gdb
- Uses upstream 14.2 release, see release announcement for 14.1 and complete list of changes for 14.1 for major changes.
- Newlib 4.4.0 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2024.06-rc1
- Uses upstream 4.4.0 release, see release announcement.
- Upstream Newlib source tree now contains the latest changes for ARC Classic.
- uClibc-ng 1.0.49 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/releases/tag/arc-2024.06-rc1
- Uses upstream 1.0.49 release, see release announcement.
- glibc 2.39 with ARC patches
- Sources used for the release: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2024.06-rc1
- Uses upstream 2.39 release, see release announcement and complete list of changes.
Known issues
ARC Classic
-
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. -
Non-multilib toolchain doesn't contain
libgloss
libraries for nSIM and development boards, see #262. -
libcrypt.so.1
is not included in the toolchain (starting from glibc 2.38libcrypt.so.1
is not built by default and will be removed from glibc in the future), please uselibcrypt
implemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation. -
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
-
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. -
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. -
The size-optimized Newlib Nano configuration (used when
-specs=nano.specs
is passed to GCC) does not supportprintf()
forfloat
anddouble
by default. Nanoprintf()
is size-optimized and does not include support offloat
anddouble
. If you need that feature, pass-u _printf_float
to GCC when you compile your applications. This option picks up support offloat
anddouble
for size optimizedprintf()
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).
- GitHub discussions: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/discussions
- GitHub issues: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/issues
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 / |
GNU Toolchain for ARC Processors, arc-2023.12-release
This is release of 2023.12 version of the GNU Toolchain for Synopsys ARC-V Processor IP.
This release introduces support for ARC-V RMX and RHX processors series based on RISC-V instruction set architecture.
More information about these 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.
Important
This release of ARC GNU tools doesn't include prebuilt toolchains for ARC Classic processor families. In the future we plan to support all current ARC processors in the same release of ARC GNU tools. Users of ARC600, ARC700, ARC EM, ARCv2 HS (HS3x & HS4x) and ARCv3 HS (HS5x & HS6x) should keep using ARC GNU Tools 2023.09 (latest version).
New Features and Enhancements
Support for RISC-V based ARC-V RMX and RHX processors series
- In this release the following RISC-V extensions are supported:
Zba
,Zbb
,Zbs
,Zdinx
,Zfinx
,Zicbom
,Zicbop
,Zicboz
. - Support for ARC-V RMX & RHX processors:
- Instruction scheduling tuning for ARC-V RMX-100 (
-mtune=rmx100
) & RMX-500 (-mtune=rmx500
) processors - Instruction fusion for ARC-V RHX series (
-mtune=rhx
) - Implementation of the code size reduction extensions
Zcb
&Zcmp
- Instruction scheduling tuning for ARC-V RMX-100 (
- As this is the first release of prebuilt GNU tools with ARC-V support, some functionality may have issues, some processor features may not yet be fully supported, and performance may be lower that expected performance of the final product.
Binary distribution
- Supported host operating systems: Windows 10 64-bit, Ubuntu 18.04.x, 20.04.x, CentOS/RHEL 7.x
- Prebuilt bare-metal toolchains for 64-bit Windows & Linux hosts, see table with references and list of artifacts below.
Toolchain Components
-
GCC 13.2 with ARC patches
- Uses upstream 13.2 release, see release announcement & complete list of changes.
- Added support of ARC-V RMX-100, RMX-500 & RHX processors.
- Added code size reduction Zcb & Zcmp extensions.
-
Binutils pre-2.41 with ARC patches
- Upstream sources of pre-v2.41, see release announcement.
- Added code size reduction Zcb & Zcmp extensions.
-
GDB 12.1 with ARC patches
- Upstream sources of v12.1, see release announcement.
-
Newlib 4.3.0 with ARC patches
- Updated sources of 4.3.0 release, see release announcement.
- Improved start-up code to initialize GP (global pointer), SP (stack pointer), clear .bss section etc.
- Provided custom linker script for use with fast on-chip memories (DCCM & ICCM).
Known issues
- There are no known issues so far for that release.
Getting help
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).
- GitHub discussions: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/discussions
- GitHub issues: https://github.com/foss-for-synopsys-dwc-arc-processors/arc-v-getting-started/issues
Prebuilt toolchains available for download
Linux x86_64 | Windows x86_64 | |
---|---|---|
Baremetal ARC-V | Little endian | Little endian |
4e555c1b214eb97fd3bf9e1ffa43d69a0d274deb295fec66bdfdebef714b7bf7 *arc_gnu_2023.12_prebuilt_riscv64_elf_le_win_install.tar.bz2
9dedb6e496e52a45ce536c9a1970a44401319c42ea17b7b8f6655b6204b9b444 *arc_gnu_2023.12_prebuilt_riscv64_elf_le_linux_install.tar.bz2
b0799050610298f8ac9386a547b143e79fd7fc26d94d7e85d4ff8dae05d7fbef *arc_gnu_2023.12_sources.tar.bz2
GNU Toolchain for ARC Processors, 2023.09
This is release of 2023.09 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/documentation/2023.09/.
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 pre-2.41 with ARC patches
- GCC 13.1 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.38 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.09-release
- Uses upstream 13.1 release, see release announcement https://gcc.gnu.org/pipermail/gcc/2023-April/241196.html & complete list of changes https://gcc.gnu.org/gcc-13/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.09-release
- 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.09-release
- Updated to the upstream sources of what eventually will become 2.41 release.
- Fixes and improvements for all generations of ARC processors.
-
glibc
- Sources used for the release are available here: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2023.09-release
- Updated to the upstream 2.37 release. For more details see release announcement https://lists.gnu.org/archive/html/info-gnu/2023-07/msg00010.html & release notes https://sourceware.org/glibc/wiki/Release/2.38.
- Support for ARCv3 processors is implemented with changes on top of the upstream release.
-
uClibc-ng
- Sources used for the release are available here: https://github.com/foss-for-synopsys-dwc-arc-processors/uClibc/releases/tag/arc-2023.09-release
- 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 available here: https://github.com/foss-for-synopsys-dwc-arc-processors/newlib/releases/tag/arc-2023.09-release
- Updated to the upstream 4.3.0 release with ARC patches applied on top of it.
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.09+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 in the corresponding bug-tracking system.
Fixes and improvements in the final release compared to Release Candidate 2
There're no changes in the final release compared to the release candidate 2.
Fixes and improvements in the Release Candidate 2 compared to Release Candidate 1
- Resolved an issue (P10019563-65093) with creating a project in ARC GNU IDE in a new workspace.
- OpenOCD JTAG probe could be used now with EM SDP in ARC GNU IDE.
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
-
libcrypt.so.1
is not included in the toolchain (starting from glibc 2.38libcrypt.so.1
is not built by default and will be removed from glibc in the future), please uselibcrypt
implemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation.
Please report any problems by filing an Issue in GitHub here.
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 | ||
IDE |
GNU Toolchain for ARC Processors, arc-2023.09-rc2
This is the second release candidate of 2023.09 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/documentation/2023.09/.
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 pre-2.41 with ARC patches
- GCC 13.1 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.38 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.09-rc1
- Uses upstream 13.1 release, see release announcement https://gcc.gnu.org/pipermail/gcc/2023-April/241196.html & complete list of changes https://gcc.gnu.org/gcc-13/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.09-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.09-rc1
- Updated to the upstream sources of what eventually will become 2.41 release.
- Fixes and improvements for all generations of ARC processors.
-
glibc
- Sources used for the release are available here: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2023.09-rc1
- Updated to the upstream 2.37 release. For more details see release announcement https://lists.gnu.org/archive/html/info-gnu/2023-07/msg00010.html & release notes https://sourceware.org/glibc/wiki/Release/2.38.
- 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.09
- 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.09-rc1
- Updated to the upstream 4.3.0 release with ARC patches applied on top of it.
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.09+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
- Resolved an issue (P10019563-65093) with creating a project in ARC GNU IDE in a new workspace.
- OpenOCD JTAG probe could be used now with EM SDP in ARC GNU IDE.
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
-
libcrypt.so.1
is not included in the toolchain (starting from glibc 2.38libcrypt.so.1
is not built by default and will be removed from glibc in the future), please uselibcrypt
implemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation.
Please report any problems by filing an Issue in GitHub here.
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 | ||
IDE | Download |
GNU Toolchain for ARC Processors, arc-2023.09-rc1
This is the first release candidate of 2023.09 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/documentation/2023.09/.
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 pre-2.41 with ARC patches
- GCC 13.1 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.38 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.09-rc1
- Uses upstream 13.1 release, see release announcement https://gcc.gnu.org/pipermail/gcc/2023-April/241196.html & complete list of changes https://gcc.gnu.org/gcc-13/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.09-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.09-rc1
- Updated to the upstream sources of what eventually will become 2.41 release.
- Fixes and improvements for all generations of ARC processors.
-
glibc
- Sources used for the release are available here: https://github.com/foss-for-synopsys-dwc-arc-processors/glibc/releases/tag/arc-2023.09-rc1
- Updated to the upstream 2.37 release. For more details see release announcement https://lists.gnu.org/archive/html/info-gnu/2023-07/msg00010.html & release notes https://sourceware.org/glibc/wiki/Release/2.38.
- 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.09
- 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.09-rc1
- Updated to the upstream 4.3.0 release with ARC patches applied on top of it.
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.09+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.
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
-
libcrypt.so.1
is not included in the toolchain (starting from glibc 2.38libcrypt.so.1
is not built by default and will be removed from glibc in the future), please uselibcrypt
implemented by external libraries such as libxcrypt instead of relying on Glibc internal implementation.
Please report any problems by filing an Issue in GitHub here.
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 | ||
IDE | Download | Download |
9fe44a5ff885c73e1db3eec7369a93b5446493c59bb6...
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_...
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
6...