Skip to content

GNU Toolchain for ARC Processors, 2016.09 RC1

Pre-release
Pre-release

Choose a tag to compare

@anthony-kolesov anthony-kolesov released this 07 Nov 18:02
· 807 commits to arc-releases since this release

This is the first release candidate 2016.09 release 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.27+ (upstream commit decf5bd and ARC patches)
  • GCC 6.2.1 (upstream commit e061fbe and ARC patches)
  • GDB 7.12 (upstream commit 5f8cf6c and ARC patches)
  • newlib 2.4 (upstream commit e6413b0 and ARC patches)
  • uclibc-ng 1.0.17 (plus 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

  • Toolchain build scripts
    • Use GNU FTP server to download GMP, MPFR and MPC, update to latest
      versions of those libraries and download .tar.xz files of GMP and MPFR.
  • GCC
    • Major compiler upgrade from gcc 4.8.5 in previous release to gcc 6.2.1 in this release
    • Support for new version of Intel's QuarkSE microcontroller via new mcpu option "quarkse2_em"
    • Support -fstack-protector and -fstack-protector-all (uclibc toolchain only)
    • Support for profiling using gmon for elf32 toolchain (newlib)
    • Remove support for -mabi option. Now GCC always generates function calls
      compatible with MetaWare compiler.
    • Avoid unnecessary dependency of libgcc on newlib.
  • Binutils
    • Revamped implementation of Position Independent Code (PIC) and Position Independent Executable (PIE)
      for much improved and robust support.
    • Linux security feature: All constant value global symbols which end up as dynamic relocations are now
      placed in .data.rel.ro sections and resolved by the dynamic linker and set as read-only.
  • GDB
    • Support multi-target GDB in ARC code. GDB for baremetal targets now can
      debug Linux targets as well.
  • uClibc
    • Migrated to uClibc-ng
  • OpenOCD
    • Add support for DCCM version 4.
  • CGEN
    • Removed formal dependency on CGEN repository (no longer in use).
  • IDE
    • Migrated to use DSF instead of obsolete CDT for debugging, which brings
      in multiple usability enhancements.
    • Updated to latest version of TerminalView plugins.
    • Detect if projects has been created with an older version of IDE and show
      user a warning that there could be compatibility issues.
    • Removed support for -mabi option that has been removed from ARC GCC.

Bugs Fixed in This Release

Number Project Title
9001023599 Assembler Assembler doesn't work for no-code-density CPUs
9001029778 Assembler GNU binutils disassembler decodes ARC EM DSP instructions incorrectly
9001048162 Assembler disassembly_info.insn_type is invalid for conditional branches/jumps
9001048168 Assembler branch_delay_insns has invalid value for BRcc reg-reg instructions
9001049308 Assembler Assembler doesn't accept valid LEAVE_S mnemonic
9001056928 Assembler arc-linux-gcc fails to build libcap-ng-0.7.7 in buildroot
9001062213 Assembler disassembler doesn't display properly the FPU instructions
9001088362 Assembler [buildroot] libvncserver-0.9.10 build fails
9001037372 binutils Relocation overflow when building Qt5WebKit
9001066937 binutils busybox's nslookup segfaults with invalid read
9001067572 binutils [pie] mosh-1.2.5 build failed (ld segfault)
9001074273 binutils [buildroot] tvheadend package build fails
9000553691 binutils overlapping VMA/LMA in relocatable object file
9000587711 binutils "ELF Segment layout changes for ARC (size
9000676403 binutils safe handling of custom instruction formats
9000948062 binutils "Stack and heap are part of the ""load"" program header"
9001053749 binutils kernel stack unwinder broken with GNU 2016.03
9001066524 binutils Mistakes in relocations in GNU bintuils
9001082767 binutils perf record -e cache-misses doesn't work
9001091610 binutils objdump not recognizing LLOCKD/SCONDD
9001106732 binutils Binutils doesn't accept same --with-cpu values as GCC
ARS0098564 binutils objdump shortcomings
9001079125 binutils Disassembler has invalid order of condition code and delay slot
9001009437 Build Build script do not support uClibc-ng
9001048208 Build New binutils not compatible with C++ compiler
9001113113 Compiler gcc 6.x triggers increased format warnings in kernel builds
9001094761 Compiler operand out of range (512 is not between -512 and 511)
9000799682 Compiler libgcc depends on libc
9000863783 Compiler ICE when __atomic_test_and_set is used but atomics are not enabled
9000962853 Compiler ICE in baremetal code with -fPIC
9001004404 Compiler ICE with --enable-checking when building linux
9001020378 Compiler Cannot build qt5webkit for arc700
9001031315 Compiler GCC compares SFP and DFP values incorrectly when -mcpu=em4 and -mnorm
9001044896 Compiler [DG] execute.exp=950915-1.c generates invalid instruction with -mcpu=em4 -O2
9001065763 Compiler ftruncate02_64 failure with GCC 6 and trunk
9001081235 Compiler [buildroot] gmp lib build failed
9001081769 Compiler GCC 6 ICE when building coreutils
9001081822 Compiler [buildroot] dmraid build failed
9001086114 Compiler "[buildroot] qt-4.8.7 build fails with ""internal compiler error"""
9001087935 Compiler "[buildroot] mesa3d-12.0.1 build fails with ""internal compiler error"""
9001090948 Compiler [buildroot] libcdio-0.93 build fails
9001092649 Compiler R25 is treated as thread pointer reg even with --disable-tls
9001107991 Compiler [buildroot][privoxy]: operand out of range
9000672366 Debugger gdb.base/commands.exp: continue with watch: expected line should be updated
9000881591 Debugger Evaluate branch condition in arc_next_pc function
9001091993 Eclipse plugin Changing linker settings breaks the project build
9001024736 Linker Linker reports bad symbol for MWDT compiled library written in C++
9000481437 Linker linker to abort if shared lib has .relocations in text
9000629566 Linker [pie] Unresolvable relocation in uClibc toolchain with option -fPIE
9000711844 Linker "[pie] -pie --static causes ""final link failed: Bad value"""
9000921771 Linker [pie] BFD_ASSERT(sreloc->contents != 0)
9000925001 Linker [pie] ld doesn't fail if symbol is undefined
9000976236 Linker Segmentation fault during mesa3d build
9001019759 Linker "dejagnu: ""-z nocommon"" flag not supported by linker for elf32"
9001020032 Linker dejagnu ld test failure: FAIL: ld-elf/linkonce1
9001020033 Linker Dejagnu: FAIL: PR ld/19317 (2)
9001021845 Linker [pie]: dumpcap segfaults (requires PIE support)
9001027471 Linker dejagnu fails. commonpage & maxpage
9001027472 Linker dejagnu fails: ld-discard /zero-range ld-discard/zero-rel
9001053384 Linker GNU linker calculates R_ARC_SECTOFF relocation incorrectly
9001054394 Linker GNU linker does not support R_ARC_SDA_12 relocation
9001056008 Linker GNU linker calculates R_ARC_N* relocations incorrectly
9001059599 Linker Linker fails to link dejagnu tests
9001108825 Linker [buildroot][libstdc++] relocation R_ARC_32_ME against `UNKNOWN' cannot be used
ARS0100768 Linker DT_RELACOUNT not generated by ARC linker (loader optimisation)
ARS0102823 Linker linker coalescing elf segments with -z max-page-size=16384
9001068766 newlib Function strcmp for em4 big endian is not correct
9001061425 uclibc "uClibc test ""tst-tls1"" fails"
9001069232 uclibc "[tls] [uclibc] ""tst-tls3"" failed with segfault"
9000882520 uclibc tst-atomic-long - uClibc testsuite failure
9001036412 uclibc Apps dynamically linked vs uClibc built with -mlong-calls fail
9001060878 uclibc LTP fanotify build fails with uClibc-ng
9001063706 uclibc "Libcall ""clone"" generates two new process instead of one."
9001073811 uclibc [uclibc-ng] build failed
9001081724 uclibc tst-mqueue8 uclibc test fails
9001081725 uclibc tst-mqueue6 uclibc test fails
9001081727 uclibc tst-mqueue3 uclibc test fails

A list of known issues can be found here.

Please report any problems by filing an Issue in GitHub here.

MD5 sums for the release tarballs:

e87c44a38dae628905506170bff05696  arc_gnu_2016.09-rc1_sources.tar.gz
e12574c30028cd9be6a544fbb4d1db61  arc_gnu_2016.09-rc1_prebuilt_elf32_le_linux_install.tar.gz
6dcc2baeed4c4c8a1dd198313603329b  arc_gnu_2016.09-rc1_prebuilt_uclibc_le_arc700_linux_install.tar.gz
088532a12f6fc4b2f6a1b0639e72ca73  arc_gnu_2016.09-rc1_prebuilt_uclibc_le_archs_linux_install.tar.gz
ee040b90a534664a771fcef7bbec552c  arc_gnu_2016.09-rc1_prebuilt_elf32_be_linux_install.tar.gz
9f5bf31f486d4b66ffd67894ebb4966e  arc_gnu_2016.09-rc1_prebuilt_uclibc_be_arc700_linux_install.tar.gz
dfea3f2d696c185a87b7b9ee2d1e96aa  arc_gnu_2016.09-rc1_prebuilt_uclibc_be_archs_linux_install.tar.gz
2e9b3df4e166b9138ca8cf50edb82570  arc_gnu_2016.09-rc1_ide_linux_install.tar.gz
d2663ffaa0dbcc6246c7140c6c014517  arc_gnu_2016.09_ide_plugins.zip
1aa1b9b97fbf5c3a2222db1e077846e8  arc_gnu_2016.09-rc1_ide_win_install.exe