summaryrefslogtreecommitdiff
path: root/meta/recipes-core/eglibc
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2012-01-06 20:40:23 -0800
committerSaul Wold <sgw@linux.intel.com>2012-01-09 21:51:50 -0800
commit289d09176f8b6f66f6a7807b57f10e86939942f5 (patch)
treeadff6c96ab37208b1bc38ae3b28ac2ba40b0ef39 /meta/recipes-core/eglibc
parent553deffc8040afabd56b1c1d87a8a8d24bbae5d0 (diff)
downloadopenembedded-core-289d09176f8b6f66f6a7807b57f10e86939942f5.tar.gz
openembedded-core-289d09176f8b6f66f6a7807b57f10e86939942f5.tar.bz2
openembedded-core-289d09176f8b6f66f6a7807b57f10e86939942f5.tar.xz
openembedded-core-289d09176f8b6f66f6a7807b57f10e86939942f5.zip
eglibc: Upgrade recipes 2.14 -> 2.15
Add patch to provide __finite_sqrt functions for ppc Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta/recipes-core/eglibc')
-rw-r--r--meta/recipes-core/eglibc/cross-localedef-native_2.15.bb (renamed from meta/recipes-core/eglibc/cross-localedef-native_2.14.bb)0
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.15/IO-acquire-lock-fix.patch (renamed from meta/recipes-core/eglibc/eglibc-2.14/IO-acquire-lock-fix.patch)0
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.15/armv4-eabi-compile-fix.patch (renamed from meta/recipes-core/eglibc/eglibc-2.14/armv4-eabi-compile-fix.patch)0
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.15/eglibc-rpc-export-again.patch (renamed from meta/recipes-core/eglibc/eglibc-2.14/eglibc-rpc-export-again.patch)0
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.15/eglibc-svn-arm-lowlevellock-include-tls.patch (renamed from meta/recipes-core/eglibc/eglibc-2.14/eglibc-svn-arm-lowlevellock-include-tls.patch)0
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.15/etc/ld.so.conf (renamed from meta/recipes-core/eglibc/eglibc-2.14/etc/ld.so.conf)0
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.15/generate-supported.mk (renamed from meta/recipes-core/eglibc/eglibc-2.14/generate-supported.mk)0
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.15/glibc-2.14-libdl-crash.patch (renamed from meta/recipes-core/eglibc/eglibc-2.14/glibc-2.14-libdl-crash.patch)0
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.15/ld-search-order.patch (renamed from meta/recipes-core/eglibc/eglibc-2.14/ld-search-order.patch)0
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.15/mips-rld-map-check.patch (renamed from meta/recipes-core/eglibc/eglibc-2.14/mips-rld-map-check.patch)0
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.15/multilib_readlib.patch (renamed from meta/recipes-core/eglibc/eglibc-2.14/multilib_readlib.patch)0
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.15/ppc-sqrt.patch (renamed from meta/recipes-core/eglibc/eglibc-2.14/ppc-sqrt.patch)0
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.15/ppc-sqrt_finite.patch112
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.15/stack-protector-test.patch (renamed from meta/recipes-core/eglibc/eglibc-2.14/stack-protector-test.patch)0
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.15/use-sysroot-cxx-headers.patch (renamed from meta/recipes-core/eglibc/eglibc-2.14/use-sysroot-cxx-headers.patch)30
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.15/x86_fenv.patch29
-rw-r--r--meta/recipes-core/eglibc/eglibc-initial_2.15.bb (renamed from meta/recipes-core/eglibc/eglibc-initial_2.14.bb)0
-rw-r--r--meta/recipes-core/eglibc/eglibc-locale_2.15.bb (renamed from meta/recipes-core/eglibc/eglibc-locale_2.14.bb)0
-rw-r--r--meta/recipes-core/eglibc/eglibc_2.15.bb (renamed from meta/recipes-core/eglibc/eglibc_2.14.bb)16
19 files changed, 172 insertions, 15 deletions
diff --git a/meta/recipes-core/eglibc/cross-localedef-native_2.14.bb b/meta/recipes-core/eglibc/cross-localedef-native_2.15.bb
index 6f311fc33..6f311fc33 100644
--- a/meta/recipes-core/eglibc/cross-localedef-native_2.14.bb
+++ b/meta/recipes-core/eglibc/cross-localedef-native_2.15.bb
diff --git a/meta/recipes-core/eglibc/eglibc-2.14/IO-acquire-lock-fix.patch b/meta/recipes-core/eglibc/eglibc-2.15/IO-acquire-lock-fix.patch
index cf5803585..cf5803585 100644
--- a/meta/recipes-core/eglibc/eglibc-2.14/IO-acquire-lock-fix.patch
+++ b/meta/recipes-core/eglibc/eglibc-2.15/IO-acquire-lock-fix.patch
diff --git a/meta/recipes-core/eglibc/eglibc-2.14/armv4-eabi-compile-fix.patch b/meta/recipes-core/eglibc/eglibc-2.15/armv4-eabi-compile-fix.patch
index c2407eea0..c2407eea0 100644
--- a/meta/recipes-core/eglibc/eglibc-2.14/armv4-eabi-compile-fix.patch
+++ b/meta/recipes-core/eglibc/eglibc-2.15/armv4-eabi-compile-fix.patch
diff --git a/meta/recipes-core/eglibc/eglibc-2.14/eglibc-rpc-export-again.patch b/meta/recipes-core/eglibc/eglibc-2.15/eglibc-rpc-export-again.patch
index 15bd2f851..15bd2f851 100644
--- a/meta/recipes-core/eglibc/eglibc-2.14/eglibc-rpc-export-again.patch
+++ b/meta/recipes-core/eglibc/eglibc-2.15/eglibc-rpc-export-again.patch
diff --git a/meta/recipes-core/eglibc/eglibc-2.14/eglibc-svn-arm-lowlevellock-include-tls.patch b/meta/recipes-core/eglibc/eglibc-2.15/eglibc-svn-arm-lowlevellock-include-tls.patch
index 4313aa519..4313aa519 100644
--- a/meta/recipes-core/eglibc/eglibc-2.14/eglibc-svn-arm-lowlevellock-include-tls.patch
+++ b/meta/recipes-core/eglibc/eglibc-2.15/eglibc-svn-arm-lowlevellock-include-tls.patch
diff --git a/meta/recipes-core/eglibc/eglibc-2.14/etc/ld.so.conf b/meta/recipes-core/eglibc/eglibc-2.15/etc/ld.so.conf
index e69de29bb..e69de29bb 100644
--- a/meta/recipes-core/eglibc/eglibc-2.14/etc/ld.so.conf
+++ b/meta/recipes-core/eglibc/eglibc-2.15/etc/ld.so.conf
diff --git a/meta/recipes-core/eglibc/eglibc-2.14/generate-supported.mk b/meta/recipes-core/eglibc/eglibc-2.15/generate-supported.mk
index d2a28c2dc..d2a28c2dc 100644
--- a/meta/recipes-core/eglibc/eglibc-2.14/generate-supported.mk
+++ b/meta/recipes-core/eglibc/eglibc-2.15/generate-supported.mk
diff --git a/meta/recipes-core/eglibc/eglibc-2.14/glibc-2.14-libdl-crash.patch b/meta/recipes-core/eglibc/eglibc-2.15/glibc-2.14-libdl-crash.patch
index 1c30c9d83..1c30c9d83 100644
--- a/meta/recipes-core/eglibc/eglibc-2.14/glibc-2.14-libdl-crash.patch
+++ b/meta/recipes-core/eglibc/eglibc-2.15/glibc-2.14-libdl-crash.patch
diff --git a/meta/recipes-core/eglibc/eglibc-2.14/ld-search-order.patch b/meta/recipes-core/eglibc/eglibc-2.15/ld-search-order.patch
index 40ae6d37f..40ae6d37f 100644
--- a/meta/recipes-core/eglibc/eglibc-2.14/ld-search-order.patch
+++ b/meta/recipes-core/eglibc/eglibc-2.15/ld-search-order.patch
diff --git a/meta/recipes-core/eglibc/eglibc-2.14/mips-rld-map-check.patch b/meta/recipes-core/eglibc/eglibc-2.15/mips-rld-map-check.patch
index 9b646fea9..9b646fea9 100644
--- a/meta/recipes-core/eglibc/eglibc-2.14/mips-rld-map-check.patch
+++ b/meta/recipes-core/eglibc/eglibc-2.15/mips-rld-map-check.patch
diff --git a/meta/recipes-core/eglibc/eglibc-2.14/multilib_readlib.patch b/meta/recipes-core/eglibc/eglibc-2.15/multilib_readlib.patch
index 1542b1b51..1542b1b51 100644
--- a/meta/recipes-core/eglibc/eglibc-2.14/multilib_readlib.patch
+++ b/meta/recipes-core/eglibc/eglibc-2.15/multilib_readlib.patch
diff --git a/meta/recipes-core/eglibc/eglibc-2.14/ppc-sqrt.patch b/meta/recipes-core/eglibc/eglibc-2.15/ppc-sqrt.patch
index 203040c15..203040c15 100644
--- a/meta/recipes-core/eglibc/eglibc-2.14/ppc-sqrt.patch
+++ b/meta/recipes-core/eglibc/eglibc-2.15/ppc-sqrt.patch
diff --git a/meta/recipes-core/eglibc/eglibc-2.15/ppc-sqrt_finite.patch b/meta/recipes-core/eglibc/eglibc-2.15/ppc-sqrt_finite.patch
new file mode 100644
index 000000000..52890510c
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.15/ppc-sqrt_finite.patch
@@ -0,0 +1,112 @@
+on ppc fixes the errors like below
+| ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite'
+| collect2: ld returned 1 exit status
+
+Upstream-Status: Pending
+
+ChangeLog
+
+2012-01-06 Khem Raj <raj.khem@gmail.com>
+
+ * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c: Add __*_finite alias.
+ Remove cruft.
+ * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c: Ditto.
+ * sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c: Ditto.
+ * sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c: Ditto.
+
+Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
+===================================================================
+--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c 2012-01-06 18:07:42.296909187 -0800
++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c 2012-01-06 18:09:22.572914856 -0800
+@@ -39,14 +39,8 @@
+ We find the actual square root and half of its reciprocal
+ simultaneously. */
+
+-#ifdef __STDC__
+ double
+ __ieee754_sqrt (double b)
+-#else
+-double
+-__ieee754_sqrt (b)
+- double b;
+-#endif
+ {
+ if (__builtin_expect (b > 0, 1))
+ {
+@@ -132,3 +126,4 @@
+ }
+ return f_wash (b);
+ }
++strong_alias (__ieee754_sqrt, __sqrt_finite)
+Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
+===================================================================
+--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c 2012-01-06 18:10:37.068917644 -0800
++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c 2012-01-06 18:11:33.408920635 -0800
+@@ -37,14 +37,8 @@
+ We find the reciprocal square root and use that to compute the actual
+ square root. */
+
+-#ifdef __STDC__
+ float
+ __ieee754_sqrtf (float b)
+-#else
+-float
+-__ieee754_sqrtf (b)
+- float b;
+-#endif
+ {
+ if (__builtin_expect (b > 0, 1))
+ {
+@@ -99,3 +93,4 @@
+ }
+ return f_washf (b);
+ }
++strong_alias (__ieee754_sqrtf, __sqrtf_finite)
+Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
+===================================================================
+--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c 2012-01-06 18:11:51.460925644 -0800
++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c 2012-01-06 18:12:39.344924405 -0800
+@@ -39,14 +39,8 @@
+ We find the actual square root and half of its reciprocal
+ simultaneously. */
+
+-#ifdef __STDC__
+ double
+ __ieee754_sqrt (double b)
+-#else
+-double
+-__ieee754_sqrt (b)
+- double b;
+-#endif
+ {
+ if (__builtin_expect (b > 0, 1))
+ {
+@@ -132,3 +126,4 @@
+ }
+ return f_wash (b);
+ }
++strong_alias (__ieee754_sqrt, __sqrt_finite)
+Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
+===================================================================
+--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c 2012-01-06 18:13:00.892924586 -0800
++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c 2012-01-06 18:15:27.992931106 -0800
+@@ -37,14 +37,8 @@
+ We find the reciprocal square root and use that to compute the actual
+ square root. */
+
+-#ifdef __STDC__
+ float
+ __ieee754_sqrtf (float b)
+-#else
+-float
+-__ieee754_sqrtf (b)
+- float b;
+-#endif
+ {
+ if (__builtin_expect (b > 0, 1))
+ {
+@@ -99,3 +93,4 @@
+ }
+ return f_washf (b);
+ }
++strong_alias (__ieee754_sqrtf, __sqrtf_finite)
diff --git a/meta/recipes-core/eglibc/eglibc-2.14/stack-protector-test.patch b/meta/recipes-core/eglibc/eglibc-2.15/stack-protector-test.patch
index dbf70a974..dbf70a974 100644
--- a/meta/recipes-core/eglibc/eglibc-2.14/stack-protector-test.patch
+++ b/meta/recipes-core/eglibc/eglibc-2.15/stack-protector-test.patch
diff --git a/meta/recipes-core/eglibc/eglibc-2.14/use-sysroot-cxx-headers.patch b/meta/recipes-core/eglibc/eglibc-2.15/use-sysroot-cxx-headers.patch
index c06eebfac..7f8225371 100644
--- a/meta/recipes-core/eglibc/eglibc-2.14/use-sysroot-cxx-headers.patch
+++ b/meta/recipes-core/eglibc/eglibc-2.15/use-sysroot-cxx-headers.patch
@@ -10,27 +10,33 @@ Upstream-Status: Inappropriate [OE-specific]
--- a/configure.in
+++ b/configure.in
-@@ -1118,9 +1118,8 @@ if test -n "$sysheaders"; then
- SYSINCLUDES="$SYSINCLUDES \
+@@ -1094,11 +1094,10 @@ if test -n "$sysheaders"; then
-isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
if test -n "$CXX"; then
+ CXX_SYSINCLUDES=
- cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` &&
cxxmachine=`$CXX -dumpmachine 2>&AS_MESSAGE_LOG_FD` &&
-- cxxheaders=`$CXX -print-file-name=../../../../include/c++/`"$cxxversion" &&
-+ cxxheaders=`$CXX -print-sysroot`"$prefix/include/c++" &&
- CXX_SYSINCLUDES="-isystem $cxxheaders \
+ for d in include "$cxxmachine/include"; do
+- i=../../../../$d/c++/$cxxversion
+- cxxheaders=`$CXX -print-file-name="$i"` &&
++ i="$prefix/$d/c++"
++ cxxheaders=`$CXX -print-sysroot`"$i" &&
+ test "x$cxxheaders" != x && test "x$i" != "x$cxxheaders" &&
+ CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders \
-isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"
- fi
--- a/configure
+++ b/configure
-@@ -5544,9 +5544,8 @@ if test -n "$sysheaders"; then
- SYSINCLUDES="$SYSINCLUDES \
+@@ -5618,11 +5618,10 @@ if test -n "$sysheaders"; then
-isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
if test -n "$CXX"; then
+ CXX_SYSINCLUDES=
- cxxversion=`$CXX -dumpversion 2>&5` &&
cxxmachine=`$CXX -dumpmachine 2>&5` &&
-- cxxheaders=`$CXX -print-file-name=../../../../include/c++/`"$cxxversion" &&
-+ cxxheaders=`$CXX -print-sysroot`"$prefix/include/c++" &&
- CXX_SYSINCLUDES="-isystem $cxxheaders \
+ for d in include "$cxxmachine/include"; do
+- i=../../../../$d/c++/$cxxversion
+- cxxheaders=`$CXX -print-file-name="$i"` &&
++ i="$prefix/$d/c++"
++ cxxheaders=`$CXX -print-sysroot`"$i" &&
+ test "x$cxxheaders" != x && test "x$i" != "x$cxxheaders" &&
+ CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders \
-isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"
- fi
diff --git a/meta/recipes-core/eglibc/eglibc-2.15/x86_fenv.patch b/meta/recipes-core/eglibc/eglibc-2.15/x86_fenv.patch
new file mode 100644
index 000000000..40c1c4d67
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.15/x86_fenv.patch
@@ -0,0 +1,29 @@
+--- a/sysdeps/x86_64/fpu/bits/fenv.h
++++ b/sysdeps/x86_64/fpu/bits/fenv.h
+@@ -112,16 +112,24 @@ __NTH (feraiseexcept (int __excepts))
+ {
+ /* One example of a invalid operation is 0.0 / 0.0. */
+ float __f = 0.0;
+-
++# if defined __SSE_MATH__ || __WORDSIZE == 64
+ __asm__ __volatile__ ("divss %0, %0 " : : "x" (__f));
++# else
++ __asm__ __volatile__ ("fdiv %%st, %%st(0); fwait"
++ : "=t" (__f) : "0" (__f));
++# endif
+ (void) &__f;
+ }
+ if ((FE_DIVBYZERO & __excepts) != 0)
+ {
+ float __f = 1.0;
+ float __g = 0.0;
+-
++# if defined __SSE_MATH__ || __WORDSIZE == 64
+ __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g));
++# else
++ __asm__ __volatile__ ("fdivp %%st(1), %%st; fwait"
++ : "=t" (__f) : "0" (__f), "u" (__g) : "st(1)");
++# endif
+ (void) &__f;
+ }
+
diff --git a/meta/recipes-core/eglibc/eglibc-initial_2.14.bb b/meta/recipes-core/eglibc/eglibc-initial_2.15.bb
index 787c76260..787c76260 100644
--- a/meta/recipes-core/eglibc/eglibc-initial_2.14.bb
+++ b/meta/recipes-core/eglibc/eglibc-initial_2.15.bb
diff --git a/meta/recipes-core/eglibc/eglibc-locale_2.14.bb b/meta/recipes-core/eglibc/eglibc-locale_2.15.bb
index ce6c1d232..ce6c1d232 100644
--- a/meta/recipes-core/eglibc/eglibc-locale_2.14.bb
+++ b/meta/recipes-core/eglibc/eglibc-locale_2.15.bb
diff --git a/meta/recipes-core/eglibc/eglibc_2.14.bb b/meta/recipes-core/eglibc/eglibc_2.15.bb
index ad2161e1d..6d66342d5 100644
--- a/meta/recipes-core/eglibc/eglibc_2.14.bb
+++ b/meta/recipes-core/eglibc/eglibc_2.15.bb
@@ -1,12 +1,11 @@
require eglibc.inc
-SRCREV = "15870"
+SRCREV = "16540"
DEPENDS += "gperf-native"
-PR = "r3"
PR_append = "+svnr${SRCPV}"
-EGLIBC_BRANCH="eglibc-2_14"
+EGLIBC_BRANCH="eglibc-2_15"
SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http \
file://eglibc-svn-arm-lowlevellock-include-tls.patch \
file://IO-acquire-lock-fix.patch \
@@ -20,6 +19,8 @@ SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http
file://eglibc-rpc-export-again.patch \
file://glibc-2.14-libdl-crash.patch \
file://use-sysroot-cxx-headers.patch \
+ file://x86_fenv.patch \
+ file://ppc-sqrt_finite.patch \
"
LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \
file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
@@ -88,6 +89,15 @@ do_patch_append() {
bb.build.exec_func('do_fix_readlib_c', d)
}
+# for mips eglibc now builds syscall tables for all abi's
+# so we make sure that we choose right march option which is
+# compatible with o32,n32 and n64 abi's
+# e.g. -march=mips32 is not compatible with n32 and n64 therefore
+# we filter it out in such case -march=from-abi which will be
+# mips1 when using o32 and mips3 when using n32/n64
+
+TUNE_CCARGS_mips := "${@oe_filter_out('-march=mips32', '${TUNE_CCARGS}', d)}"
+
# We need to ensure that all of the i386 and x86_64 headers are identical
# to support the multilib case. We do this by copying headers from x86_64
# to i386 directories. Normally when hand building eglibc or a combined