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

2011 Release 1 (2011R1) Toolchain Release

Version: 2011R1

Date: Nov. 8, 2011

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 twp 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 2011r1 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 2011R1-RC4 and contains GCC-4.3. A second toolchain package is available called 2011R1-RC4-45 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.

Changes

  1. Added expat for gdb.
  2. Import binutils-2.21.
  3. Import newlib 1.19.0.
  4. Coalesce libusb and winusb and update to 1.0.9-rc3.
  5. Import LibMPC to support GCC-4.5.
  6. Import Readline 6.2.

Improvement since Last Release

  1. Add support for dynamic FDPIC elfs in simulator.
  2. New part support: bf542-0.4, bf544-0.4, bf547-0.4, bf548-0.4, bf549-0.4, bf504-0.1, bf506-0.1 and bf592-0.2.

GCC

  1. Added experimental GCC 4.5 add-on.
  2. Enabled proper remote testing of libmudflap.
  3. Libgomp testing now properly configured.
  4. Improved detection of the speculative load anomaly, for cases where address 0x0 is unsafe.

Build Script

  1. Many minor improvements.
  2. Improved Canadian cross-compilation support.
  3. Proper two stage compiler build for uclinux and linux-uclibc.
  4. More version verbosity.
  5. Support for split binutil/gdb trees.

LDR

  1. Improved Windows support.
  2. Prevent blocking over tty.

uClibc

  1. uclibc-full now has FTW enabled by default.
  2. Base address of physical memory is now configurable.

Simulator

  1. Improve simulator multi-issue instruction support.
  2. Tighten up opcode and parameter acceptance.
  3. Many minor improvements to closer match the hardware.

GAS

  1. Sync with upstream.
  2. Catch various illegal register combinations.

Binutils

  1. Upgraded to 2.21.
  2. Many, many opcode updates and fixes.

GDB

  1. Many sim part support improvements.
  2. BF592 sim support

urjtag

  1. Merge many changes from upstream.

Elf2flt

  1. No longer aliases -v to --verbose.
  2. No functions properly on Windows.

Newlib

  1. Upgraded to 1.19.0
  2. Experimental wchar support.

Others

  1. proc-defs: enable anomaly 05000353 support for all BF54x parts.

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.

GCC

GAS

Binutils

GDB

urjtag

uClibc

  • Avoid issue where /.config can be picked up by Make.

libgfortran

libgloss

ldr-utils