Releases: foss-for-synopsys-dwc-arc-processors/toolchain
GNU Toolchain for ARC Processors, 2017.03 RC1
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
arc-2017.03-eng011
Create tag for arc-2017.03-eng011 release
GNU Toolchain for ARC Processors, 2016.09
This is release 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 |
| 9001124783 | Build | Building of Bare metal ARC GNU tool chain 2016.09 failed on RHEL 6.6 EM9D config |
| 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 |
| 9001118116 | Docs | Windows 10 support |
| 9001121311 | Docs | hello world example is not supported with em4_dmips, hs34 templates |
| 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 |
| 9001119554 | IDE | C Hello world debug issue with ARC nSIM |
| 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:
071699cdf89d23aeb2293e8ef6e156cc arc_gnu_2016.09_sources.tar.gz
2f30748fc54bb7ed6392fa56e8d7184f arc_gnu_2016.09_prebuilt_elf32_le_linux_install.tar.gz
d9f1abed7a77463410ee84b73de952ef arc_gnu_2016.09_prebuilt_uclibc_le_arc700_linux_install.tar.gz
1e31d79abc96298d3e42f23b6c76c411 arc_gnu_2016.09_prebuilt_uclibc_le_archs_linux_install.tar.gz
ed0db57043d1ac9bf5d044cce7c95bf6 arc_gnu_2016.09_prebuilt_elf32_be_linux_install.tar.gz
178e1f65e5ecb895bceb9a2fb1c093b8 arc_gnu_2...
GNU Toolchain for ARC Processors, 2016.09 RC2
This is the second release candidate for the 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 .
NOTE for embARC OSP users: The current release of embARC OSP, 2016.05, should be used with GNU IDE 2016.03. Support for the GNU IDE 2016.09 will be added in next release of embARC OSP, planned for
January 2017.
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.
Changes included in this RC:
- Toolchain build scripts
- 32a6ecf Properly check IS_CROSS_COMPILING variable
- cc98dab Accept TABs in gcc/config/arc/arc-cpus.def
- 9ef7988 Fix typo in error message
- 21f5d3d Readme: Fix missing directory name in Linux clone
- 41935ba Mention that toolchain will be supported in next embARC release
- 3bf353a doc: Update Linux guide for 2016.09 release
- d258298 Add one more entry to release notes for 2016.09
- 31264f9 Add release notes for 2016.09 release
- GCC
- 11f277e [ARC] Make lp_count reg fix for ARC600.
- 43dcdb8 [ARC] Fix LE tests for nps400 variant.
- b04a7b5 [ARC] Make mulsi for A700 pattern commutative.
- 97cb098 [ARC] Fix sub_n pattern.
- Binutils
- 3729e9f Typo fix: nps400
- 904518c Add nps400 definition
- 60900a7 [ARC] Add checking for LP_COUNT reg usage, improve error reporting.
- ead0096 [ARC] Fix printing 'b' mnemonics.
- uClibc
- 61afc0c ARC: string: handle gcc 6.x macro changes
- 9334a3c NPTL/ARC: provide a kernel assisted atomic cmpxchg
- a265687 ARC: introduce explicit support for atomics
- ad6e556 NPTL/ARC: implement __arch_exchange_32_acq using native EX
- IDE
- 81e2126 Replace '' in a value for "C/C++ Application:" field in "Debug configurations" window with '/'
Bugs Fixed in This RC
| Number | Project | Title |
|---|---|---|
| 9001124783 | Build | Building of Bare metal ARC GNU tool chain 2016.09 failed on RHEL 6.6 EM9D config |
| 9001118116 | Docs | Windows 10 support |
| 9001121311 | Docs | hello world example is not supported with em4_dmips, hs34 templates |
| 9001119554 | IDE | C Hello world debug issue with ARC nSIM |
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:
dca54d03876a1028758657bff536df7d arc_gnu_2016.09-rc2_sources.tar.gz
3217c4e1db92f5fbd882e661e75795df arc_gnu_2016.09-rc2_prebuilt_elf32_le_linux_install.tar.gz
de4d304ffa4f1cc9535422012d4a0302 arc_gnu_2016.09-rc2_prebuilt_uclibc_le_arc700_linux_install.tar.gz
42b19318f677375075ba4543f1a02545 arc_gnu_2016.09-rc2_prebuilt_uclibc_le_archs_linux_install.tar.gz
33bacc0abc8dbd09a6d2560811462785 arc_gnu_2016.09-rc2_prebuilt_elf32_be_linux_install.tar.gz
26097cfb00f25aac7d046b2c6559fca2 arc_gnu_2016.09-rc2_prebuilt_uclibc_be_arc700_linux_install.tar.gz
e58acb8d99698d351521a7752d064ce2 arc_gnu_2016.09-rc2_prebuilt_uclibc_be_archs_linux_install.tar.gz
b4e7d66d49a1284bb1460ef3f9a175a5 arc_gnu_2016.09-rc2_ide_linux_install.tar.gz
8e4437ee2c9e5ba55b7e7dfb5ca1f864 arc_gnu_2016.09_ide_plugins.zip
a6bac936fd03e4b7e546f2174082b6fe arc_gnu_2016.09-rc2_prebuilt_uclibc_le_archs_native_install.tar.gz
5b6ed4a848b277b0e9e435d26dc31414 arc_gnu_2016.09-rc2_ide_win_install.exe
GNU Toolchain for ARC Processors, 2016.09 RC1
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
d2663ffaa0dbcc6246c7140...
GNU Toolchain for ARC Processors, 2016.03
This is 2016.03 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 v2.26+ (upstream commit id 202ac19 with additional ARC patches)
- GCC v4.8.5
- GDB 7.10
- newlib v2.3
- uclibc (upstream commit 94340ce with backported patches from uClibc-ng)
- 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.
New Features and Enhancements
- Binutils
- Binutils implementation for ARC has been rewritten from the ground up for better maintainability, stability and
functionality. The new implementation is based on upstream release 2.26.
- Binutils implementation for ARC has been rewritten from the ground up for better maintainability, stability and
- GCC
- New values for
-mcpuoption and new set of multilib libraries built for
those processor configurations. - Support for text values of
-mmpy-option, same as in hardware IP
libraries. - Fixed runtime issues on 32-bit hosts.
- New values for
- Eclipse IDE
- Support for new GCC
-mcpuoption values. - If TCF is used, options in GUI are now synchronized with it.
- it is now possible to select current working directory when using nSIM.
- Support for new GCC
- OpenOCD
- Added a separate configuration file for ARC EM Starter Kit v2.2, which
requires a reduced JTAG Frequency of 5 MHz, compared to 7.5 MHz value used for versions 2.0 and 2.1. - NOTE: A new openOCD driver is required for Windows in this release. Please update using instructions found here
- Added a separate configuration file for ARC EM Starter Kit v2.2, which
- Toolchain build scripts
- Option
--cpunow accepts different values that are supported by GCC as
values for-mcpuoption. List of supported values is dynamic and
evaluated based on GCC configuration. - Support for building of native (self-hosting) Linux/uClibc toolchain (beta)
- New option of build-all.sh script:
--native- specifies whether script is building native
(self-hosting) toolchain. That affects location of header files and
standard library archives. It is still required to pass--host
option to specify cross-toolchain to build native toolchain.
- Option
Bugs Fixed in This Release (Summary)
- GCC
- There was no multilib configuration without multiplier for ARC 700, EM
and HS processors.
- There was no multilib configuration without multiplier for ARC 700, EM
- Newlib
- Fixed a bug in crt0.S file that was using optional ASR a,b,u6 instruction
without checking if barrel shifter is enabled.
- Fixed a bug in crt0.S file that was using optional ASR a,b,u6 instruction
- Eclipse IDE
- Path to standard headers was calculated improperly for big-endian
projects. - Fixed an inconsistency where if toolchain is present both in the PATH and
relatively to eclipse installation, compiler plugin would use one
toolchain from ../bin to build project, but would use toolchain from the
PATH to get information about standard headers.
- Path to standard headers was calculated improperly for big-endian
- OpenOCD
- OpenOCD didn't worked with HS36 in AXS103.
- Toolchain build scripts
- XML files for Ashling Opella-XD GDBserver were broken for Windows systems.
- Memory maps for AXS10x boards were broken - there was a link error when
using them.
Complete list of STARs fixed/closed in this release:
| Number | Project | Title |
|---|---|---|
| 9000986193 | Ashling GDB server | Ashling doesn't work for EM6 core (requires Ashling release 1.0.6-D) |
| 9000986197 | Ashling GDB server | Ashling doesn't work on Windows |
| 9001025886 | Ashling GDB server | Ashling doesn't always work for EM6 core on AXS101 |
| 9000535888 | Assembler | GNU assembler failing to process expression involving . and & |
| 9000603555 | Assembler | GAS: request overhaul gnu assembler for current and future ARCv2 architecture |
| 9000668330 | Assembler | symbol treated as 16-bit integer |
| 9000770706 | Assembler | "Gas does not abort at instructions like st r1, [r0+4]" |
| 9000860985 | Assembler | GAS: bad assembly for the branch prediction Y bit |
| 9000864217 | Assembler | assembler bug with address expression using labels |
| 9000978280 | Assembler | "Error: junk at end of line: `,@.LANCHOR1@pcl'" |
| 9000987160 | Assembler | New GAS: Add support for ARC extension instructions |
| 9000994937 | Assembler | new-binutils: R_ARC_TLS_LE_32 not including offset to structures in addend |
| 9001022467 | Assembler | New binutils generates unneeded AUX register names symbols |
| ARS0100769 | Assembler | Assembler needs to flag error for j@plt code |
| 9000687750 | binutils | memory corruption in binutils |
| 9000984169 | binutils | invalid debug info for local labels |
| 9000985228 | binutils | new-binutils: Invalid debug info for local labels |
| 9000987187 | binutils | new-binutils: Compress debug sections support |
| 9000987188 | binutils | new-binutils: strip on STB_GNU_UNIQUE |
| 9001001892 | binutils | new-binutils: Uclibc for ARC700 build complains about different architecture obj |
| 9001009303 | binutils | Native linker doesn't link |
| 9001009438 | binutils | Some applications do not exit |
| 9001009439 | binutils | New binutils do not set valid e_flags |
| 9001011480 | binutils | new-binutils: Invalid symbol index for dynamic relocs in libstdc++ |
| 9001023085 | binutils | [new-binutils]: Big endian linux fails to boot on HS in nightly regressions |
| 9001027916 | binutils | Assembler doesn't accept sleep instruction without parameters |
| 9000913514 | Build | Self hosted development on ARC Linux system |
| 9000496174 | Compiler | "-fno-omit-frame-pointer broken, generates code that doesn't work" |
| 9000838988 | Compiler | [multilib]:Add mtune values accordingly to the ARChitect templates |
| 9000867475 | Compiler | [multilib]: add the –mno-mpy option to multilib configuration |
| 9000931490 | Compiler | Fine grained handling of 64 bit operands in inline asm |
| 9000950193 | Compiler | [multilib]: libgcc soft FP for HS uses MPY non-conditionally |
| 9000958046 | Compiler | [multilib]: ARC 700 with -mnorm default lib doesn't make sense |
| 9000970225 | Compiler | [multilib]: mmpy-option should use names instead of numbers |
| 9000989111 | Compiler | Native floating point extensions support for ARC Processor on Intel QuarkSE SoC |
| 9000994687 | Compiler | "junk at end of line: ,@.LANCHOR0@pcl" |
| 9000995433 | Compiler | Assembler error message during ruby building |
| 9001005005 | Compiler | ICE when compiling with -mcpu=hs38 -Os |
| 9001007315 | Compiler | Compiler doesn't emit a warning on usage of useless -mno-mpy option |
| 9001007567 | Compiler | Cannot run uBoot compiled with GCC with new mcpu options |
| 9001011021 | Compiler | Native GCC on ARC 700 complains about FPU options |
| 9001013158 | Compiler | libstdc++ is not being installed for default multilib |
| 9001013191 | Compiler | Warning for -mno-ll64 is not consistent |
| 9001020378 | Compiler | Cannot build qt5webkit for arc700 |
| 9001031257 | Compiler | Assembler doesn't recognize insns when EM and fpuda_all |
| 9001031569 | Compiler | Error while building ARC linux image for 770D |
| 9001033004 | Compiler | .long directive in arc_gnu toolchain generate the disorder data |
| ARS0095357 | Compiler | Missing entry in DWARF line number table |
| 9000591827 | Debugger | "Ashling gdbserver ""monitor ashload"" doesn't work with --verify option" |
| 9000631435 | Docs | Allow user to set compiler option for standard libraries |
| 9000984210 | Eclipse plugin | configuring start/working directory for nsimdrv |
| 9000984252 | Eclipse plugin | empty parameters are being passed to nsimdrv |
| 9000985736 | Eclipse plugin | Big endian toolchains use host compiler for specs provider |
| 9000988094 | Eclipse plugin | Synchronize processor options in GUI and in TCF |
| 9000996610 | Eclipse plugin | Document case of using an external toolchain |
| 9001005468 | Eclipse plugin | Update IDE for new GCC -mcpu values |
| 9001027308 | Eclipse plugin | "ARC_GNU_2016.03: Debugging issues with IDE, nSIM" |
| 9001027383 | Eclipse plugin | ARC_GNU_2016.03: GNU Toolchain for ARC HS build error |
| 9001027655 | Eclipse plugin | Unable to build a project |
| 9000996549 | General | DRAM origin error in memory.x |
| 9000985691 | Linker | GNU ld resolves R_ARC_24 and R_ARC_32 relocations incorrectly |
| 9000987186 | Linker | new-binutils: Section garbage collection |
| 9000987687 | Linker | GNU ld or MetaWare resolves R_ARC_8/16/24 relocations incorrectly for big endian |
| 9001000461 | Linker | ld segfaulting when running configure script in glibc |
| 9001010109 | Linker | Overflow detected in relocation value error using ARC GNU 2015.12 |
| 9001021693 | newlib | crt0.s uses barrel-shifter unconditionally |
| 9000837141 | openOCD | Move to FTDI interface on Windows |
| 9000991729 | openOCD | JTAG freq for snps_em_sk_v2 needs to be lowered to 5MHz for EMSK 2.2 |
| 9000999218 | openOCD | OpenOCD doesn't work with AXS103/HS36 |
| 9000999246 | openOCD | GDB intermittently hangs or Halts for Polling while debugging it using OpenOCD. |
| 9001025725 | openOCD | Problem with debugging ARC 600 project using OpenOCD |
| 9001026917 | openOCD | Failing to Debug EMSK-2.1 examples on Windows-7 |
| 9000848901 | uclibc | Sporadic invalid read in uClibc dynamic linker |
| 9001008203 | uclibc | Cannot link new binutils gas for native toolchain |
A list of known issues can be found here.
Please report any problems by filing an Issue in GitHub [he...
GNU Toolchain for ARC Processors, 2016.03 RC2
This is the second release candidate 2016.03 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 v2.26+ (upstream commit id 202ac19 with additional ARC patches)
- GCC v4.8.5
- GDB 7.10
- newlib v2.3
- uclibc (upstream commit 94340ce with backported patches from uClibc-ng)
- 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.
New Features and Enhancements
- Binutils
- Binutils implementation for ARC has been rewritten from the ground up for better maintainability, stability and
functionality. The new implementation is based on upstream release 2.26.
- Binutils implementation for ARC has been rewritten from the ground up for better maintainability, stability and
- GCC
- New values for
-mcpuoption and new set of multilib libraries built for
those processor configurations. - Support for text values of
-mmpy-option, same as in hardware IP
libraries. - Fixed runtime issues on 32-bit hosts.
- New values for
- Eclipse IDE
- Support for new GCC
-mcpuoption values. - If TCF is used, options in GUI are now synchronized with it.
- it is now possible to select current working directory when using nSIM.
- Support for new GCC
- OpenOCD
- Added a separate configuration file for ARC EM Starter Kit v2.2, which
requires a reduced JTAG Frequency of 5 MHz, compared to 7.5 MHz value used for versions 2.0 and 2.1.
- Added a separate configuration file for ARC EM Starter Kit v2.2, which
- Toolchain build scripts
- Option
--cpunow accepts different values that are supported by GCC as
values for-mcpuoption. List of supported values is dynamic and
evaluated based on GCC configuration. - Support for building of native (self-hosting) Linux/uClibc toolchain (beta)
- New option of build-all.sh script:
--native- specifies whether script is building native
(self-hosting) toolchain. That affects location of header files and
standard library archives. It is still required to pass--host
option to specify cross-toolchain to build native toolchain.
- Option
Bugs Fixed in This Release (Summary)
- GCC
- There was no multilib configuration without multiplier for ARC 700, EM
and HS processors.
- There was no multilib configuration without multiplier for ARC 700, EM
- Newlib
- Fixed a bug in crt0.S file that was using optional ASR a,b,u6 instruction
without checking if barrel shifter is enabled.
- Fixed a bug in crt0.S file that was using optional ASR a,b,u6 instruction
- Eclipse IDE
- Path to standard headers was calculated improperly for big-endian
projects. - Fixed an inconsistency where if toolchain is present both in the PATH and
relatively to eclipse installation, compiler plugin would use one
toolchain from ../bin to build project, but would use toolchain from the
PATH to get information about standard headers.
- Path to standard headers was calculated improperly for big-endian
- OpenOCD
- OpenOCD didn't worked with HS36 in AXS103.
- Toolchain build scripts
- XML files for Ashling Opella-XD GDBserver were broken for Windows systems.
- Memory maps for AXS10x boards were broken - there was a link error when
using them.
Complete list of STARs fixed/closed in this release:
| Number | Project | Title |
|---|---|---|
| 9000986193 | Ashling GDB server | Ashling doesn't work for EM6 core (requires Ashling release 1.0.6-D) |
| 9000986197 | Ashling GDB server | Ashling doesn't work on Windows |
| 9001025886 | Ashling GDB server | Ashling doesn't always work for EM6 core on AXS101 |
| 9000535888 | Assembler | GNU assembler failing to process expression involving . and & |
| 9000603555 | Assembler | GAS: request overhaul gnu assembler for current and future ARCv2 architecture |
| 9000668330 | Assembler | symbol treated as 16-bit integer |
| 9000770706 | Assembler | "Gas does not abort at instructions like st r1, [r0+4]" |
| 9000860985 | Assembler | GAS: bad assembly for the branch prediction Y bit |
| 9000864217 | Assembler | assembler bug with address expression using labels |
| 9000978280 | Assembler | "Error: junk at end of line: `,@.LANCHOR1@pcl'" |
| 9000987160 | Assembler | New GAS: Add support for ARC extension instructions |
| 9000994937 | Assembler | new-binutils: R_ARC_TLS_LE_32 not including offset to structures in addend |
| 9001022467 | Assembler | New binutils generates unneeded AUX register names symbols |
| ARS0100769 | Assembler | Assembler needs to flag error for j@plt code |
| 9000687750 | binutils | memory corruption in binutils |
| 9000984169 | binutils | invalid debug info for local labels |
| 9000985228 | binutils | new-binutils: Invalid debug info for local labels |
| 9000987187 | binutils | new-binutils: Compress debug sections support |
| 9000987188 | binutils | new-binutils: strip on STB_GNU_UNIQUE |
| 9001001892 | binutils | new-binutils: Uclibc for ARC700 build complains about different architecture obj |
| 9001009303 | binutils | Native linker doesn't link |
| 9001009438 | binutils | Some applications do not exit |
| 9001009439 | binutils | New binutils do not set valid e_flags |
| 9001011480 | binutils | new-binutils: Invalid symbol index for dynamic relocs in libstdc++ |
| 9001023085 | binutils | [new-binutils]: Big endian linux fails to boot on HS in nightly regressions |
| 9001027916 | binutils | Assembler doesn't accept sleep instruction without parameters |
| 9000913514 | Build | Self hosted development on ARC Linux system |
| 9000496174 | Compiler | "-fno-omit-frame-pointer broken, generates code that doesn't work" |
| 9000838988 | Compiler | [multilib]:Add mtune values accordingly to the ARChitect templates |
| 9000867475 | Compiler | [multilib]: add the –mno-mpy option to multilib configuration |
| 9000931490 | Compiler | Fine grained handling of 64 bit operands in inline asm |
| 9000950193 | Compiler | [multilib]: libgcc soft FP for HS uses MPY non-conditionally |
| 9000958046 | Compiler | [multilib]: ARC 700 with -mnorm default lib doesn't make sense |
| 9000970225 | Compiler | [multilib]: mmpy-option should use names instead of numbers |
| 9000989111 | Compiler | Native floating point extensions support for ARC Processor on Intel QuarkSE SoC |
| 9000994687 | Compiler | "junk at end of line: ,@.LANCHOR0@pcl" |
| 9000995433 | Compiler | Assembler error message during ruby building |
| 9001005005 | Compiler | ICE when compiling with -mcpu=hs38 -Os |
| 9001007315 | Compiler | Compiler doesn't emit a warning on usage of useless -mno-mpy option |
| 9001007567 | Compiler | Cannot run uBoot compiled with GCC with new mcpu options |
| 9001011021 | Compiler | Native GCC on ARC 700 complains about FPU options |
| 9001013158 | Compiler | libstdc++ is not being installed for default multilib |
| 9001013191 | Compiler | Warning for -mno-ll64 is not consistent |
| 9001020378 | Compiler | Cannot build qt5webkit for arc700 |
| 9001031257 | Compiler | Assembler doesn't recognize insns when EM and fpuda_all |
| 9001031569 | Compiler | Error while building ARC linux image for 770D |
| 9001033004 | Compiler | .long directive in arc_gnu toolchain generate the disorder data |
| ARS0095357 | Compiler | Missing entry in DWARF line number table |
| 9000591827 | Debugger | "Ashling gdbserver ""monitor ashload"" doesn't work with --verify option" |
| 9000631435 | Docs | Allow user to set compiler option for standard libraries |
| 9000984210 | Eclipse plugin | configuring start/working directory for nsimdrv |
| 9000984252 | Eclipse plugin | empty parameters are being passed to nsimdrv |
| 9000985736 | Eclipse plugin | Big endian toolchains use host compiler for specs provider |
| 9000988094 | Eclipse plugin | Synchronize processor options in GUI and in TCF |
| 9000996610 | Eclipse plugin | Document case of using an external toolchain |
| 9001005468 | Eclipse plugin | Update IDE for new GCC -mcpu values |
| 9001027308 | Eclipse plugin | "ARC_GNU_2016.03: Debugging issues with IDE, nSIM" |
| 9001027383 | Eclipse plugin | ARC_GNU_2016.03: GNU Toolchain for ARC HS build error |
| 9001027655 | Eclipse plugin | Unable to build a project |
| 9000996549 | General | DRAM origin error in memory.x |
| 9000985691 | Linker | GNU ld resolves R_ARC_24 and R_ARC_32 relocations incorrectly |
| 9000987186 | Linker | new-binutils: Section garbage collection |
| 9000987687 | Linker | GNU ld or MetaWare resolves R_ARC_8/16/24 relocations incorrectly for big endian |
| 9001000461 | Linker | ld segfaulting when running configure script in glibc |
| 9001010109 | Linker | Overflow detected in relocation value error using ARC GNU 2015.12 |
| 9001021693 | newlib | crt0.s uses barrel-shifter unconditionally |
| 9000837141 | openOCD | Move to FTDI interface on Windows |
| 9000991729 | openOCD | JTAG freq for snps_em_sk_v2 needs to be lowered to 5MHz for EMSK 2.2 |
| 9000999218 | openOCD | OpenOCD doesn't work with AXS103/HS36 |
| 9000999246 | openOCD | GDB intermittently hangs or Halts for Polling while debugging it using OpenOCD. |
| 9001025725 | openOCD | Problem with debugging ARC 600 project using OpenOCD |
| 9001026917 | openOCD | Failing to Debug EMSK-2.1 examples on Windows-7 |
| 9000848901 | uclibc | Sporadic invalid read in uClibc dynamic linker |
| 9001008203 | uclibc | Cannot link new binutils gas for native toolchain |
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:
6bbff8c07374919450bf9020693d2746 arc_gnu_2016.03_sources.tar.gz
0f...
GNU Toolchain for ARC Processors, 2015.12
This is 2015.12 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
- GCC v4.8.5
- Binutils v2.23
- newlib v2.3
- uclibc (upstream HEAD at the moment of release)
- GDB 7.10
- Eclipse Mars (4.5.1) with CDT 8.8.0
- OpenOCD 0.9+ upstream commit 30203b3d8b, with ARC support.
New Features and Enhancements
- GCC
- Source update to v4.8.5
- New preprocessor defines for processor optional features, like -mnorm, -mll64, etc.
- Fast interrupt (FIRQ) function attribute support
- Naked function attribute support
- GDB
- Updated to upstream 7.10 release.
- Pre-built binaries
- Baremetal toolchain now contains additional set of libc/libstdc++ binaries compiled with optimization for code size. Can be selected by passing
--specs=nano.specsto gcc. - Standard libraries in baremetal toolchain are now stripped of debug information, except for
.debug_framesection. - Linux toolchain for ARC HS now contains sysroot for ARC 700. It is now possible to build ARC 700 application using ARC HS toolchain, by passing an option
--sysroot=$INSTALLDIR/arc-snps-linux-uclibc/sysroot-arc700to arc-linux-gcc, where$INSTALLDIRis a path to toolchain installation folder. This is implemented for both little end big endian toolchains. - Toolchain binaries are linked dynamically
- Baremetal toolchain now contains additional set of libc/libstdc++ binaries compiled with optimization for code size. Can be selected by passing
- Eclipse IDE
- Removed redundant "hostname" text field from debugger configuration when locally started gdbserver are used.
- ARC template projects have been reorganized. They are now grouped by target ARC development system.
- Added validation for text fields in debugger configuration.
- TCF support to build configurations
- Debugger configuration UI now has a full support of Synopsys ARC development systems for OpenOCD
- Reworked template projects for Synopsys ARC development systems
- Updated processor option in compiler pluging to adhere to GCC in this release
- Newlib
- Updated to upstream 2.3 release
- Added support for newlib-nano
- OpenOCD
- Support for the actionpoints. OpenOCD will automatically detect actions points in ARC EM and ARC HS targets. Hardware breakpoints are set via GDB command
hbreak, while hardware watchpoints via GDB commandwatch.
- Support for the actionpoints. OpenOCD will automatically detect actions points in ARC EM and ARC HS targets. Hardware breakpoints are set via GDB command
- Toolchain build scripts
- 2-stage build process for baremetal toolchain
- Can now build libc and libstdc++ optimized for size along the "normal" set of libraries.
- Support for Linux toolchains with multiple sysroots. Buildscripts themselves can build a toolchain with only one sysroot, however that arc-snps-linux-uclibc/sysroot folder may be now freely used with other toolchains. That wasn't possible with previous releases, because some libraries were outside of the sysroot.
- New options of build-all.sh script:
--[no-]elf32-gcc-stage1- defines whether to build of stage 1 compiler for baremetal toolchain. Means that runnable ARC compiler should be already in the PATH to build newlib. Disable first stage compiler is needed for canadian cross builds. Default is--elf32-gcc-stage1.--[no-]optsze-newlib- defines whether to build newlib optimized for code size. Default is--optsize-newlib.--[no-]optsze-libstdc++- defines whether to build libstdc++ optimized for code size. Default is--optsize-libstdc++. This is independent from newlib option, however nano.specs will be copied to target toolchain installation only when--optsize-newlibis used.--[no-]elf32-strip-target-libs- defines whether to string target libraries of the debug symbols (except for .debug_frame section). Default is off--no-elf32-strip-target-libs.
Bugs Fixed in This Release (Summary)
- Pre-built binaries
- Fixed broken shortcut to documentation folder in installer for Windows
- Fixed a bug where uninstaller for Windows wouldn't remove some shortcuts
- Eclipse IDE
- Fixed compatibility with Ashling Opella-XD gdbserver
- Fixed an case where in C++ projects standard library functions were highlighted as unknown by Eclipse syntax checker.
- Fix crash in IDE on Linux when connecting to target UART
- Fixed: IDE template projects for C++ were not linking
- Fixed: printf() is highlighted by Eclipse as an unknown function in C++ project, but projects builds without error
- Newlib
- Fixed an issue with string and memory routines using instructions which are not available for selected ARC processor configuration.
- OpenOCD
- Fixed support of EM7DFPU image in EM Starter Kit 2.1: JTAG frequency was too high.
- Toolchain build scripts
- Fixed an issue where custom baremetal toolchain built with -mnorm option wouldn't link C++ applications
Complete list of STARs fixed/closed in this release:
| Number | Project | Title |
|---|---|---|
| 9000807313 | Assembler | Push-n-Pop instruction are not recognized by the GAS |
| 9000931852 | Assembler | assembler needs to support llockd/scondd |
| 9000937132 | Assembler | internal error: fixup not contained within frag |
| 9000978280 | Assembler | Error: junk at end of line: `,@.LANCHOR1@pcl' |
| 9000878737 | Build | Can't find a source file at "/home/akolesov/ws/arc-2014.12/unisrc-4.8/newlib/lib |
| 9000909931 | Build | multi-sysroot toolchain support |
| 9000914808 | Build | Dynamic linked toolchain for Windows |
| 9000943754 | Build | Toolchain built with -mnorm in target cflags doesn't build C++ apps |
| 9000960799 | Build | [windows] Documentation link in Start Menu doesn't work |
| 9000906026 | Compiler | gcc 4.8.x (since may 2015) spews dwarf messages |
| 9000908736 | Compiler | Undefined reference to .tdata when building ncurses |
| 9000922620 | Compiler | [tls] undefined reference to .tdata |
| 9000924612 | Compiler | Enable section anchors for Os |
| 9000926273 | Compiler | ICE in GCC with -Os -mfpu=fpus_all |
| 9000926277 | Compiler | ICE with -marcem -mfpu=fpuda -Os -fno-builtin |
| 9000927675 | Compiler | GCC does not emit some operand combinations for LD |
| 9000929470 | Compiler | GCC generates an invalid assembly code for -O3 (operand out of range) |
| 9000942081 | Compiler | ICE in GCC built with --enable-checking |
| 9000953408 | Compiler | ICE when compiling libgcc file without explicit CPU option |
| 9000958058 | Compiler | ARC specific preprocessor defines do not follow any naming convention |
| 9000967406 | Compiler | unrecognizable insn with -mmpy-option=9 |
| 9000970221 | Compiler | Segfault in GCC with -Os -fsection-anchors -fPIC |
| 9000969818 | Compiler | Internal compiler error during libbroadvoice build |
| 9000857057 | Compiler | GCC loop skips first index or can loop indefenetely if 'continue' is used. |
| 9000958165 | Compiler | ‘builtin’ instructions generated for 32 bit inst when 16-bit versions available |
| 9000831646 | Debugger | debugging if fork() with GDB and NPTL |
| 9000831647 | Debugger | debugging of multithreaded apps with NPTL GDB |
| 9000921499 | Debugger | GDB doesn't step line properly in threaded apps |
| 9000897852 | Docs | Incomplete GCC documentation for -mmpy-option |
| 9000924631 | Docs | Add AXS10x specific linker scripts and CPU options to toolchain wiki |
| 9000837862 | Eclipse plugin | Dropdown list to select type of FTDI device |
| 9000849262 | Eclipse plugin | IDE crashes in RxTx |
| 9000918425 | Eclipse plugin | Debugger plugin should detect openocd in Linux IDE setup |
| 9000918465 | Eclipse plugin | Separate HS34 and HS36 empty templates are required |
| 9000922447 | Eclipse plugin | C++ projects for bare metal don't build because of inappropriate crt0.S |
| 9000922449 | Eclipse plugin | Error encountered while building uClibc application for ARC700 on GNU Ecllipse |
| 9000940039 | Eclipse plugin | Error messages when starting ARC plugins for Eclipse |
| 9000943601 | Eclipse plugin | Remove -mshift-assist option from toolchain's settings |
| 9000946759 | Eclipse plugin | Eclipse highlights printf as unknown function |
| 9000947947 | Eclipse plugin | Remove -matomic from EM toolchain |
| 9000952007 | Eclipse plugin | Tooltips for nSIM options in Debugger plugin |
| 9000952042 | Eclipse plugin | nSIM bin path should be empty if NSIM_HOME is not set |
| 9000952043 | Eclipse plugin | Highligh filepath fields if empty or file doesn't exist |
| 9000952560 | Eclipse plugin | Reorganize ARC template projects |
| 9000954846 | Eclipse plugin | Show error message if project or program doesn't exist or specified |
| 9000955386 | Eclipse plugin | Remove hostname text field for nSIM, Ashling and OpenOCD |
| 9000963398 | Eclipse plugin | Ashling support needs update for GDB 7.9 with XML target descriptions |
| 9000974600 | Eclipse plugin | Add --specs=nsim.specs to linker options in IDE template projects |
| 9000986055 | Eclipse plugin | Debugging flags aren't passed to compiler in IDE |
| 9000947173 | Eclipse plugin | ARC GNU GUI: gdb does not load library symbols for remote debug session. |
| 9000950266 | Linker | Linker regression causes instruction to be removed, perf failing with illegal in |
| 9000960795 | Linker | Faling ld test case for TLS |
| 9000980148 | Linker | Linker error when creating shared library file |
| 9000664832 | newlib | Implement function _exit in newlib |
| 9000861703 | newlib | Port newlib-nano to ARC |
| 9000950205 | newlib | [GNU] Incorrect default exception handlers for v2 cores |
| 9000974569 | newlib | Update newlib to new GCC macros defines |
| 9000987170 | newlib | Can not compile EM project with --specs=... |
GNU Toolchain for ARC Processors, 2015.06
This is release 2015.06 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.
Toolchain Components
- GCC v4.8.4
- Binutils v2.23
- newlib v2.0
- uclibc (upstream HEAD at the moment of release)
- GDB 7.9.1
A complete Eclipse IDE for GNU Toolchain for DesignWare ARC Processors can also be downloaded here
New Features and Enhancements
- GCC: source update to v4.8.4
- GCC: C ABI compatibility between MetaWare and GNU toolchains
- uClibc: support for thread local storage and Native Pthread Library (NPTL) in uClibc / linux toolchain
- GDB: updated to version 7.9.1
- GDB/GDBserver/openOCD: Add support for standard xml target description file
- openOCD: Allow users to configure registers without recompiling
Bugs Fixed in this Release
| Number | Project | Title |
|---|---|---|
| 9000919513 | Ashling GDB server | Missing aux-minimal.xml file for debugging Using Ashling Opella-XD |
| 9000860981 | Assembler | GAS: wrong assembly of ld_s r1,[gp,36] |
| 9000877961 | Assembler | Segfault in gas |
| 9000896496 | Assembler | GAS chokes on mov_s r0,@_stext@sda and rsub r0,r0,@_etext@sda |
| ARS0100666 | Backend | locals access requires two relos => two 8 byte insn |
| 9000689886 | binutils | programs using atexit have a zero .rela.got section |
| 9000738234 | Build | GNU Build is failing while building PDF |
| 9000917542 | Build | Script error encountered while building the baremetal toolchain |
| 9000912596 | Build | GDB on Windows doesn't support XML |
| 9000916745 | Compiler | ARC601 uses ARC600 strlen function |
| 9000914881 | Compiler | ICE: unrecognizable insn for -marc600 -mmul32x16 -Os |
| 9000911824 | Compiler | GCC generates invalid instruction for ARC 700 and ARC 600 |
| 9000735557 | Compiler | FPU: use double load and store instructions for double precision data type |
| 9000755340 | Compiler | [GNU] -ffixed-rXX produces incorrect executable |
| 9000869388 | Compiler | HS Linux fails to boot without HW multiplier |
| 9000877921 | Compiler | BLINK register is not proper restored after millicode call |
| 9000885056 | Compiler | gcc may emit conditional NOP. |
| 9000897935 | Compiler | GCC accepts -mno-no-volatile-cache |
| 9000903772 | Compiler | qxquerytokenizer: unaligned opcodes detected in executable segment |
| 9000905889 | Compiler | A suspicious optimization is performed for global constants |
| 9000593300 | Debugger | GDB sometimes skips breakpoint in baremetal application on HAPS |
| 9000786397 | Debugger | GDB uses ARCompact register names for ARC v2 cores |
| 9000870693 | Debugger | Register field descriptions |
| 9000876786 | Debugger | GDB needs to be able to unwind call stack containing enter/leave instructions |
| 9000897298 | Debugger | [tls/nptl]: gdb usage issues with linux VP |
| 9000919529 | Debugger | native gdb can't debug threaded apps |
| 9000913364 | Docs | The way to define stack / heap size is not documented |
| 9000834096 | Docs | ARC OpenOCD lacks documentation for ARC specific features |
| 9000874284 | Docs | Improve instructions to build toolchain for EM Starter Kit |
| 9000897438 | Docs | Documentation for -mbarrel-shift is invalid |
| 9000897852 | Docs | Incomplete GCC documentation for -mmpy-option |
| 9000897892 | Docs | Incomplete GCC documentation for -mdiv-rem |
| 9000897897 | Docs | Documentation for -mcode-density is not correct for ARC HS |
| 9000897932 | Docs | Option -matomic is not applicable to ARC EM |
| 9000897934 | Docs | Documentation for -mll64 doesn't mention it is default ON |
| 9000897973 | Docs | Option -mnorm is not applicable to ARC HS |
| 9000899152 | Docs | No way to select FPU with DA without FMA or DIV |
| 9000899166 | Docs | A specific behavior of ".lcomm" directive for ARC assembler is not documented |
| 9000840961 | Docs | Cannot build PDF documentation on RHEL7 |
| 9000753572 | General | [tls/nptl] Some Qt demo applications segfault |
| 9000769545 | Linker | [tls/nptl] linker crashes on "tst-tls12" and "tst-tls-at-ctor" uClibc tests |
| 9000856394 | Linker | linker default arch flag for empty archives |
| 9000875669 | Linker | linker can't use it's own default script |
| 9000870038 | newlib | Instruction norm is used unconditionally in strlen.S and memcmp.S |
| 9000870210 | newlib | _stat_r and _times_r are not implemented |
| 9000902569 | newlib | A function cargl does not exist in the GCC math library |
| 9000834652 | openOCD | Use target_type to distinguish ARC core families |
| 9000579074 | uclibc | [tls/nptl] Hackbench fails in thread mode if threads == 18 |
| 9000599571 | uclibc | [tls/nptl] Getting SIG32 while remotely debugging apps with pthreads |
| 9000775336 | uclibc | [tls/nptl] perf segfaults in scanf |
| 9000830286 | uclibc | [tls/nptl] Insn could not be fetched when hackbench -pipe 18 thread |
| 9000830538 | uclibc | [tls/nptl] multibench: "4M-check.out -v0 -w2" hangs |
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:
b1c4c87468b966cb8c505fbced517222 arc_gnu_2015.06_prebuilt_elf32_be_linux_install.tar.gz
ae05cb297f753b37cb8984d8df69c776 arc_gnu_2015.06_prebuilt_elf32_le_linux_install.tar.gz
1b6f4b33d29ea3807fe558bb7c43f7e0 arc_gnu_2015.06_prebuilt_uclibc_be_arc700_linux_install.tar.gz
8bf2abee129db03672a878af257b06c1 arc_gnu_2015.06_prebuilt_uclibc_be_archs_linux_install.tar.gz
a865bcb4edbd0cd2d03825ce042f7abb arc_gnu_2015.06_prebuilt_uclibc_le_arc700_linux_install.tar.gz
8c132a96f8ecc83c992256aeb80c6e46 arc_gnu_2015.06_prebuilt_uclibc_le_archs_linux_install.tar.gz
246115edd18509660bc8ec2ee01857da arc_gnu_2015.06_sources.tar.gz
GNU Toolchain for ARC Processors, 2014.12
This is the 2014.12 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
Toolchain Components
- GCC v4.8.3
- Binutils v2.23
- newlib v2.0
- uclibc v0.9.33.2 + mainline fixes
- GDB 7.5
A complete Eclipse IDE for GNU Toolchain for DesignWare ARC Processors can also be downloaded here
New Features and Enhancements
- Support for new ARC HS38, HS38x2 and HS38x4 Processors
Bugs Fixed
| Number | Project | Title |
|---|---|---|
| 9000839080 | Compiler | Cannot build bare metal HS application without LL64 instructions |
| 9000836617 | Compiler | internal compiler error in gcc 2014.12-RC1 |
| 9000753685 | Compiler | The length of add. h,h,s3 insn is not correct in delay slot |
| 9000735556 | Compiler | FPU: generate double precision fused multiply and add instruction |
| 9000778855 | Compiler | [HS] syscall args discrepancy in kernel and uclibc |
| 9000807457 | Compiler | GCC produce brhi with out of range limm |
| 9000805398 | Compiler | operand out of range (512 is not between -512 and 511) |
| 9000798619 | Compiler | busybox building fails at xfuncs.s (operand out of range) |
| 9000714357 | Compiler | Incompatibility with GCC/libc for x86_64 |
| 9000751028 | Compiler | a2time01 of EEMBC can't run which is compiled with ARC GNU |
| 9000796576 | openOCD | openOCD cannot open FTDI Device (EMSK 2.0/TE0604-02 board) |
| 9000816717 | openOCD | GNU IDE OpenOCD Debug Configuration TCL Script Typo Bug |
| 9000830582 | openOCD | Program need download twice to make it run rightly using openocd |
| 9000831112 | openOCD | OpenOCD doesn't reset the target |
| 9000830091 | openOCD | Reads from DDR memory sometimes return 0 instead of a real value |
| 9000473006 | Assembler | insn encoding issue - scond with limm |
| 9000799807 | binutils | Warning message when build HS Linux: unset architecture flags |
| 9000656506 | binutils | binutils assertion fails in bfd/elf32-arc.c:2147 |
| 9000810197 | binutils | objdump attaches suffix to brhs |
| 9000751381 | binutils | Support uClibc HS in Buildroot properly |
| 9000736390 | Build | [matomic] Build error for pulse audio with Buildroot |
| 9000783031 | Linker | TLS linker fails to proper solve relocation R_ARC_GOTPC32 |
| 9000808989 | uclibc | LTP: syscalls/sync_file_range01 failure on Linux for HS |
| 9000752070 | uclibc | Syscall monotonic fails in busybox |
| 9000771550 | uclibc | busybox linkage is broken if uClibc is built with DODEBUG=y |
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:
839712b61481ae505e015bd70c4e5f72 arc_gnu_2014.12_prebuilt_elf32_be_linux_install.tar.gz
5490b6bbe3d612645ee5e81a8d147d91 arc_gnu_2014.12_prebuilt_elf32_le_linux_install.tar.gz
fa8f40a7cac37d0e72a1f4829f7ed6e6 arc_gnu_2014.12_prebuilt_uclibc_be_arc700_linux_install.tar.gz
4e76d8741bf964b07be64401e51a575f arc_gnu_2014.12_prebuilt_uclibc_be_archs_linux_install.tar.gz
ad7cec8b87de30f821371007fcb086cc arc_gnu_2014.12_prebuilt_uclibc_le_arc700_linux_install.tar.gz
86235e41147ec91ee8fb78ea6aa5af28 arc_gnu_2014.12_prebuilt_uclibc_le_archs_linux_install.tar.gz
0d0c1a2b45c69d2c7f64c0ebb02fac25 arc_gnu_2014.12_sources.tar.gz