Removal of NWFPE in its entirety, and VFP emulation code
Russell King - ARM Linux
linux at arm.linux.org.uk
Wed Apr 10 15:02:33 EDT 2013
On Wed, Apr 10, 2013 at 02:58:57PM -0400, Nicolas Pitre wrote:
> On Wed, 10 Apr 2013, Russell King - ARM Linux wrote:
>
> > On Wed, Apr 10, 2013 at 01:30:35PM -0400, Nicolas Pitre wrote:
> > > On Wed, 10 Apr 2013, Russell King - ARM Linux wrote:
> > >
> > > > I have just committed a patch to remove the arch/arm/nwfpe code from
> > > > the kernel, and the VFP code emulating the FP operations.
> > > >
> > > > This I have done after it has been brought to my attention by the OSADL's
> > > > GPL-violations project that the license for the softfloat library is
> > > > incompatible with GPLv2. This is because the FSF have ruled that
> > > > indemnification clauses consitute an "additional restriction" which is
> > > > incompatible with the GPLv2 section 6. NWFPE contains the softfloat
> > > > library, and VFP's emulation code is a derivative of softfloat.
> > > >
> > > > This will be very disruptive for ARMv4 and ARMv5 CPUs, which will no
> > > > longer be able to run userspace with NWFPE support removed. A possible
> > > > solution there is to resurrect FASTFPE support and merge that into
> > > > mainline in place of NWFPE. FASTFPE's hooks are all present in the
> > > > kernel, and it should just be a case of adding the FASTFPE code.
> > > > However, FASTFPE is probably lacking GDB and signal stack support.
> > > > (FastFPE's per-thread workspace is different from NWFPE.)
> > >
> > > A point worth mentioning is the EABI availability since 2006 which moved
> > > away from FPA completely. A soft-float library in user space is used in
> > > that case. Major ARM binary producers including all ARM distros moved
> > > to EABI with user space soft-float since then as it is order of
> > > magnitude faster than FPA emulation. So 99.99% of ARMv4 and ARMv5 users
> > > are unlikely to be affected.
> > >
> > > So another option here might imply deprecating OABI support entirely,
> > > given that it is useless without FPA and people keeping current with the
> > > latest kernel are very likely to already use EABI user space.
> >
> > Unfortunately, I _still_ can't move off OABI.
>
> How can this be helped?
I don't think there is a solution - as StrongARM is ARMv4 without Thumb
support, which means that it's incompatible with EABI which uses bx and
blx instructions.
More information about the linux-arm-kernel
mailing list