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>