Add armv6 hardfloat entry from imp

This commit is contained in:
Benjamin Kaduk 2016-01-18 22:48:15 +00:00
parent f32a0494e1
commit 2df741c8a8
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48059

View file

@ -3937,4 +3937,71 @@
</task>
</help>
</project>
<project cat='arch'>
<title>armv6 Hard Float Default ABI</title>
<contact>
<person>
<name>
<given>Warner</given>
<common>Losh</common>
</name>
<email>imp@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://bsdimp.blogspot.com/2015/12/hard-float-api-coming-soon-by-default.html">Blog Entry</url>
</links>
<body>
<p>Work on moving armv6 from a &quot;soft float&quot; ABI (but
still using hardware floating point) to a fully &quot;hardware
float&quot; API moves forward. The ability to have both soft and
hard ABI libraries on the same system is now functional. All
armv6 and armv7 systems we support have hardware floating point
capabilities. We currently use the floating-point hardware, but
with a slightly un-optimal ABI, for compatibility with older
versions of &os;. The ABI differences are only at the userspace
level &mdash; the kernel does not care what floating-point ABI is
used, and both types of binaries can run at the same time.</p>
<p>The run-time linker now knows if a binary uses the hardware
float ABI or the software float ABI by examining some fields in
the ELF header. The linker uses different paths and config files
for hard vs. soft binaries. The <tt>rc</tt> system has been
enhanced to load the software float paths. <tt>ldconfig</tt> now
understands soft libraries in much the same way that it
understands 32-bit libraries on 64-bit systems. No additional
kernel support was necessary for this, apart from a minor patch to
pass the ELF header information to the binary, which has been in
the tree since last summer.</p>
<p>The experimental armv6hf <tt>MACHINE_ARCH</tt> will be
retired after a transition period. It will cease to mean anything
different from armv6 after the build system changes go in.
Support for building soft-float ABI libraries will remain in the
tree, to support the <tt>WITH_LIBSOFT</tt> build option.</p>
</body>
<help>
<task>
<p>Complete documentation needs to be written.</p>
</task>
<task>
<p>Hooks into the &os; build system to generate soft float and
transition to hard float after a flag day need to be polished
up and committed.</p>
</task>
<task>
<p>A number of different upgrade/coexistence scenarios need
to be tested, and a full package run needs to be done to assess
the latest state of the ports tree. This work should be completed
by the end of January.</p>
</task>
</help>
</project>
</report>