📄 toolchain_release_notes_2005r4.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head> <title></title> <link rel="stylesheet" media="screen" type="text/css" href="./style.css" /> <link rel="stylesheet" media="screen" type="text/css" href="./design.css" /> <link rel="stylesheet" media="print" type="text/css" href="./print.css" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body><a href=start.html>start</a></br><div class="toc"><div class="tocheader toctoggle" id="toc__header">Table of Contents</div><div id="toc__inside"><ul class="toc"><li class="clear"><ul class="toc"><li class="level2"><div class="li"><span class="li"><a href="#release_4_2005r4_toolchain_release" class="toc">2005 Release 4 (2005R4) Toolchain Release</a></span></div><ul class="toc"><li class="level3"><div class="li"><span class="li"><a href="#known_issues" class="toc">Known Issues</a></span></div></li><li class="level3"><div class="li"><span class="li"><a href="#changes" class="toc">Changes</a></span></div></li><li class="level3"><div class="li"><span class="li"><a href="#improvement_since_last_release" class="toc">Improvement since Last Release</a></span></div></li><li class="level3"><div class="li"><span class="li"><a href="#bug_fixes" class="toc">Bug fixes</a></span></div></li><li class="level3"><div class="li"><span class="li"><a href="#packages" class="toc">Packages</a></span></div></li><li class="level3"><div class="li"><span class="li"><a href="#installing" class="toc">Installing</a></span></div></li><li class="level3"><div class="li"><span class="li"><a href="#test_results" class="toc">Test Results</a></span></div></li></ul></li></ul></li></ul></div></div><h2><a name="release_4_2005r4_toolchain_release" id="release_4_2005r4_toolchain_release">2005 Release 4 (2005R4) Toolchain Release</a></h2><div class="level2"><p><strong>November 25th 2005</strong></p><p>This toolchain release contains tools for two targets: <code>bfin-elf</code> and <code>bfin-uclinux</code>. Both are cross toolchains for Blackfin. The <code>bfin-elf</code> target toolchain uses <code>newlib</code> for C library and can be used to develop standalone applications. The <code>bfin-uclinux</code> target toolchain uses <code>uClibc</code> for <code>C</code> library and can be used to develop <code>uClinux</code> applications.</p><p>This release contains many bug fixes. It鈥檚 more stable and usable.</p></div><!-- SECTION [1-518] --><h3><a name="known_issues" id="known_issues">Known Issues</a></h3><div class="level3"><ol><li class="level1"><div class="li"> <code>elf2flt</code> passes <code>-r</code> option to <code>ld</code>. This option may make <code>C++</code> objects with <code>init_priority</code> attribute not initialized properly.</div></li><li class="level1"><div class="li"> Also because <code>elf2flt</code> passes <code>-r</code> option to <code>real.ld</code>. You cannot use <code>–gc-sections </code> for <code>ld</code> since it cannot be used together with <code>-r</code>.</div></li><li class="level1"><div class="li"> We do not support profiling using <code>gprof</code>. The latest <code>uClibc</code> no longer supports <code>gcc -fprofile-arcs -pg</code> style profiling. You may use other alternatives, like <code>OProfile</code>.</div></li><li class="level1"><div class="li"> 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.</div></li><li class="level1"><div class="li"> As expected, <code>-fstack-limit-symbol</code> cannot be used with multithreading applications.</div></li><li class="level1"><div class="li"> When running <code>bfin-elf-gdb</code>, interrupting the simulated program with <code>^C</code> does not work immediately. It will not take the effect until user press another key.</div></li><li class="level1"><div class="li"> Toolchain cannot be built on Mac <acronym title="Operating System">OS</acronym> X 10.4.</div></li></ol></div><!-- SECTION [519-1480] --><h3><a name="changes" id="changes">Changes</a></h3><div class="level3"><ol><li class="level1"><div class="li"> When testing <code>GCC</code> using its testsuite, not add <code>-fPIC</code>/<code>-fpic</code> for these test cases: <code>gcc.dg/20010912-1.c</code>, <code>gcc.dg/20021018-1.c</code>, <code>gcc.dg/20030225-1.c</code>.</div></li></ol></div><!-- SECTION [1481-1668] --><h3><a name="improvement_since_last_release" id="improvement_since_last_release">Improvement since Last Release</a></h3><div class="level3"><ol><li class="level1"><div class="li"> GCC now uses addressing modes of Blackfin better to generate more efficient code.</div></li><li class="level1"><div class="li"> Shared library support has been largely improved and well tested.</div></li><li class="level1"><div class="li"> Now GCC support the instruction which multiplies a signed by an unsigned value, widening from 16 to 32 bits:<pre class="code">R3 = R1.L * R2.L (IS, M);</pre></div></li><li class="level1"><div class="li"> Now <code>GDB</code> using hardware single stepping of Blackfin instead of software single stepping. This makes it possible to single step through two-instruction hardware loop instruction by instruction. This also avoid a GDB bug of debugging multithreading applications.</div></li><li class="level1"><div class="li"> Previously, the <code>GDB</code> used for debugging via <code>JTAG</code> was different with the one in <a href="http://blackfin.uclinux.org/projects/gcc3" class="urlextern" title="http://blackfin.uclinux.org/projects/gcc3" rel="nofollow">Blackfin toolchain project</a>. Now the two <code>GDB</code>s have been merged. The same <code>GDB</code> executable can connect to <code>gdbserver</code> for debugging <code>uClinux</code> applications via serial port or ethernet, or connect to <code>gdbproxy</code> for debugging <code>U-Boot</code> and <code>Kernel</code> via <code>JTAG</code>.</div></li></ol></div><!-- SECTION [1669-2693] --><h3><a name="bug_fixes" id="bug_fixes">Bug fixes</a></h3><div class="level3"><p>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 gcc3 project <a href="http://blackfin.uclinux.org/tracker/?atid=145&group_id=18&func=browse" class="urlextern" title="http://blackfin.uclinux.org/tracker/?atid=145&group_id=18&func=browse" rel="nofollow">tracker</a>.</p></div><h4><a name="gcc" id="gcc">GCC</a></h4><div class="level4"><ul><li class="level1"><div class="li"> Previously <code>interrupt_handler</code> function attribute was broken. It would cause an internal compiler error. Now it has been fixed.</div></li><li class="level1"><div class="li"> Previously there would be no debug information in the generated object file even you had passed <code>-g</code> to <code>GCC</code> when you were using <code>GCC</code> to compile an assembly file. Now <code>GCC</code> will pass <code>–gdwarf2</code> to <code>GAS</code> if it sees <code>-g</code>.</div></li><li class="level1"><div class="li"> Previously using <code>-flimit-stack-symbol</code> for function which calls <code>alloca ()</code> or <code>__builtin_alloca ()</code> would crash <code>GCC</code>. Now it has been fixed.</div></li><li class="level1"><div class="li"> Previously there would be an error on make install when doing a linux-x-cygwin-x-bfin cross compiler. Now it has been fixed.</div></li><li class="level1"><div class="li"> <a href="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=910&group_id=18&atid=145" class="urlextern" title="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=910&group_id=18&atid=145" rel="nofollow">[910] applications with a "''init()''" function can not be compiled</a> </div></li><li class="level1"><div class="li"> <a href="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=939&group_id=18&atid=145" class="urlextern" title="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=939&group_id=18&atid=145" rel="nofollow">[939] Copying a structure trashes variables in subsequent addresses</a></div></li></ul></div><h4><a name="gdb" id="gdb">GDB</a></h4><div class="level4"><ul><li class="level1"><div class="li"> Previously backtrace in the frames of cloned process sometimes will warn “Previous frame inner to this frame (corrupt stack?)” or crash the gdbserver. It has been fixed by terminating the frame chain in the <code>clone ()</code> function in <code>uClibc</code>.</div></li><li class="level1"><div class="li"> <a href="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=811&group_id=18&atid=145" class="urlextern" title="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=811&group_id=18&atid=145" rel="nofollow">[811] Sometimes the application being debugged will stop at removed breakpoint</a> </div></li><li class="level1"><div class="li"> <a href="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=874&group_id=18&atid=145" class="urlextern" title="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=874&group_id=18&atid=145" rel="nofollow">[874] Sometimes not all 5 threads are created in schedlock.exp</a> </div></li></ul></div><h4><a name="gas" id="gas">GAS</a></h4><div class="level4"><ul><li class="level1"><div class="li"> <a href="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=818&group_id=18&atid=145" class="urlextern" title="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=818&group_id=18&atid=145" rel="nofollow">[818] Capitalisation of BEGIN label in ''LSETUP'' causes link failure</a> </div></li><li class="level1"><div class="li"> <a href="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=947&group_id=18&atid=145" class="urlextern" title="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=947&group_id=18&atid=145" rel="nofollow">[947] ''bfin-uclinux-as'' produces wrong blackfin instruction</a> </div></li><li class="level1"><div class="li"> <a href="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=955&group_id=18&atid=145" class="urlextern" title="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=955&group_id=18&atid=145" rel="nofollow">[955] Assembler instruction "LC0 = imm" is mapped to "I0 = imm"</a> (<a href="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=947&group_id=18&atid=145" class="urlextern" title="http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=947&group_id=18&atid=145" rel="nofollow">[947</a>] is a duplicate of [955])</div></li></ul></div><h4><a name="ld" id="ld">LD</a></h4>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -