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>
|
||||
</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 "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>
|
||||
|
|
Loading…
Reference in a new issue