Seems like we could simply have both in the tree, default to fputils,
but give softfloat as a compile option.

Also, has anyone tried to contact the author to ask for a BSD or MIT license?

  Nate

On Sat, Sep 21, 2013 at 8:21 AM, Ali Saidi <[email protected]> wrote:
>
> On Sep 20, 2013, at 3:25 AM, Andreas Sandberg <[email protected]> wrote:
>
>> On 09/20/2013 12:29 AM, Steve Reinhardt wrote:
>>> On Thu, Sep 19, 2013 at 2:21 PM, Nathan Binkert <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>>
>>>
>>>    > On Sept. 19, 2013, 9:17 p.m., Ali Saidi wrote:
>>>    > > please don't commit. The language in the license seems
>>>    troubling to me at least.
>>>
>>>    Really?  What part?  I looked at it, and it doesn't seem
>>>    particularly problematic.
>>>
>>>
>>> The blanket indemnification seems like a concept that lawyers might balk 
>>> at.  I don't recall seeing a phrase like this before; it seems like a step 
>>> beyond the "no warranty" BSD clause.  Is this a standard open-source 
>>> license?
>>
>> It's not. I've done some more digging and it seems like Cisco are using 
>> SoftFloat with the troublesome license. Linux on the other hand uses an 
>> older version of SoftFloat, which doesn't contain the most troublesome parts 
>> of the licence. However, there was some debate over the issue [1] some time 
>> ago. In the end, they decided to keep softfloat since they are using an 
>> older version [2]. See [3] for the source.
>>
>> I think we need to include something like softfloat to properly support 
>> floating point properly, especially on x86, in the long term. In the short 
>> term, there are several fixes for x86 that require support for converting 
>> to/from 80-bit floats.
>>
>> As I see it, there are three solutions if the licence turns out to be a 
>> blocker: 1) We use the softfloat version in the kernel. This probably 
>> requires a bit of hacking to get it to work in our environment. It's should 
>> bre doable, but we need to be careful to avoid GPL problems. 2) We use 
>> inline assembly which is supported by both clang and gcc. This makes it 
>> impossible to compile gem5's x86 frontend for anything other than x86. 3) We 
>> include libfputils which I wrote some time ago. It currently supports 
>> conversion to and from 80-bit floats and can identify float classes 
>> (different types of NaNs, infinities, etc.). Its main limitation when 
>> converting from 80-bit floats to doubles is that it truncates the mantissa 
>> (rounds towards zero) instead of doing proper rounding. This code is BSD, so 
>> there are no licensing issues here.
>>
>> I'd like to see this resolved quickly, I only have a limited time window to 
>> merge the gem5 patches from my previous project and that window is quickly 
>> coming to an end. My guess is that using libfputils is the quickest route to 
>> solving the problem, but using softfloat from the kernel is a better long 
>> term solution.
>>
>> //Andreas
>>
>> [1] 
>> http://lists.infradead.org/pipermail/linux-arm-kernel/2013-April/162121.html
>> [2] 
>> http://lists.infradead.org/pipermail/linux-arm-kernel/2013-April/163904.html
>> [3] 
>> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/nwfpe/softfloat.h
>> [4] https://github.com/andysan/libfputils
>>
> Seems like fputils is the fastest way forward.
> Ali
>
>
> _______________________________________________
> gem5-dev mailing list
> [email protected]
> http://m5sim.org/mailman/listinfo/gem5-dev
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to