Skip to content

GNU Toolchain for ARC Processors, 2016.03

Compare
Choose a tag to compare
@anthony-kolesov 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.
  • 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.
  • 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.
  • 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
  • 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.

Bugs Fixed in This Release (Summary)

  • GCC
    • There was no multilib configuration without multiplier for ARC 700, EM
      and HS processors.
  • Newlib
    • Fixed a bug in crt0.S file that was using optional ASR a,b,u6 instruction
      without checking if barrel shifter is enabled.
  • 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.
  • 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