Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Jul 2015 18:14:54 +0000 (UTC)
From:      Warren Block <wblock@FreeBSD.org>
To:        doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org
Subject:   svn commit: r47024 - head/en_US.ISO8859-1/htdocs/news/status
Message-ID:  <201507201814.t6KIEsdC088748@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: wblock
Date: Mon Jul 20 18:14:54 2015
New Revision: 47024
URL: https://svnweb.freebsd.org/changeset/doc/47024

Log:
  Add Warner Losh <imp@FreeBSD.org>'s soft float to hard float report.

Modified:
  head/en_US.ISO8859-1/htdocs/news/status/report-2015-04-2015-06.xml

Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2015-04-2015-06.xml
==============================================================================
--- head/en_US.ISO8859-1/htdocs/news/status/report-2015-04-2015-06.xml	Mon Jul 20 01:43:40 2015	(r47023)
+++ head/en_US.ISO8859-1/htdocs/news/status/report-2015-04-2015-06.xml	Mon Jul 20 18:14:54 2015	(r47024)
@@ -2760,4 +2760,88 @@
       </task>
     </help>
   </project>
+
+  <project cat='kern'>
+    <title>Warner's ARMv6 Hard Float Experiment</title>
+
+    <contact>
+      <person>
+	<name>
+	  <given>Warner</given>
+	  <common>Losh</common>
+	</name>
+	<email>imp@FreeBSD.org</email>
+      </person>
+    </contact>
+
+    <links>
+      <url href="https://wiki.freebsd.org/armv6tohardfloat">Moving
+	armv6 from Soft Float to Hard Float</url>
+    </links>
+
+    <body>
+      <p>The plan for the transition to hard float on ARMv6 involved
+	having a new <tt>MACHINE_ARCH</tt>.  That seemed expedient,
+	but inelegant to me.  The kernel can easily run both soft and
+	hard floating point binaries, assuming that the proper
+	libraries are available.</p>
+
+      <p>As an experiment, I have been investigating how hard it would
+	be to just start generating hard float binaries starting with
+	&os; 11.0 and what issues this causes.  I am most interested
+	in the source, the effects on ports, and any binary/package
+	upgrade issues from &os; 10.X to 11.</p>
+
+      <p>If successful, this will allow the project to move more
+	quickly away from a soft-floating point default.  Users
+	upgrading from &os; 10 will automatically be upgraded to hard
+	float.  All supported ARMv6 and ARMv7 processors have hardware
+	floating point, so this will not be a problem for the vast
+	majority of users.  In addition, many of the build scripts
+	know about all values of <tt>MACHINE_ARCH</tt>, and not
+	changing the <tt>MACHINE_ARCH</tt> will allow those scripts to
+	continue to function without additional changes.</p>
+
+      <p>I am about three fourths of the way through investigating
+	this possibility and coding up solutions to the problems
+	encountered so far.</p>
+
+      <p>The risks from this experiment are that it will encounter
+	unforseen dependencies.  This could force us to go with the
+	original plan for migration to hard floating point.</p>
+
+      <p>The hope for this experiment is to pave the way for using the
+	superior hard floating point in &os; 11 with minimal impact to
+	our users and their current build scripts and processes.
+	Backwards compatibility will be ensured with the libsoft tasks
+	if users need to run &os; 10.X ARMv6 softfloat binaries on
+	&os; 11.0 with its new hardfloat libraries.  Packages should
+	automatically update once the new hardfloat packages are put
+	into place.</p>
+    </body>
+
+    <help>
+      <task>
+	<p>Building seat belts into <tt>ld.so</tt> to not cross-thread
+	  libraries of differing floating point implementations.</p>
+      </task>
+
+      <task>
+	<p>Clang should properly mark hard versus soft floating point
+	  <tt>.o</tt>s.  This is a minor issue, since <tt>ld</tt>
+	  handles things correctly.</p>
+      </task>
+
+      <task>
+	<p><tt>libsoft</tt>, the analog of <tt>lib32</tt>, needs to be
+	  completed.</p>
+      </task>
+
+      <task>
+	<p>Patches to flip the switch from soft to hard for builds for
+	  <tt>armv6</tt>.  Some additional code needed to build soft
+	  float may be needed for the prior task.</p>
+      </task>
+    </help>
+  </project>
 </report>



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