about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/sh/sys/user.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/sh/sys/user.h')
-rw-r--r--sysdeps/unix/sysv/linux/sh/sys/user.h48
1 files changed, 44 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/sh/sys/user.h b/sysdeps/unix/sysv/linux/sh/sys/user.h
index 7f31bb62dd..e238e88138 100644
--- a/sysdeps/unix/sysv/linux/sh/sys/user.h
+++ b/sysdeps/unix/sysv/linux/sh/sys/user.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2003, 2009
+   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
@@ -19,10 +20,49 @@
 #ifndef _SYS_USER_H
 #define _SYS_USER_H	1
 
-#include <features.h>
+#include <asm/ptrace.h>
 
-#include <asm/user.h>
+/* asm/ptrace.h polutes the namespace.  */
+#undef PTRACE_GETREGS
+#undef PTRACE_SETREGS
+#undef PTRACE_GETFPREGS
+#undef PTRACE_SETFPREGS
+#undef PTRACE_GETFDPIC
+#undef PTRACE_GETFDPIC_EXEC
+#undef PTRACE_GETFDPIC_INTERP
+#undef	PTRACE_GETDSPREGS
+#undef	PTRACE_SETDSPREGS
 
-#undef start_thread
+typedef unsigned long elf_greg_t;
+
+#define ELF_NGREG (sizeof (struct pt_regs) / sizeof (elf_greg_t))
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+struct user_fpu_struct
+  {
+    unsigned long fp_regs[16];
+    unsigned long xfp_regs[16];
+    unsigned long fpscr;
+    unsigned long fpul;
+  };
+typedef struct user_fpu_struct elf_fpregset_t;
+
+struct user
+  {
+    struct pt_regs regs;
+    struct user_fpu_struct fpu;
+    int u_fpvalid;
+    size_t u_tsize;
+    size_t u_dsize;
+    size_t u_ssize;
+    unsigned long start_code;
+    unsigned long start_data;
+    unsigned long start_stack;
+    long int signal;
+    unsigned long u_ar0;
+    struct user_fpu_struct *u_fpstate;
+    unsigned long magic;
+    char u_comm[32];
+  };
 
 #endif  /* sys/user.h */