generic-poky/meta/recipes-core/eglibc/eglibc-2.17/fsl-ppc-no-fsqrt.patch
Khem Raj d7b8ad5c29 eglibc: Upgrade recipes 2.16 -> 2.17
Drop patches that are applied upstream

Fix the license checksums for changes in LICENSES file
the new changes add more copyright notices that were missing earlier

Moving ports is no longer needed since ports is now part of libc proper

Refresh tzselect-sh.patch to accomodate upstream changes

C++ headers discovery relative to target sysroot is fixed differently
upstream hence we drop use-sysroot-cxx-headers.patch

aarch64 support is already available in 2.17 hence drop the local
patches

(From OE-Core rev: 83b6fe6d91b924be5a7676e6ee973ce26b5eefc5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-28 12:29:31 +00:00

101 lines
3.2 KiB
Diff

Create e5500 specific math_private.h and let it include when compiling for e5500/64bit core
We prefefine __CPU_HAS_FSQRT to 0 and then in general ppc64 math_private.h we check if its
already defined before redefining it. This way we can ensure that on e5500 builds it wont
emit fsqrt intructions
-Khem
Upstream-Status: Pending
Index: libc/sysdeps/powerpc/fpu/math_private.h
===================================================================
--- libc.orig/sysdeps/powerpc/fpu/math_private.h
+++ libc/sysdeps/powerpc/fpu/math_private.h
@@ -25,10 +25,12 @@
#include <dl-procinfo.h>
#include_next <math_private.h>
-# if __WORDSIZE == 64 || defined _ARCH_PWR4
-# define __CPU_HAS_FSQRT 1
-# else
-# define __CPU_HAS_FSQRT ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0)
+# ifndef __CPU_HAS_FSQRT
+# if __WORDSIZE == 64 || defined _ARCH_PWR4
+# define __CPU_HAS_FSQRT 1
+# else
+# define __CPU_HAS_FSQRT ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0)
+# endif
# endif
extern double __slow_ieee754_sqrt (double);
Index: libc/ports/sysdeps/powerpc/powerpc64/e5500/fpu/math_private.h
===================================================================
--- /dev/null
+++ libc/ports/sysdeps/powerpc/powerpc64/e5500/fpu/math_private.h
@@ -0,0 +1,9 @@
+#ifndef _E5500_MATH_PRIVATE_H_
+#define _E5500_MATH_PRIVATE_H_ 1
+/* E5500 core FPU does not implement
+ fsqrt */
+
+#define __CPU_HAS_FSQRT 0
+#include_next <math_private.h>
+
+#endif /* _E5500_MATH_PRIVATE_H_ */
Index: libc/ports/sysdeps/powerpc/powerpc64/e6500/fpu/math_private.h
===================================================================
--- /dev/null
+++ libc/ports/sysdeps/powerpc/powerpc64/e6500/fpu/math_private.h
@@ -0,0 +1,9 @@
+#ifndef _E6500_MATH_PRIVATE_H_
+#define _E6500_MATH_PRIVATE_H_ 1
+/* E6500 core FPU does not implement
+ fsqrt */
+
+#define __CPU_HAS_FSQRT 0
+#include_next <math_private.h>
+
+#endif /* _E6500_MATH_PRIVATE_H_ */
Index: libc/ports/sysdeps/powerpc/powerpc32/e500mc/fpu/math_private.h
===================================================================
--- /dev/null
+++ libc/ports/sysdeps/powerpc/powerpc32/e500mc/fpu/math_private.h
@@ -0,0 +1,9 @@
+#ifndef _E500MC_MATH_PRIVATE_H_
+#define _E500MC_MATH_PRIVATE_H_ 1
+/* E500MC core FPU does not implement
+ fsqrt */
+
+#define __CPU_HAS_FSQRT 0
+#include_next <math_private.h>
+
+#endif /* _E500MC_MATH_PRIVATE_H_ */
Index: libc/ports/sysdeps/powerpc/powerpc32/e5500/fpu/math_private.h
===================================================================
--- /dev/null
+++ libc/ports/sysdeps/powerpc/powerpc32/e5500/fpu/math_private.h
@@ -0,0 +1,9 @@
+#ifndef _E5500_MATH_PRIVATE_H_
+#define _E5500_MATH_PRIVATE_H_ 1
+/* E5500 core FPU does not implement
+ fsqrt */
+
+#define __CPU_HAS_FSQRT 0
+#include_next <math_private.h>
+
+#endif /* _E5500_MATH_PRIVATE_H_ */
Index: libc/ports/sysdeps/powerpc/powerpc32/e6500/fpu/math_private.h
===================================================================
--- /dev/null
+++ libc/ports/sysdeps/powerpc/powerpc32/e6500/fpu/math_private.h
@@ -0,0 +1,9 @@
+#ifndef _E6500_MATH_PRIVATE_H_
+#define _E6500_MATH_PRIVATE_H_ 1
+/* E6500 core FPU does not implement
+ fsqrt */
+
+#define __CPU_HAS_FSQRT 0
+#include_next <math_private.h>
+
+#endif /* _E6500_MATH_PRIVATE_H_ */