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