Add armv6 hardfloat entry from imp
This commit is contained in:
parent
f32a0494e1
commit
2df741c8a8
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48059
1 changed files with 67 additions and 0 deletions
|
@ -3937,4 +3937,71 @@
|
||||||
</task>
|
</task>
|
||||||
</help>
|
</help>
|
||||||
</project>
|
</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 "soft float" ABI (but
|
||||||
|
still using hardware floating point) to a fully "hardware
|
||||||
|
float" 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 — 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>
|
</report>
|
||||||
|
|
Loading…
Reference in a new issue