<td>Cygwin/Win32</td>
<td>x86<sup><a href="#pf_1">1</a>,<a href="#pf_8">8</a>,
<a href="#pf_11">11</a></sup></td>
- <td>GCC 3.4.X, binutils 2.15</td>
+ <td>GCC 3.4.X, binutils 2.20</td>
</tr>
<tr>
<td>MinGW/Win32</td>
<td>x86<sup><a href="#pf_1">1</a>,<a href="#pf_6">6</a>,
<a href="#pf_8">8</a>, <a href="#pf_10">10</a></sup></td>
- <td>GCC 3.4.X, binutils 2.15</td>
+ <td>GCC 3.4.X, binutils 2.20</td>
</tr>
</table>
<li><a name="pf_5">The GCC-based C/C++ frontend does not build</a></li>
<li><a name="pf_6">The port is done using the MSYS shell.</a></li>
<li><a name="pf_7">Native code generation exists but is not complete.</a></li>
-<li><a name="pf_8">Binutils</a> up to post-2.17 has bug in bfd/cofflink.c
- preventing LLVM from building correctly. Several workarounds have been
- introduced into LLVM build system, but the bug can occur anytime in the
- future. We highly recommend that you rebuild your current binutils with the
- patch from <a href="http://sourceware.org/bugzilla/show_bug.cgi?id=2659">
- Binutils bugzilla</a>, if it wasn't already applied.</li>
+<li><a name="pf_8">Binutils 2.20 or later is required to build the assembler
+ generated by LLVM properly.</a></li>
<li><a name="pf_9">XCode 2.5 and gcc 4.0.1</a> (Apple Build 5370) will trip
internal LLVM assert messages when compiled for Release at optimization
levels greater than 0 (i.e., <i>"-O1"</i> and higher).
<li><a name="sf3">Only needed if you want to run the automated test
suite in the <tt>llvm/test</tt> directory.</a></li>
<li><a name="sf4">If you want to make changes to the configure scripts,
- you will need GNU autoconf (2.59), and consequently, GNU M4 (version 1.4
- or higher). You will also need automake (1.9.2). We only use aclocal
+ you will need GNU autoconf (2.60), and consequently, GNU M4 (version 1.4
+ or higher). You will also need automake (1.9.6). We only use aclocal
from that package.</a></li>
</ol>
</div>
named after the build type:</p>
<dl>
- <dt>Debug Builds
+ <dt>Debug Builds with assertions enabled (the default)
<dd>
<dl>
<dt>Tools
- <dd><tt><i>OBJ_ROOT</i>/Debug/bin</tt>
+ <dd><tt><i>OBJ_ROOT</i>/Debug+Asserts/bin</tt>
<dt>Libraries
- <dd><tt><i>OBJ_ROOT</i>/Debug/lib</tt>
+ <dd><tt><i>OBJ_ROOT</i>/Debug+Asserts/lib</tt>
</dl>
<br><br>
</div>
<p>
-This allows you to execute LLVM bitcode files directly. Thanks to Jack
-Cummings for pointing this out!
+This allows you to execute LLVM bitcode files directly. On Debian, you
+can also use this command instead of the 'echo' command above:</p>
</p>
+<div class="doc_code">
+<pre>
+$ sudo update-binfmts --install llvm /path/to/lli --magic 'BC'
+</pre>
+</div>
+
</div>
<!-- *********************************************************************** -->
<p>The <b>tools</b> directory contains the executables built out of the
libraries above, which form the main part of the user interface. You can
-always get help for a tool by typing <tt>tool_name --help</tt>. The
+always get help for a tool by typing <tt>tool_name -help</tt>. The
following is a brief introduction to the most important tools. More detailed
information is in the <a href="CommandGuide/index.html">Command Guide</a>.</p>
<dt><tt><b>opt</b></tt></dt>
<dd><tt>opt</tt> reads LLVM bitcode, applies a series of LLVM to LLVM
transformations (which are specified on the command line), and then outputs
- the resultant bitcode. The '<tt>opt --help</tt>' command is a good way to
+ the resultant bitcode. The '<tt>opt -help</tt>' command is a good way to
get a list of the program transformations available in LLVM.<br>
<dd><tt>opt</tt> can also be used to run a specific analysis on an input
LLVM bitcode file and print out the results. It is primarily useful for