[parisc-linux] glibc 2.3.1 - It's alive! - patches

Carlos O'Donell carlos@baldric.uwo.ca
Mon, 11 Nov 2002 18:27:11 -0500


> > Again, delayed traps can be "Invalid Operation" exceptions within these
> > floating point tests. We may be seeing some of those issues. I really
> > need to find a way to properly flush delayed exceptions.
> 
> Look at fldw,fstw.  Specifying register 0L forces the coprocessor
> to complete all previous floating-point insns.
> 

We currently use the following as a delayed exception trap barrier:

libc/glibc-2.3.1/sysdeps/hppa/fpu/fraiseexcpt.c

...
__asm__ __volatile__ ("fmpy,dbl %1,%%fr0,%0\n\t"
			/* FIXME: is this a proper trap barrier? */
			"fcpy,dbl %%fr0,%%fr0" : "=f" (d) : "0"(d));
...

And from the comment it seems that DHD wasn't sure either :)
I don't quite understand what is meant by specifying register 0L?

c.