aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mips/sys/ucontext.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mips/sys/ucontext.h')
-rw-r--r--sysdeps/mips/sys/ucontext.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/sysdeps/mips/sys/ucontext.h b/sysdeps/mips/sys/ucontext.h
index 90c992dae6..90aa09a80f 100644
--- a/sysdeps/mips/sys/ucontext.h
+++ b/sysdeps/mips/sys/ucontext.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2002, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -25,7 +25,11 @@
#include <signal.h>
/* Type for general register. */
-typedef unsigned int greg_t;
+#if _MIPS_SIM == _MIPS_SIM_ABI32
+typedef __uint32_t greg_t;
+#else
+typedef __uint64_t greg_t;
+#endif
/* Number of general registers. */
#define NGREG 36
@@ -115,9 +119,15 @@ typedef struct fpregset
{
union
{
+#if _MIPS_SIM == _MIPS_SIM_ABI32
double fp_dregs[16];
float fp_fregs[32];
unsigned int fp_regs[32];
+#else
+ double fp_dregs[32];
+ /* float fp_fregs[32]; */
+ __uint64_t fp_regs[32];
+#endif
} fp_r;
unsigned int fp_csr;
unsigned int fp_pad;
@@ -133,12 +143,16 @@ typedef struct
/* Userlevel context. */
typedef struct ucontext
{
+#if _MIPS_SIM == _MIPS_SIM_ABI32
unsigned long int uc_flags;
+#else
+ __uint64_t uc_flags;
+#endif
struct ucontext *uc_link;
__sigset_t uc_sigmask;
stack_t uc_stack;
mcontext_t uc_mcontext;
- long int uc_filler[48];
+ int uc_filler[48];
} ucontext_t;
#endif /* sys/ucontext.h */