cvs commit: src/lib/msun/i387 fenv.c fenv.h

Scott Long scottl at samsco.org
Thu Mar 17 22:20:07 PST 2005


David Schultz wrote:
> On Fri, Mar 18, 2005, Alexey Dokuchaev wrote:
> 
>>On Thu, Mar 17, 2005 at 10:21:46PM +0000, David Schultz wrote:
>>
>>>das         2005-03-17 22:21:46 UTC
>>>
>>>  FreeBSD src repository
>>>
>>>  Modified files:
>>>    lib/msun/i387        fenv.c fenv.h 
>>>  Log:
>>>  Make the fenv.h routines work for programs that use SSE for
>>>  floating-point arithmetic on i386.  Now I'm going to make excuses
>>>  for why this code is kinda scary:
>>>  
>>>  - To avoid breaking the ABI with 5.3-RELEASE, we can't change
>>>    sizeof(fenv_t).  I stuck the saved mxcsr in some discontiguous
>>>    reserved bits in the existing structure.
>>
>>Why do you care about ABI compatibility between 6-CURRENT and 5.3-RELEASE?
>>If you plan to MFC this code at some point, you could use your current
>>approach in RELENG_5.  This would, of course, mean you'd have to maintain
>>two different code sets, but still.
> 
> 
> The reasons are manifold.  For one, I would like the complicated
> version to get exposure in -CURRENT before I MFC it.  Further,
> this only adds a few extra instructions, so it's not a big deal,
> particularly compared to the code to support older processors.
> You're right that I could just bump the libm version number and
> break the ABI, but that inconveniences people, so I would like to
> avoid it when possible.

You had better bump the version number for libm before 6.0 rolls
around!!  I've just found a 3rd party binary-only package that
supports 'FreeBSD 5.x' but is linked against libm.so.2.  Ugh.  We
need to bury that mistake and NOT make it again.

Scott


More information about the cvs-all mailing list