Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Jan 2015 18:06:32 +0000 (UTC)
From:      Brad Davis <brd@FreeBSD.org>
To:        doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org
Subject:   svn commit: r46155 - head/en_US.ISO8859-1/htdocs/news/status
Message-ID:  <201501071806.t07I6WNQ022623@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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>bapt@FreeBSD.org</email>
+      </person>
+      <person>
+	<name>
+	  <given>Warner</given>
+	  <common>Losh</common>
+	</name>
+	<email>imp@FreeBSD.org</email>
+      </person>
+      <person>
+	<name>
+	  <given>Brooks</given>
+	  <common>Davis</common>
+	</name>
+	<email>brooks@FreeBSD.org</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>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201501071806.t07I6WNQ022623>