aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/glibc/glibc-2.9/glibc-2.9-sh-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/glibc/glibc-2.9/glibc-2.9-sh-fix.patch')
-rw-r--r--recipes/glibc/glibc-2.9/glibc-2.9-sh-fix.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/recipes/glibc/glibc-2.9/glibc-2.9-sh-fix.patch b/recipes/glibc/glibc-2.9/glibc-2.9-sh-fix.patch
new file mode 100644
index 0000000000..ed6da440b8
--- /dev/null
+++ b/recipes/glibc/glibc-2.9/glibc-2.9-sh-fix.patch
@@ -0,0 +1,72 @@
+diff -ru glibc-2.9.old/sysdeps/unix/sysv/linux/sh/sys/procfs.h glibc-2.9/sysdeps/unix/sysv/linux/sh/sys/procfs.h
+--- glibc-2.9.old/sysdeps/unix/sysv/linux/sh/sys/procfs.h 2004-11-20 19:56:16.000000000 +0200
++++ glibc-2.9/sysdeps/unix/sysv/linux/sh/sys/procfs.h 2009-12-21 14:51:57.338186996 +0200
+@@ -24,12 +24,9 @@
+ 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
+
+diff -ru glibc-2.9.old/sysdeps/unix/sysv/linux/sh/sys/user.h glibc-2.9/sysdeps/unix/sysv/linux/sh/sys/user.h
+--- glibc-2.9.old/sysdeps/unix/sysv/linux/sh/sys/user.h 2003-02-08 04:32:42.000000000 +0200
++++ glibc-2.9/sysdeps/unix/sysv/linux/sh/sys/user.h 2009-12-21 14:53:00.708180633 +0200
+@@ -19,10 +19,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 */