Просмотр исходного кода

Carmelo AMOROSO <carmelo.amoroso@st.com> writes:
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

Joakim Tjernlund 18 лет назад
Родитель
Сommit
23a4b23a9a
1 измененных файлов с 14 добавлено и 2 удалено
  1. 14 2
      libc/sysdeps/linux/sh/sys/ucontext.h

+ 14 - 2
libc/sysdeps/linux/sh/sys/ucontext.h

@@ -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.  */