summaryrefslogtreecommitdiff
path: root/arch/mips
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-11-25 23:04:23 -0500
committerRich Felker <dalias@aerifal.cx>2012-11-25 23:04:23 -0500
commita8da6c2f287037cbacc65578a268f355760eaf8e (patch)
treee325def382b70f767adfa8ac844ee899936eacf4 /arch/mips
parent4b75f4ed8d08b26d4bf2ac96191b395218ad888e (diff)
downloadmusl-a8da6c2f287037cbacc65578a268f355760eaf8e.tar.gz
fixup mcontext stuff to expost gregset_t/fpregset_t as appropriate
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/bits/signal.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/arch/mips/bits/signal.h b/arch/mips/bits/signal.h
index 9b4861d3..857d3c07 100644
--- a/arch/mips/bits/signal.h
+++ b/arch/mips/bits/signal.h
@@ -2,13 +2,31 @@
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-typedef struct sigcontext
+typedef unsigned long long greg_t, gregset_t[32];
+typedef struct {
+ union {
+ double fp_dregs[32];
+ struct {
+ float _fp_fregs;
+ unsigned _fp_pad;
+ } fp_fregs[32];
+ } fp_r;
+} fpregset_t;
+struct sigcontext
{
unsigned sc_regmask, sc_status;
unsigned long long sc_pc, sc_regs[32], sc_fpregs[32];
unsigned sc_ownedfp, sc_fpc_csr, sc_fpc_eir, sc_used_math, sc_dsp;
unsigned long long sc_mdhi, sc_mdlo;
unsigned long sc_hi1, sc_lo1, sc_hi2, sc_lo2, sc_hi3, sc_lo3;
+};
+typedef struct
+{
+ unsigned regmask, status;
+ unsigned long long pc, regs[32], fpregs[32];
+ unsigned ownedfp, fpc_csr, fpc_eir, used_math, dsp;
+ unsigned long long mdhi, mdlo;
+ unsigned long hi1, lo1, hi2, lo2, hi3, lo3;
} mcontext_t;
#else
typedef struct {