Removal of NWFPE in its entirety, and VFP emulation code

Steve McIntyre steve.mcintyre at linaro.org
Wed Apr 10 14:24:15 EDT 2013


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.

Plus, OABI is just about dead in major places like glibc too.

Cheers,
-- 
Steve McIntyre                                steve.mcintyre at linaro.org
<http://www.linaro.org/> Linaro.org | Open source software for ARM SoCs




More information about the linux-arm-kernel mailing list