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

2012 Release 1 (2012R1) Toolchain Release

Version: 2012R1

Date: Jul. 6, 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 0.9.29 and the newlib version is 1.19.0.

For the 2012R1 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 2012R1-RC2 and contains GCC-4.3. A second toolchain package is available called 2012R1_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. Import Cloog and PPL to support GCC-4.5's graphite loop optimisations.
  2. Some minor licensing changes in MMR/anomaly headers.

Improvement since Last Release

  1. New part support: bf606-0.0, bf607-0.0, bf608-0.0 and bf609-0.0.


  1. Enabled Graphite loop optimisations for GCC4.5

Build Script

  1. Many minor improvements.
  2. Improved support for building on MacOS.


  1. Various minor fixes to avoid build warnings.


  1. Fixed support for leap years.
  2. Added exp2, exp2f, log2 and log2f functions.
  3. More syncing with upstream.


  1. Fixed arithmetic and logical shift in certain edge cases.
  2. Many minor improvements to closer match the hardware.


  1. The clock speed is no longer set in the basiccrt by default.


  1. Significant merge with upstream.


  1. wchar support.


  1. proc-defs: New anomaly UNSAFE_NULL_ADDR, for parts where 0x0 cannot be assumed a valid memory address.
  2. eclipse plug-ins: Now supported in Eclipse Indigo.

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.






  • don't set clock speed by default