svn commit: r46155 - head/en_US.ISO8859-1/htdocs/news/status

Brad Davis <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.doc
Message-ID <[email protected]>
Author: brd
Date: Wed Jan  7 18:06:31 2015
New Revision: 46155
URL: https://svnweb.freebsd.org/changeset/doc/46155

Log:
  Add bapt's External Toolchain report

Modified:
  head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml

Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml
==============================================================================
--- head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml	Wed Jan  7 11:09:00 2015	(r46154)
+++ head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml	Wed Jan  7 18:06:31 2015	(r46155)
@@ -379,4 +379,91 @@
     </help>
   </project>
 
+  <project cat='proj'>
+    <title>External toolchain</title>
+
+    <contact>
+      <person>
+	<name>
+	  <given>Baptiste</given>
+	  <common>Daroussin</common>
+	</name>
+	<email>[email protected]</email>
+      </person>
+      <person>
+	<name>
+	  <given>Warner</given>
+	  <common>Losh</common>
+	</name>
+	<email>[email protected]</email>
+      </person>
+      <person>
+	<name>
+	  <given>Brooks</given>
+	  <common>Davis</common>
+	</name>
+	<email>[email protected]</email>
+      </person>
+    </contact>
+
+    <links>
+      <url href="https://wiki.freebsd.org/ExternalToolchain" />
+    </links>
+
+    <body>
+      <p>The main goal of the external toolchain project is to be able
+	to build world and kernel with non default toolchain.  It can be
+	helpful to:
+	<ul>
+	  <li>Prepare a migration to a newer version of the components like compilers, binutils, and elftoolchain.</li>
+	  <li>Port &os; to newer architecture</li>
+	  <li>Upgrade from a &os; that ships with GCC 4.2 to a version that ship with clang 3.5+ (which need a more modern toolchain than GCC 4.2 to bootstrap.</li>
+	</ul>
+      </p>
+
+      <p>The initial support for external toolchain only supported
+	clang.  It has been extended to support recent GCC (4.9.1 has
+	been tested) and recent binutils (2.24 and 2.25).</p>
+
+      <p>A large number of fixes have been committed to HEAD to support
+	incompatible behaviour changes between <tt>ld(1)</tt> from
+	binutils 2.17.50 (the version in base) and binutils 2.24+.</p>
+
+      <p>A large number of warnings have been deactivated when building
+	the kernel to make sure it is possible to build the kernel with
+	recent GCC (first 4.6 and then 4.9.1)</p>
+
+      <p>The build system has been changed to build libc++ as a C++
+	stack when a recent enough GCC (4.6+) is used to build world.
+	</p>
+
+      <p>To simplify using an external toolchain, the following
+	pre-seeded configurations have been added to the ports tree:
+	<ul>
+	  <li>amd64-xtoolchain-gcc</li>
+	  <li>powerpc64-xtoolchain-gcc</li>
+	  <li>sparc64-xtoolchain-gcc</li>
+	</ul>
+      </p>
+
+      <p>Those packages will depend on special version of GCC
+	(minimalistic cross-built ready GCC) and on binutils.  To use
+	them run: <tt>make CROSS_TOOLCHAIN=powerpc64-gcc TARGET=powerpc
+	TARGET_ARCH=powerpc64</tt></p>
+
+      <p>As a result of this effort, it has been possible to
+	successfully build and run a kernel and world built with GCC
+	4.9.1 and binutils 2.24 on sparc64, amd64 (with minor tweaks for
+	amd64), powerpc and powerpc64.</p>
+    </body>
+
+    <help>
+      <task>Patch and upstream GCC 4.9 to support &os; mips, arm and
+	aarch64</task>
+      <task>Adapt and upstream the aarch64 patches for binutils 2.25
+	</task>
+      <task>Add more pre seeded configurations</task>
+    </help>
+  </project>
+
 </report>
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-doc-all
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.