diff options
author | Kristoffer Ericson <kristoffer.ericson@gmail.com> | 2009-12-27 19:19:08 +0100 |
---|---|---|
committer | Kristoffer Ericson <kristoffer.ericson@gmail.com> | 2009-12-27 19:30:23 +0100 |
commit | cc1d08349a47ded18848a6f227b54446c908e080 (patch) | |
tree | cd519c1b2ca4359f880945e1927ec9713ef8194d | |
parent | ac829b49221dc15a7fecad2418fb3fb6ce0409b9 (diff) |
Fix compilation of glibc 2.9 for SH3/SH4
Signed-off-by: Alex Ferguson <thoughtmonster@gmail.com>
Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
-rw-r--r-- | recipes/glibc/glibc-2.9/glibc-2.9-sh-fix.patch | 72 | ||||
-rw-r--r-- | recipes/glibc/glibc_2.9.bb | 6 |
2 files changed, 76 insertions, 2 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 */ 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" |