world leader in high performance signal processing
Trace: » 2012r2

2012 Release 2 (2012R2) Toolchain Release

Version: 2012R2

Date: Dec. 4, 2012

This toolchain release contains tools for three targets: bfin-elf, bfin-uclinux, and bfin-linux-uclibc. All are cross toolchains for the Blackfin architecture. The bfin-elf target toolchain uses newlib for the C library and can be used to develop standalone applications. Both of the bfin-uclinux and bfin-linux-uclibc target toolchains use uClibc for the C library and can be used to develop Linux applications. bfin-uclinux is used for the FLAT binary format while bfin-linux-uclibc is used for the ELF FD-PIC binary format.

This release provides two GCC versions: 4.3.5 and 4.5.3. The Binutils version in this release is 2.21. The GDB version in this release is 6.6. The uClibc version is and the newlib version is 1.19.0.

For the 2012R2 release, there will be two separate toolchain releases. This is due to upstream incompatibilities between the shared libraries of GCC-4.3 and GCC-4.5. The default release package is 2012R2-RC2 and contains GCC-4.3. A second toolchain package is available called 2012R2_45-RC2 and contains an experimental GCC-4.5 compiler. The former will install to the default directory /opt/uClinux, the latter to /opt/uClinux-45.

Known Issues

  1. elf2flt passes -q option to real.ld. --gc-sections will be ignored by ld since it cannot be used together with -q.
  2. We do not support profiling using gprof. The latest uClibc no longer supports gcc -fprofile-arcs -pg style profiling. You may use other alternatives, like OProfile.
  3. Single stepping through hardware loop does not work when there are only one instruction in the loop. It will step over the whole loop instead.
  4. There are some incompatibilities between GCC-4.5 and GDB-6.6.


  1. Update many licenses to Clear BSD.
  2. QEMU 1.2.0 available

Improvement since Last Release

  1. Upgrade to uClibc


  1. Improved interrupt handling for bfin.


  1. gdbproxy: Stability fixes.
  2. gdbproxy: Better multicore support.

Build Script

  1. Many minor tweaks and improvements.
  2. Added support for uClibc


  1. Strip out endian.h from elf.h in new uClibc.


  1. Removed old uClibc version.
  2. Added uClibc
  3. Updated bfin config file.
  4. Added support for parts with non-0x0 address external memory.
  5. Roll back upstream's generic v-fork.
  6. Enabled NFTW.


  1. Update most bfin files to ClearBSD header.


  1. Various tweaks for stability and compatibility.
  2. Continual merge with upstream.


  1. Improved multicore support.

Bug fixes

This section lists the bugs that are known to be fixed in this release. The number before the description is the bug ID in the GNU toolchain for the Blackfin processor project tracker. Here only list the import bugs that have been fixed. For a full list, see tracker.