This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix x86 sqrt rounding (bug 14032)


On Thu, Nov 28, 2013 at 02:08:42PM +1300, Richard Henderson wrote:
> On 11/28/2013 12:23 PM, Rich Felker wrote:
> >> Surely this is much more complex than simply setting the rounding precision to
> >> double before using fsqrt.
> > 
> > Setting the rounding precision is likely to be much slower, and has
> > issues with signals (signal handlers could be invoked with wrong
> > rounding precision, resulting in completely wrong results).
> 
> I thought signal handlers always have this problem; if the user expects
> to be able to use any floating point from a signal handler one must always set
> a complete floating point environment.  E.g. the program could be in the middle
> of an integer conversion and have set round-to-zero.

Indeed, that's an issue I hadn't considered. However, at present due
to bug 16068 an application trying to handle this correctly/portably
can't fix the precision because loading the default environment does
not load the precision.

Rich


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]