From 3d07aa1490e52b2e210793eb84bf370f8f39b187 Mon Sep 17 00:00:00 2001 From: Faraz Shahbazker Date: Mon, 5 Jan 2015 13:27:30 -0800 Subject: Add correct mcontext_t for 64-bit MIPS Change-Id: I76d503860d0e1d937b6913bf2c1c6ebb531617da --- .../arch-mips64/usr/include/sys/ucontext.h | 24 ++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/9/platforms/android-21/arch-mips64/usr/include/sys/ucontext.h b/9/platforms/android-21/arch-mips64/usr/include/sys/ucontext.h index dd2a0bb..b68d704 100644 --- a/9/platforms/android-21/arch-mips64/usr/include/sys/ucontext.h +++ b/9/platforms/android-21/arch-mips64/usr/include/sys/ucontext.h @@ -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 { -- cgit v1.1