GNU Toolchain for ARC Processors, 2016.03
anthony-kolesov
released this
18 May 17:37
·
966 commits
to arc-releases
since this release
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
-mcpu
option 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
-mcpu
option 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
--cpu
now accepts different values that are supported by GCC as
values for-mcpu
option. 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:
a7e99e5893789fc04c2106db3f8466c4 arc_gnu_2016.03_sources.tar.gz
20ae103d0645491cf92224f8423d940b arc_gnu_2016.03_prebuilt_elf32_le_linux_install.tar.gz
0acb35a166fd9e2dd470b3d37e03747b arc_gnu_2016.03_prebuilt_elf32_be_linux_install.tar.gz
b1c8724699a82e4c32eb8ba8d1068d57 arc_gnu_2016.03_prebuilt_uclibc_le_arc700_linux_install.tar.gz
a03acdcbac60f36e79a6dd962b8ecb29 arc_gnu_2016.03_prebuilt_uclibc_be_arc700_linux_install.tar.gz
0f0d8361c58604af2171d33ab046ca86 arc_gnu_2016.03_prebuilt_uclibc_le_archs_linux_install.tar.gz
6dd76b8b30d3ab331dfb13d2d67bfc47 arc_gnu_2016.03_prebuilt_uclibc_be_archs_linux_install.tar.gz
30d69640ca8a81b2fe99e4ebc040fcbb arc_gnu_2016.03_ide_linux_install.tar.gz
8a1ef6dd2a69e4a792cafa20a701a90d arc_gnu_2016.03_ide_plugins.zip
a4518a94b011b3d6e4e974f08c182087 arc_gnu_2016.03_ide_win_install.exe