diff -ru glibc-2.3.5.orig/sysdeps/hppa/fpu/fesetround.c glibc-2.3.5/sysdeps/hppa/fpu/fesetround.c
--- glibc-2.3.5.orig/sysdeps/hppa/fpu/fesetround.c	2002-12-03 02:50:52.000000000 +0000
+++ glibc-2.3.5/sysdeps/hppa/fpu/fesetround.c	2005-09-09 13:36:00.000000000 +0000
@@ -33,7 +33,7 @@
   __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw));
   sw[0] &= ~FE_DOWNWARD;
   sw[0] |= round;
-  __asm__ ("fldd 0(%0),%%fr0" : : "r" (sw));
+  __asm__ ("fldd 0(%0),%%fr0" : : "r" (sw), "r" (*sw));
 
   return 0;
 }
