OSDN Git Service

[MIPS64] Add correct mcontext_t for 64-bit MIPS
authorFaraz Shahbazker <faraz.shahbazker@imgtec.com>
Mon, 5 Jan 2015 21:27:30 +0000 (13:27 -0800)
committerFaraz Shahbazker <faraz.shahbazker@imgtec.com>
Tue, 6 Jan 2015 15:58:02 +0000 (07:58 -0800)
Change-Id: I76d503860d0e1d937b6913bf2c1c6ebb531617da

libc/include/sys/ucontext.h

index dd2a0bb..b68d704 100644 (file)
@@ -180,6 +180,25 @@ typedef struct fpregset {
   } fp_r;
 } fpregset_t;
 
+#ifdef __LP64__
+typedef struct {
+  gregset_t gregs;
+  fpregset_t fpregs;
+  greg_t mdhi;
+  greg_t hi1;
+  greg_t hi2;
+  greg_t hi3;
+  greg_t mdlo;
+  greg_t lo1;
+  greg_t lo2;
+  greg_t lo3;
+  greg_t pc;
+  uint32_t fpc_csr;
+  uint32_t used_math;
+  uint32_t dsp;
+  uint32_t reserved;
+} mcontext_t;
+#else
 typedef struct {
   unsigned regmask;
   unsigned status;
@@ -200,6 +219,7 @@ typedef struct {
   unsigned long hi3;
   unsigned long lo3;
 } mcontext_t;
+#endif
 
 typedef struct ucontext {
   unsigned long uc_flags;
@@ -209,10 +229,6 @@ typedef struct ucontext {
   sigset_t uc_sigmask;
 } ucontext_t;
 
-#elif defined(__mips64__)
-
-#error TODO
-
 #elif defined(__x86_64__)
 
 enum {