Hi All,
this patch fixes a mismatch in ucontext struct between uClibc and kernel.
In this way a signal handler installed by sigaction can access
to the whole machine state correctly.
This can be applied both to trunk and nptl branch

Regards,
Carmelo
--- uClibc-trunk/libc/sysdeps/linux/sh/sys/ucontext.h   2007-06-13 
15:38:51.000000000 +0200
+++ uClibc-trunk-st/libc/sysdeps/linux/sh/sys/ucontext.h        2007-06-13 
15:36:29.393143000 +0200
@@ -87,13 +87,25 @@ typedef freg_t fpregset_t[NFPREG];
 /* Context to describe whole processor state.  */
 typedef struct
   {
+    unsigned int oldmask;
+       
+    /* CPU registers */
     gregset_t gregs;
+    unsigned int pc;
+    unsigned int pr;
+    unsigned int sr;
+    unsigned int gbr;
+    unsigned int mach;
+    unsigned int macl;
+
+#ifdef __CONFIG_SH4__
+    /* FPU registers */
     fpregset_t fpregs;
     fpregset_t xfpregs;
     unsigned int fpscr;
     unsigned int fpul;
-    unsigned int macl;
-    unsigned int mach;
+    unsigned int ownedfp;
+#endif 
   } mcontext_t;
 
 /* Userlevel context.  */
_______________________________________________
uClibc mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/uclibc

Reply via email to