GNU Toolchain for ARC Processors, 2016.09 RC1
Pre-release
Pre-release
·
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.
- Use GNU FTP server to download GMP, MPFR and MPC, update to latest
- 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.
- Revamped implementation of Position Independent Code (PIC) and Position Independent Executable (PIE)
- GDB
- Support multi-target GDB in ARC code. GDB for baremetal targets now can
debug Linux targets as well.
- Support multi-target GDB in ARC code. GDB for baremetal targets now can
- 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.
- Migrated to use DSF instead of obsolete CDT for debugging, which brings
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