2009-02-26 Andrew Stubbs <ams@codesourcery.com>
authorUlrich Drepper <drepper@redhat.com>
Thu, 26 Feb 2009 20:23:36 +0000 (20:23 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 26 Feb 2009 20:23:36 +0000 (20:23 +0000)
    SUGIOKA Toshinobu  <sugioka@itonet.co.jp>

* sysdeps/unix/sysv/linux/sh/sys/procfs.h: Don't include signal.h,
sys/ucontext.h and asm/elf.h.  Include sys/user.h.
* sysdeps/unix/sysv/linux/sh/sys/user.h: Don't include features.h
and asm/user.h.  Include asm/ptrace.h.
(PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS,
PTRACE_SETFPREGS, PTRACE_GETFDPIC, PTRACE_GETFDPIC_EXEC,
PTRACE_GETFDPIC_INTERP, PTRACE_GETDSPREGS, PTRACE_SETDSPREGS):
Undefine.
(start_thread): Don't undefine.
(elf_greg_t, ELF_NGREG, elf_fpregset_t, user_fpu_struct, user):
Define.

ChangeLog
sysdeps/unix/sysv/linux/sh/sys/procfs.h
sysdeps/unix/sysv/linux/sh/sys/user.h

index b57c3fb..19019da 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2009-02-26  Andrew Stubbs  <ams@codesourcery.com>
+           SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
+
+       * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Don't include signal.h,
+       sys/ucontext.h and asm/elf.h.  Include sys/user.h.
+       * sysdeps/unix/sysv/linux/sh/sys/user.h: Don't include features.h
+       and asm/user.h.  Include asm/ptrace.h.
+       (PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS,
+       PTRACE_SETFPREGS, PTRACE_GETFDPIC, PTRACE_GETFDPIC_EXEC,
+       PTRACE_GETFDPIC_INTERP, PTRACE_GETDSPREGS, PTRACE_SETDSPREGS):
+       Undefine.
+       (start_thread): Don't undefine.
+       (elf_greg_t, ELF_NGREG, elf_fpregset_t, user_fpu_struct, user):
+       Define.
+
 2009-02-26  Ulrich Drepper  <drepper@redhat.com>
 
        * wctype/wctype.h: The *_l functions are in POSIX 2008.
index 8651ccb..6261307 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (C) 1996, 1997, 1999, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1999, 2004, 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
    used on Linux.  */
 
 #include <features.h>
-#include <signal.h>
 #include <sys/time.h>
 #include <sys/types.h>
-#include <sys/ucontext.h>
 #include <sys/user.h>
-#include <asm/elf.h>
 
 __BEGIN_DECLS
 
index 7f31bb6..e238e88 100644 (file)
@@ -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
 #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 */