aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/eglibc
diff options
context:
space:
mode:
authorNobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>2010-09-15 19:44:53 +0000
committerKhem Raj <raj.khem@gmail.com>2010-09-16 07:30:33 -0700
commit374bb910fb55fcdb5a2a180f1ba20b8cd780e297 (patch)
tree4d517f678868bd7ce8103d57bb1f3f9318c7772a /recipes/eglibc
parent054bc115a97f9ce163ff840fec6c3933ebb8b5e1 (diff)
downloadopenembedded-374bb910fb55fcdb5a2a180f1ba20b8cd780e297.tar.gz
eglibc: Update recipe for all version
* Included sh4_set_fpscr.patch and sh4_set_fpscr_2.12.patch. These patch provides patch of __set_fpscr prototype. * Included sh4_local-fpscr_values.patch. This provides a patch maintaining __fpscr_values in libc. This is taken in in Debian and codesourcery already. This patch is necessary to have compatibility in these and openemdedded. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes/eglibc')
-rw-r--r--recipes/eglibc/eglibc_2.10.bb4
-rw-r--r--recipes/eglibc/eglibc_2.11.bb4
-rw-r--r--recipes/eglibc/eglibc_2.12.bb4
-rw-r--r--recipes/eglibc/eglibc_2.9.bb8
-rw-r--r--recipes/eglibc/eglibc_svn.bb6
-rw-r--r--recipes/eglibc/files/sh4_local-fpscr_values.patch32
-rw-r--r--recipes/eglibc/files/sh4_set_fpscr.patch23
-rw-r--r--recipes/eglibc/files/sh4_set_fpscr_2.12.patch29
8 files changed, 102 insertions, 8 deletions
diff --git a/recipes/eglibc/eglibc_2.10.bb b/recipes/eglibc/eglibc_2.10.bb
index c10db7d86f..eba3e363ea 100644
--- a/recipes/eglibc/eglibc_2.10.bb
+++ b/recipes/eglibc/eglibc_2.10.bb
@@ -3,7 +3,7 @@ require eglibc.inc
DEPENDS += "gperf-native"
FILESPATHPKG =. "eglibc-svn:"
PV = "2.10"
-PR = "${INC_PR}.9"
+PR = "${INC_PR}.10"
PR_append = "+svnr${SRCPV}"
SRCREV="10152"
EGLIBC_BRANCH="eglibc-2_10"
@@ -12,6 +12,8 @@ SRC_URI = "svn://svn.eglibc.org/branches;module=${EGLIBC_BRANCH};proto=svn \
file://armv4t-interworking.patch \
file://IO-acquire-lock-fix.patch \
file://shorten-build-commands.patch \
+ file://sh4_set_fpscr.patch \
+ file://sh4_local-fpscr_values.patch \
file://etc/ld.so.conf \
file://generate-supported.mk"
S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
diff --git a/recipes/eglibc/eglibc_2.11.bb b/recipes/eglibc/eglibc_2.11.bb
index bece90f756..b56a8ce0f3 100644
--- a/recipes/eglibc/eglibc_2.11.bb
+++ b/recipes/eglibc/eglibc_2.11.bb
@@ -4,7 +4,7 @@ DEFAULT_PREFERENCE = "-1"
DEPENDS += "gperf-native"
FILESPATHPKG =. "eglibc-svn:"
PV = "2.11"
-PR = "${INC_PR}.6"
+PR = "${INC_PR}.7"
PR_append = "+svnr${SRCPV}"
SRCREV="10690"
EGLIBC_BRANCH="eglibc-2_11"
@@ -12,6 +12,8 @@ SRC_URI = "svn://svn.eglibc.org/branches;module=${EGLIBC_BRANCH};proto=svn \
file://eglibc-svn-arm-lowlevellock-include-tls.patch \
file://IO-acquire-lock-fix.patch \
file://shorten-build-commands.patch \
+ file://sh4_set_fpscr.patch \
+ file://sh4_local-fpscr_values.patch \
file://etc/ld.so.conf \
file://generate-supported.mk"
S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
diff --git a/recipes/eglibc/eglibc_2.12.bb b/recipes/eglibc/eglibc_2.12.bb
index 0d08c561ea..fce0bdd806 100644
--- a/recipes/eglibc/eglibc_2.12.bb
+++ b/recipes/eglibc/eglibc_2.12.bb
@@ -4,7 +4,7 @@ DEFAULT_PREFERENCE = "-1"
DEPENDS += "gperf-native"
FILESPATHPKG =. "eglibc-svn:"
PV = "2.12"
-PR = "${INC_PR}.3"
+PR = "${INC_PR}.4"
PR_append = "+svnr${SRCPV}"
SRCREV="11306"
EGLIBC_BRANCH="eglibc-2_12"
@@ -12,6 +12,8 @@ SRC_URI = "svn://svn.eglibc.org/branches;module=${EGLIBC_BRANCH};proto=svn \
file://eglibc-svn-arm-lowlevellock-include-tls.patch \
file://IO-acquire-lock-fix.patch \
file://shorten-build-commands.patch \
+ file://sh4_set_fpscr_2.12.patch \
+ file://sh4_local-fpscr_values.patch \
file://etc/ld.so.conf \
file://generate-supported.mk"
S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
diff --git a/recipes/eglibc/eglibc_2.9.bb b/recipes/eglibc/eglibc_2.9.bb
index f83861e55c..fff4fc9eab 100644
--- a/recipes/eglibc/eglibc_2.9.bb
+++ b/recipes/eglibc/eglibc_2.9.bb
@@ -3,15 +3,17 @@ require eglibc.inc
DEPENDS += "gperf-native"
FILESPATHPKG =. "eglibc-svn:"
PV = "2.9"
-PR = "${INC_PR}.9"
+PR = "${INC_PR}.10"
PR_append = "+svnr${SRCPV}"
SRCREV="10153"
EGLIBC_BRANCH="eglibc-2_9"
SRC_URI = "svn://svn.eglibc.org/branches;module=${EGLIBC_BRANCH};proto=svn \
file://eglibc-svn-arm-lowlevellock-include-tls.patch \
- file://armv4t-interworking.patch \
- file://IO-acquire-lock-fix.patch \
+ file://armv4t-interworking.patch \
+ file://IO-acquire-lock-fix.patch \
file://shorten-build-commands.patch \
+ file://sh4_set_fpscr.patch \
+ file://sh4_local-fpscr_values.patch \
file://etc/ld.so.conf \
file://generate-supported.mk"
S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
diff --git a/recipes/eglibc/eglibc_svn.bb b/recipes/eglibc/eglibc_svn.bb
index 3b7fb849e3..32679a0cfa 100644
--- a/recipes/eglibc/eglibc_svn.bb
+++ b/recipes/eglibc/eglibc_svn.bb
@@ -5,11 +5,13 @@ SRCREV = "11461"
DEFAULT_PREFERENCE = "-1"
FILESPATHPKG =. "eglibc-svn:"
PV = "2.12+svnr${SRCPV}"
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
EGLIBC_BRANCH="trunk"
SRC_URI = "svn://svn.eglibc.org;module=${EGLIBC_BRANCH} \
file://eglibc-svn-arm-lowlevellock-include-tls.patch \
- file://IO-acquire-lock-fix.patch \
+ file://IO-acquire-lock-fix.patch \
+ file://sh4_set_fpscr_2.12.patch \
+ file://sh4_local-fpscr_values.patch \
file://etc/ld.so.conf \
file://generate-supported.mk"
S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
diff --git a/recipes/eglibc/files/sh4_local-fpscr_values.patch b/recipes/eglibc/files/sh4_local-fpscr_values.patch
new file mode 100644
index 0000000000..1685f6f600
--- /dev/null
+++ b/recipes/eglibc/files/sh4_local-fpscr_values.patch
@@ -0,0 +1,32 @@
+---
+ sysdeps/unix/sysv/linux/sh/Versions | 1 +
+ sysdeps/unix/sysv/linux/sh/sysdep.S | 11 +++++++++++
+ 2 files changed, 12 insertions(+)
+
+--- a/sysdeps/unix/sysv/linux/sh/Versions
++++ b/sysdeps/unix/sysv/linux/sh/Versions
+@@ -2,6 +2,7 @@
+ GLIBC_2.2 {
+ # functions used in other libraries
+ __xstat64; __fxstat64; __lxstat64;
++ __fpscr_values;
+
+ # a*
+ alphasort64;
+--- a/sysdeps/unix/sysv/linux/sh/sysdep.S
++++ b/sysdeps/unix/sysv/linux/sh/sysdep.S
+@@ -32,3 +32,14 @@
+
+ #define __syscall_error __syscall_error_1
+ #include <sysdeps/unix/sh/sysdep.S>
++
++ .data
++ .align 3
++ .globl ___fpscr_values
++ .type ___fpscr_values, @object
++ .size ___fpscr_values, 8
++___fpscr_values:
++ .long 0
++ .long 0x80000
++weak_alias (___fpscr_values, __fpscr_values)
++
diff --git a/recipes/eglibc/files/sh4_set_fpscr.patch b/recipes/eglibc/files/sh4_set_fpscr.patch
new file mode 100644
index 0000000000..f3fd5c105f
--- /dev/null
+++ b/recipes/eglibc/files/sh4_set_fpscr.patch
@@ -0,0 +1,23 @@
+# http://sourceware.org/ml/libc-alpha/2009-12/msg00009.html
+# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565369
+---
+ sysdeps/sh/sh4/fpu/fpu_control.h | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/sysdeps/sh/sh4/fpu/fpu_control.h
++++ b/sysdeps/sh/sh4/fpu/fpu_control.h
+@@ -45,6 +45,14 @@
+ #define _FPU_GETCW(cw) __asm__ ("sts fpscr,%0" : "=r" (cw))
+
+ #if defined __GNUC__
++/* Allow the use in C++ code. */
++#ifdef __cplusplus
++extern "C" {
++#endif
++extern void __set_fpscr (unsigned long);
++#ifdef __cplusplus
++}
++#endif /* C++ */
+ #define _FPU_SETCW(cw) __set_fpscr ((cw))
+ #else
+ #define _FPU_SETCW(cw) __asm__ ("lds %0,fpscr" : : "r" (cw))
diff --git a/recipes/eglibc/files/sh4_set_fpscr_2.12.patch b/recipes/eglibc/files/sh4_set_fpscr_2.12.patch
new file mode 100644
index 0000000000..19cccc0dc1
--- /dev/null
+++ b/recipes/eglibc/files/sh4_set_fpscr_2.12.patch
@@ -0,0 +1,29 @@
+diff --git a/sysdeps/sh/sh4/fpu/fpu_control.h b/sysdeps/sh/sh4/fpu/fpu_control.h
+index d1be46d..3ea37d3 100644
+--- a/sysdeps/sh/sh4/fpu/fpu_control.h
++++ b/sysdeps/sh/sh4/fpu/fpu_control.h
+@@ -1,5 +1,5 @@
+ /* FPU control word definitions. SH version.
+- Copyright (C) 1999, 2000, 2009 Free Software Foundation, Inc.
++ Copyright (C) 1999, 2000, 2009, 2010 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
+@@ -46,7 +46,14 @@ typedef unsigned int fpu_control_t;
+
+ #if defined __GNUC__
+ /* GCC provides this function. */
++/* Allow the use in C++ code. */
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void __set_fpscr (unsigned long);
++#ifdef __cplusplus
++}
++#endif /* C++ */
+ #define _FPU_SETCW(cw) __set_fpscr ((cw))
+ #else
+ #define _FPU_SETCW(cw) __asm__ ("lds %0,fpscr" : : "r" (cw))
+--
+1.7.1
+