GNU Toolchain for ARC Processors, 2018.09
This is release 2018.09 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 at embarc.org.
A list of useful how-to instructions can also be found on the GNU Toolchain for DesignWare ARC Processors Documentation wiki.
Note: The toolchain is only supported for 64-bit versions of linux hosts. 32-bit linux hosts are not supported.
Toolchain and IDE Components Versions
- Binutils 2.31.51 with ARC patches
- GCC 8.2.1 with ARC patches
- GDB 8.0.50 with ARC patches
- newlib newlib-snapshot-20170922 with ARC patches
- uclibc-ng v1.0.29
- Eclipse Oxygen 4.7.1 with CDT 9.3.2
- 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
-
Toolchain Build Scripts
- Documentation update.
-
GCC
- Update to GCC 8.2.1
- Use BI/BIH instruction to implement casesi pattern.
- Add support for profiling for glibc
- Code size improvements
-
Binutils
- Update to binutils 2.31.51
-
OpenOCD
- cJTAG support
- L2 cache flush/invalidate support
- Support for ARC HSDK board
-
uClibc-ng
- Update to uClibc-ng 1.0.29.
-
Eclipse plugins
- Add support for --specs= options of ARC GCC.
- Add Support import of C_defines from TCF.
- Update template projects for EM Starter Kit to use new --specs values.
- Fix errors in template projects where -mcpu wasn't set correctly.
- Fix crash in uClibc plugin when building an application.
- Fix -mmpy-option not being updated properly when -mcpu was changed.
Bugs Fixed in this Release
User reported Github issues fixed in this release can be found here . In addition, the list below represents bugs fixed from Synopsys's internal bug tracking system.
Number | Project | Title |
---|---|---|
9001107490 | binutils | Options -static and -E are incompatible |
9001251569 | binutils | Exceptions are broken with -static-libstdc++ |
9001422575 | Build | Not able to Build Linux from buildroot using GNU toolchain |
9000764229 | Compiler | Need to improve code size for minimal ARC EM configuration |
9001059634 | Compiler | [dejagnu:gcc] Unknown failure of gcc.dg/tree-ssa/ssa-store-ccp-2.c test |
9001090942 | Compiler | [buildroot] trousers-0.3.13 build fails (ARC700 ONLY) |
9001152065 | Compiler | Big endian ABI test fails9000906119 |
9001296668 | Compiler | [arc-gcc]: -mlong-calls millicode calls are short |
9001406198 | Compiler | [linux] Access key retention support broken for ARC |
ARS0095281 | Compiler | Incorrect DWARF for K&R-style function parameters |
9001364730 | Debugger | [glibc] native GDB segfaults on any operation |
9001322425 | Debugger | [glibc] gdbserver: Segmentation fault during the running "Hello world" |
9001181861 | Docs | Make GCC and binutils documentation available online in HTML |
9001351774 | Docs | gcc manual shows wrong argument order arc builtins |
9001422502 | Docs | GNU Wiki page - update the doc and memory map file for HSDK |
9000975053 | Eclipse plugin | Dropdown list to select GCC specs file |
9000988097 | Eclipse plugin | [TCF]: Include C defines from TCF file |
9001203558 | Eclipse plugin | Switch to using Eclipse dropins instead of installing plugin |
9001422318 | Eclipse plugin | GNU IDE - No output on console for hello_world example with EM core |
9001424106 | Eclipse plugin | GNU IDE - Debugger GUI option for EMSKv2.3, IOTDK and HSDK boards |
9001194950 | glibc | [glibc]: systemd crashes on boot |
9001342765 | glibc | [glibc] Linux build failed with libc: glibc, gcc: 7.3.0, binutils: 2.30 |
9001001307 | Linker | BFD_ASSERT (off != (bfd_vma) -1) |
9001178908 | Linker | LD with "--dynamic-list=X -static" creates wrong static binaries |
9001274678 | Linker | ARC HS38: libstdc++ fails to build with -mlong-calls, segfault in ld |
A list of known issues can be found here.
Please report any problems by filing an Issue in GitHub here.
Linux x86_64 | Windows x86_64 | Linux ARC HS | MacOS | |
---|---|---|---|---|
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 | |||
IDE | Download | Download | Download |
bfa05b208f3ce6878cc63d9821e84d1f3da6e260d0af86f70bf11d548e75373d *arc_gnu_2018.09_prebuilt_elf32_le_linux_install.tar.gz
bde3f687fcfddee531b7560b5d9f8f598de2661ddfd93293d0c00664319a4761 *arc_gnu_2018.09_sources.tar.gz
324b422eec3b9b36ea64c9e13167a4467fc13ab230eff34f2fa785039b460c16 *arc_gnu_2018.09_prebuilt_uclibc_le_arc700_linux_install.tar.gz
d1a4c039416b3da4d94ea066f861cc96ec60afec9c2bab1b2e937555b5e05238 *arc_gnu_2018.09_prebuilt_uclibc_le_archs_linux_install.tar.gz
32242d51f4306306d5464858e0b749fe209c2a07d236add408c4438f58a28301 *arc_gnu_2018.09_prebuilt_elf32_be_linux_install.tar.gz
b0299ad9be0c300237789e5bf8e45d72bf040aab00c3718fbdb4160b75d2ed8f *arc_gnu_2018.09_prebuilt_uclibc_be_arc700_linux_install.tar.gz
a519ed3686dc8e3c5f86646988d38647aa039f4af3204d9b7e84efa26cd37221 *arc_gnu_2018.09_prebuilt_uclibc_be_archs_linux_install.tar.gz
dcd1327f761de07d8fa324ee00f4c3d24e043ac6956df596fdabc3af0d599818 *arc_gnu_2018.09_prebuilt_glibc_le_archs_linux_install.tar.gz
0124076d631d3ffb854b38d15c74777df363b3f06a8219015c97ac6a48b42f11 *arc_gnu_2018.09_ide_linux_install.tar.gz
8d0ad23823118279b013340f363c8e27bf3798f42e458378de289e5026724cc7 *arc_gnu_2018.09_ide_plugins.zip
394ce9aa21526a20a41bcff63fde323e154b743c5b78d9b8d8c1030e0e2a93b7 *arc_gnu_2018.09_prebuilt_uclibc_le_archs_native_install.tar.gz
3d37ece4a7f76e04eb1f952c4e53a135e698fe9fc59450a3a7b88360e0dfff73 *arc_gnu_2018.09_ide_win_install.exe