[parisc-linux] [PATCH] glibc-2.3.3 error with debian unstable compiler...

Carlos O'Donell carlos at baldric.uwo.ca
Fri Apr 2 11:03:56 MST 2004


On Tue, Mar 02, 2004 at 03:27:44PM +0000, Matthew Wilcox wrote:
> On Tue, Mar 02, 2004 at 03:59:34PM +0100, Joel Soete wrote:
> > +  /* Raise the safed exception.  Incidently for us the implementation
> 
> "saved exception" or "safe exception"?

That's a typo that *every* other arch has because they copied the code
from i386, I think rth was the only one anal enough to fix the spelling
mistake ;)

I snatched the C99 spec and fixed our implementation based on my reading
of the current code, other arch code, and the spec. The correct
feupdateenv is provided below.

I'm sending this upstream to debian, so we can build again.

c.

Index: feupdateenv.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/hppa/fpu/feupdateenv.c,v
retrieving revision 1.3
diff -u -p -r1.3 feupdateenv.c
--- feupdateenv.c	18 Dec 2003 03:57:50 -0000	1.3
+++ feupdateenv.c	2 Apr 2004 06:56:56 -0000
@@ -27,11 +27,10 @@ feupdateenv (const fenv_t *envp)
 
   /* Get the current exception status. */
   __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw));
-  sw[0] &= FE_ALL_EXCEPT;
-  envp->__status_word = envp->__status_word | sw[0];
-  
   /* Install new environment.  */
   fesetenv (envp);
+  /* Raise the saved exceptions */
+  feraiseexcept(sw[0] & FE_ALL_EXCEPT);
 
   /* Success.  */
   return 0;


More information about the parisc-linux mailing list