Skip to content

GNU Toolchain for ARC Processors, 2017.03 RC1

Pre-release
Pre-release

Choose a tag to compare

@anthony-kolesov anthony-kolesov released this 13 Apr 18:28
· 660 commits to arc-releases since this release

This is the first release candidate for release 2017.03 of the GNU Toolchain for DesignWare ARC Processors.

A list of useful how-to instructions can be found on the GNU Toolchain for DesignWare ARC Processors Documentation wiki. GNU Documentation PDF files can be found in share/doc directory of installed toolchain. Eclipse IDE for GNU Toolchain for ARC Processors Documentation can be found on the GNU IDE wiki .

Toolchain and IDE Components Versions

  • Binutils 2.28 with additonal ARC patches
  • GCC 6.3.0 with additional ARC patches
  • GDB 7.12 (upstream commit 5f8cf6c) with ARC patches
  • newlib 2.4 (upstream commit e6413b0) with ARC patches
  • uclibc-ng 1.0.17 with few ARC patches
  • Eclipse Mars (4.5.1) with CDT 8.8.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

  • Prebuilt Binaries
    • ARC HS toolchain now includes sysroot for -mcpu=hs38_linux.
  • Toolchain build scripts
    • Added support for building the bare metal GNU Toolchain (elf32) for Mac OS X hosts
    • Removed obsolete unsupported scripts.
    • Toolchain documentation from wiki is now also built from Sphinx and available online.
    • Added tcftool binary to toolchain for Windows and x86 Linux hosts.
  • GCC
    • Updated to GCC 6.3.0
    • Added support for JLI instruction for ARCv2 ISA Processors
    • Added support for Secureshield technology on supported ARC EM Processors (SFLAG, SJLI instructions, new "secure_call" attribute)
    • Experimental support for reduced register file for ARC EM Processors via new -mRF16 option and -mcpu=em_mini choice. - **Note: this is preliminary support for experimentation. This feature has been not fully verified so bugs can be expected in this area - we are planning to fully productized in the 2017.09 release.
  • Binutils
    • Updated to version 2.28
    • Improvement to stack unwinding functionality in linux/uclibc toolchain
  • OpenOCD
    • Added support for Secure MPU registers

Bugs Fixed in This Release

User reported Github issues fixed in this release.

Number Project Title
ARS0098451 Assembler [ZOL]: gas should give clearer error if user tries to use lp_count as dest
ARS0098565 Assembler [ZOL]: Assembler validation of gcc insns
9001082847 binutils Disassembler is not consistent about hex and decimal numbers
9001062363 Compiler [dejagnu:gcc] Test failures: Exception handling not working
9000847451 Compiler Implement support for -fsanitize=address for ARC gcc with glibc toolchain
9001084709 Compiler gcc to provide clear_cache builtin
9001107555 Compiler [buildroot][libcec]: operand out of range (256 is not between -256 and 255)
9001148529 Compiler "NOP vs MOV 0
ARS0102123 Compiler Read only PIC register
9001018703 Build Build doesn't fail on some errors
9001058808 Build uClibc requires source copying with --build-dir
9001108592 Build Request to add tcftool from metaware into ARC GNU Toolchain
9000886467 Debugger Use prologue-value.h
9000925605 Debugger Use disassemble_info structure to disassemble code in GDB
9001173195 Eclipse plugin Build errors while testing template projects which are shipped with Eclipse IDE
9000838989 Frontend [TCF]: Provide sample linker scripts for nSIM TCF files
9001127488 glibc "[GNU]: arc-linux-gcc can't find fenv.h
9000925639 Test Add vmlinux/rootfs sizes to nightly build reports
9001067535 uclibc OpenWRT: Input required while building uClibc
9001081729 uclibc tst-cleanupx3 uclibc test fails with 2016.09-eng008 gcc build
9001081730 uclibc tst-cleanupx1 uclibc test fails with 2016.09-eng008 gcc build
9001081751 uclibc tst-cancelx4 uclibc test fails with 2016.09-eng008 gcc build (built with BR)
9001081752 uclibc tst-cancelx10 uclibc test fails with 2016.09-eng008 gcc build
ARS0101861 uclibc uclibc math library is not IEEE 754 compliant
9001161412 uclibc uClibc toolchain build failure on macOS

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
Baremetal Little endian \ Big endian
Linux/uClibc ARC700 Little endian \ Big endian
Linux/uClibc ARC HS Little endian \ Big endian Little endian
IDE Download Download

MD5 sums for the release tarballs:

a9a1396e7fa7c8b925c4dbc78e09e555eed83d04b7d7797ad888e244934b25d2 *arc_gnu_2017.03-rc1_prebuilt_elf32_le_linux_install.tar.gz
441be0700700f8a5463181aa867ecf549693952113c54fe55302f0e6acc3c710 *arc_gnu_2017.03-rc1_sources.tar.gz
96205f22baf79bf832d1cc0942e91010ba1195ada094bfce9106099f47d0694e *arc_gnu_2017.03-rc1_prebuilt_uclibc_le_arc700_linux_install.tar.gz
67448a1dbcd0d8b6e3e4c9255ec65a3e9570271b78b5acbb30ffeefa99d7dc6f *arc_gnu_2017.03-rc1_prebuilt_uclibc_le_archs_linux_install.tar.gz
1d88836632a3e3444adf8f70fc09b45ed1f1b718a2f7cdd6325eb0c75bf28e7a *arc_gnu_2017.03-rc1_prebuilt_elf32_be_linux_install.tar.gz
9982b792cdfbc221cbc96319636c1afbd267af95626ee3bd9285d20702f97b83 *arc_gnu_2017.03-rc1_prebuilt_uclibc_be_arc700_linux_install.tar.gz
2e86b374c34621821d16eb9876dca3c4f9b1854e850392cc354068e2ead88f2e *arc_gnu_2017.03-rc1_prebuilt_uclibc_be_archs_linux_install.tar.gz
785cc616e36f9a4bee97b71ae491f0108a7e33cca70354cc185976a5f6594aa4 *arc_gnu_2017.03-rc1_ide_linux_install.tar.gz
e7e11e58a3eae24a5d668cf5c3d41f5d72f3661c7693198baa65b11bd4fcb7b0 *arc_gnu_2017.03_ide_plugins.zip
907c0420da097e719e7a8ff518d959d3e791b2fcdcddb8aad44ecbd9d504a63d *arc_gnu_2017.03-rc1_prebuilt_uclibc_le_archs_native_install.tar.gz
052deddde791f3f96f61a36ef3c7bbaf39dfd8f113bd684c6e8f91c7d8be5e1d *arc_gnu_2017.03-rc1_ide_win_install.exe