April 6th 2007
This toolchain release contains toolchains for three targets: bfin-elf
, bfin-uclinux
, and bfin-linux-uclibc
. All are cross toolchains for Blackfin. The bfin-elf
target toolchain uses newlib
for C
library and can be used to develop standalone applications. Both of bfin-uclinux
and bfin-linux-uclibc
target toolchains use uClibc
for C
library and can be used to develop uClinux
applications. bfin-uclinux
is used for FLAT binary format. bfin-linux-uclibc
is used for ELF FD-PIC binary format.
This release provides two GCC
versions: 4.1.2 and 3.4.6. Binutils
version in this release is 2.17. GDB
version in this release is 6.6.
This release contains many bug fixes and some new features. It's more stable and usable.
elf2flt
passes -q
option to real.ld
. --gc-sections
will be ignored by ld
since it cannot be used together with -q
.gprof
. The latest uClibc
no longer supports gcc -fprofile-arcs -pg
style profiling. You may use other alternatives, like OProfile
.bfin-elf-gdb
, interrupting the simulated program with ^C
does not work immediately. It will not take the effect until user press another key.-fstack-limit-symbol
cannot be used with multithreading applications. Use -mstack-check-l1
instead.-fstack-limit-symbol
cannot be used with -mfdpic
. Use -mstack-check-l1
instead.-fprofile-arcs
cannot be used with -mfdpic
.ldrviewer
is renamed to ldr-utils
.GCC
now supports -mcpu=NAME
option. NAME
can be bf531
, bf532
, bf533
, bf534
, bf536
, bf537
, and bf561
.bfin-elf-gcc
now links with runtime libraries for hardware if -msim
is not used.-i
option has been removed from BuildToolChain
. Target binutils libraries is always built.GCC
4.1 has been updated to 4.1.2.GDB
has been updated to 6.6.uClibc
has been updated to upstream revision 17204.BuildToolChain
has new options: -l
, -H
, -K
-l LANGS
: Only build specified gcc
languages LANGS
.-H HOST
: Build toolchain to run on HOST
-K SOURCE
: Kernel Header directoryBuildToolChain
now install sanitized kernel headers.GCC
now generates more and better hardware loops.GCC
now generates better instruction sequence for integer multiply.BuildToolChain
now can calculate a default -j
value for make based on /proc/cpuinfo.llrint
has been implemented in uClibc
.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 Blackfin toolchain project tracker. Here only list the import bugs that have been fixed. For a full list, see tracker.
The tests are run three times. One on the host (bfin-elf
on the simulator) and the other two running on the Blackfin hardware (bfin-uclinux
and bfin-linux-uclibc
). For details on the testing, see how Testing the Toolchain was done.
=== gcc Summary === bfin-uclinux bfin-linux-uclibc bfin-elf # of expected passes 24821 24815 24801 # of unexpected failures 31 31 29 # of unexpected successes 8 8 1 # of expected failures 60 60 67 # of unresolved testcases 36 50 36 # of untested testcases 7 7 7 # of unsupported tests 388 386 393 === g++ Summary === bfin-uclinux bfin-linux-uclibc bfin-elf # of expected passes 9886 9879 9886 # of unexpected failures 9 9 9 # of unexpected successes 6 6 2 # of expected failures 64 64 68 # of unresolved testcases 14 21 14 # of unsupported tests 90 90 90 === gdb Summary === bfin-uclinux bfin-linux-uclibc bfin-elf # of expected passes 9380 9751 9231 # of unexpected failures 169 179 22 # of expected failures 34 41 41 # of known failures 56 58 55 # of unresolved testcases 10 1 2 # of untested testcases 12 10 10 # of unsupported tests 23 29 36 === binutils Summary === bfin-uclinux bfin-linux-uclibc bfin-elf # of expected passes 23 35 35 # of unexpected failures 2 # of unresolved testcases 2 === gas Summary === bfin-uclinux bfin-linux-uclibc bfin-elf # of expected passes 91 113 113 # of unexpected failures 10 10 10 # of expected failures 1 1 1
=== gcc Summary === bfin-uclinux bfin-linux-uclibc bfin-elf # of expected passes 36976 37005 36981 # of unexpected failures 36 18 11 # of unexpected successes 1 1 1 # of expected failures 75 75 75 # of untested testcases 28 28 28 # of unsupported tests 371 367 375 === g++ Summary === bfin-uclinux bfin-linux-uclibc bfin-elf # of expected passes 11912 11913 11912 # of unexpected failures 2 1 2 # of unexpected successes 3 3 2 # of expected failures 65 65 66 # of unsupported tests 134 134 134 === gdb Summary === bfin-uclinux bfin-linux-uclibc bfin-elf # of expected passes 9383 9769 9233 # of unexpected failures 164 162 18 # of expected failures 34 41 41 # of known failures 58 60 57 # of unresolved testcases 10 1 2 # of untested testcases 12 10 10 # of unsupported tests 23 29 36 === binutils Summary === bfin-uclinux bfin-linux-uclibc bfin-elf # of expected passes 23 35 35 # of untested testcases 2 # of unresolved testcases 2 === gas Summary === bfin-uclinux bfin-linux-uclibc bfin-elf # of expected passes 91 113 113 # of unexpected failures 10 10 10 # of expected failures 1 1 1