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: [PATCH] Fix underflow reporting and tie up loose ends in sparcsoft-fp.


From: Richard Henderson <rth@twiddle.net>
Date: Tue, 29 May 2012 14:44:49 -0700

> On 05/29/2012 01:28 PM, David Miller wrote:
>> Out of curiosity I tested some more cases than I did previously
>> and this trick doesn't work in all cases.
>>
>> I'll thus have to do things differently.
> 
> One possibility is to keep manipulating the bits in the fpcsr
> as you do now, check for unmasked exceptions (which will almost
> always be masked), and sigqueueinfo to fill in the right stuff
> a-la do_fpe_common.

If we need to go into the kernel, we might as well try to execute the
FPU operation which already has all of the mechanisms in place to
generate the signal properly.  This applies to both the cpu hw
execution case, as well as the soft-fp bits in the kernel for long
double ops.

See, that's what the 64-bit sparc side is doing in glibc, it checks
the trap enable mask.  If the soft-fp exception bits have anything set
in the mask, it executes the FPU op directly to let the kernel do the
FPU trap for it.

Or, perhaps, I don't understand your idea?


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