From cc1d08349a47ded18848a6f227b54446c908e080 Mon Sep 17 00:00:00 2001 From: Kristoffer Ericson Date: Sun, 27 Dec 2009 19:19:08 +0100 Subject: Fix compilation of glibc 2.9 for SH3/SH4 Signed-off-by: Alex Ferguson Signed-off-by: Kristoffer Ericson --- recipes/glibc/glibc-2.9/glibc-2.9-sh-fix.patch | 72 ++++++++++++++++++++++++++ recipes/glibc/glibc_2.9.bb | 6 ++- 2 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 recipes/glibc/glibc-2.9/glibc-2.9-sh-fix.patch (limited to 'recipes/glibc') 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 +-#include + #include + #include +-#include + #include +-#include + + __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 ++#include + +-#include ++/* 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 */ diff --git a/recipes/glibc/glibc_2.9.bb b/recipes/glibc/glibc_2.9.bb index e675d8923f..5751a710e4 100644 --- a/recipes/glibc/glibc_2.9.bb +++ b/recipes/glibc/glibc_2.9.bb @@ -69,8 +69,10 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-${PV}.tar.bz2 \ " # Build fails on sh3 and sh4 without additional patches -SRC_URI_append_sh3 = " file://no-z-defs.patch;patch=1" -SRC_URI_append_sh4 = " file://no-z-defs.patch;patch=1" +SRC_URI_append_sh3 = " file://no-z-defs.patch;patch=1 \ + file://glibc-2.9-sh-fix.patch;patch=1" +SRC_URI_append_sh4 = " file://no-z-defs.patch;patch=1 \ + file://glibc-2.9-sh-fix.patch;patch=1" #powerpc patches to add support for soft-float SRC_URI_append_powerpc= " file://powerpc-sqrt-hack.diff;patch=1" -- cgit 1.2.3-korg