cvs commit: src/lib/msun/i387 fenv.c fenv.h
das at FreeBSD.ORG
Thu Mar 17 22:16:53 PST 2005
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.
More information about the cvs-all