[oe-commits] Kristoffer Ericson : Fix compilation of glibc 2.9 for SH3/SH4

git version control git at git.openembedded.org
Sun Dec 27 18:30:07 UTC 2009


Module: openembedded.git
Branch: org.openembedded.dev
Commit: cc1d08349a47ded18848a6f227b54446c908e080
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=cc1d08349a47ded18848a6f227b54446c908e080

Author: Kristoffer Ericson <kristoffer.ericson at gmail.com>
Date:   Sun Dec 27 19:19:08 2009 +0100

Fix compilation of glibc 2.9 for SH3/SH4

Signed-off-by: Alex Ferguson <thoughtmonster at gmail.com>
Signed-off-by: Kristoffer Ericson <kristoffer.ericson at gmail.com>

---

 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(-)

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 0000000..ed6da44
--- /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 e675d89..5751a71 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"





More information about the Openembedded-commits mailing list