+<!--=========================================================================-->
+<div class="doc_subsection">
+<a name="dragonegg">DragonEgg: llvm-gcc ported to gcc-4.5</a>
+</div>
+
+<div class="doc_text">
+<p>
+<a href="http://dragonegg.llvm.org/">DragonEgg</a> is a port of llvm-gcc to
+gcc-4.5. Unlike llvm-gcc, which makes many intrusive changes to the underlying
+gcc-4.2 code, dragonegg in theory does not require any gcc-4.5 modifications
+whatsoever (currently one small patch is needed). This is thanks to the new
+<a href="http://gcc.gnu.org/wiki/plugins">gcc plugin architecture</a>, which
+makes it possible to modify the behaviour of gcc at runtime by loading a plugin,
+which is nothing more than a dynamic library which conforms to the gcc plugin
+interface. DragonEgg is a gcc plugin that causes the LLVM optimizers to be run
+instead of the gcc optimizers, and the LLVM code generators instead of the gcc
+code generators, just like llvm-gcc. To use it, you add
+"-fplugin=path/dragonegg.so" to the gcc-4.5 command line, and gcc-4.5 magically
+becomes llvm-gcc-4.5!
+</p>
+
+<p>
+DragonEgg is still a work in progress. Currently C works very well, while C++,
+Ada and Fortran work fairly well. All other languages either don't work at all,
+or only work poorly. For the moment only the x86-32 and x86-64 targets are
+supported, and only on linux and darwin (darwin needs an additional gcc patch).
+</p>
+
+<p>
+DragonEgg is a new project which is seeing its first release with llvm-2.7.
+</p>
+
+</div>
+
+
+<!--=========================================================================-->
+<div class="doc_subsection">
+<a name="mc">llvm-mc: Machine Code Toolkit</a>
+</div>
+
+<div class="doc_text">
+<p>
+The LLVM Machine Code (aka MC) sub-project of LLVM was created to solve a number
+of problems in the realm of assembly, disassembly, object file format handling,
+and a number of other related areas that CPU instruction-set level tools work
+in. It is a sub-project of LLVM which provides it with a number of advantages
+over other compilers that do not have tightly integrated assembly-level tools.
+For a gentle introduction, please see the <a
+href="http://blog.llvm.org/2010/04/intro-to-llvm-mc-project.html">Intro to the
+LLVM MC Project Blog Post</a>.
+</p>
+
+<p>2.7 includes major parts of the work required by the new MC Project. A few
+ targets have been refactored to support it, and work is underway to support a
+ native assembler in LLVM. This work is not complete in LLVM 2.7, but it has
+ made substantially more progress on LLVM mainline.</p>
+
+<p>One minor example of what MC can do is to transcode an AT&T syntax
+ X86 .s file into intel syntax. You can do this with something like:</p>
+<pre>
+ llvm-mc foo.s -output-asm-variant=1 -o foo-intel.s
+</pre>
+
+</div>
+
+