Patchwork eglibc_2.16.bb: refresh ppc_slow_ieee754_sqrt.patch for e6500

login
register
mail settings
Submitter Matthew McClintock
Date Sept. 18, 2012, 10:08 p.m.
Message ID <1348006091-14992-2-git-send-email-msm@freescale.com>
Download mbox | patch
Permalink /patch/36865/
State New
Headers show

Comments

Matthew McClintock - Sept. 18, 2012, 10:08 p.m.
Make same changes for e6500 fpu as done with others

Signed-off-by: Matthew McClintock <msm@freescale.com>
---
 .../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch |  101 ++++++++++++++++----
 meta/recipes-core/eglibc/eglibc_2.16.bb            |    2 +-
 2 files changed, 84 insertions(+), 19 deletions(-)
McClintock Matthew-B29882 - Sept. 19, 2012, 3:51 a.m.
On Tue, Sep 18, 2012 at 5:08 PM, Matthew McClintock <msm@freescale.com> wrote:
> Make same changes for e6500 fpu as done with others

This patch was the problem, I needed to update this for e500mc as well
since the glibc.fix_sqrt2.patch updates it as well. Will submit v2 of
both of the patches.

-M

>
> Signed-off-by: Matthew McClintock <msm@freescale.com>
> ---
>  .../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch |  101 ++++++++++++++++----
>  meta/recipes-core/eglibc/eglibc_2.16.bb            |    2 +-
>  2 files changed, 84 insertions(+), 19 deletions(-)
>
> diff --git a/meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch b/meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
> index 9a932ff..f432b72 100644
> --- a/meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
> +++ b/meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
> @@ -5,9 +5,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  Upstream-Status: Pending
>  Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
>  ===================================================================
> ---- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c      2012-07-03 22:36:01.172386436 -0700
> -+++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c   2012-07-03 23:04:37.396469515 -0700
> -@@ -40,7 +40,7 @@
> +--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
> ++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
> +@@ -40,7 +40,7 @@ static const float half = 0.5;
>      simultaneously.  */
>
>   double
> @@ -16,7 +16,7 @@ Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
>   {
>     if (__builtin_expect (b > 0, 1))
>       {
> -@@ -77,7 +77,7 @@
> +@@ -77,7 +77,7 @@ __ieee754_sqrt (double b)
>
>             /* Handle small numbers by scaling.  */
>             if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0))
> @@ -25,7 +25,7 @@ Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
>
>   #define FMADD(a_, c_, b_)                                               \
>             ({ double __r;                                                \
> -@@ -126,4 +126,12 @@
> +@@ -126,4 +126,12 @@ __ieee754_sqrt (double b)
>       }
>     return f_wash (b);
>   }
> @@ -40,9 +40,9 @@ Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
>   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-07-03 22:36:01.172386436 -0700
> -+++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c  2012-07-03 23:07:06.260476775 -0700
> -@@ -38,7 +38,7 @@
> +--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
> ++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
> +@@ -38,7 +38,7 @@ static const float threehalf = 1.5;
>      square root.  */
>
>   float
> @@ -51,7 +51,7 @@ Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
>   {
>     if (__builtin_expect (b > 0, 1))
>       {
> -@@ -93,4 +93,10 @@
> +@@ -93,4 +93,10 @@ __ieee754_sqrtf (float b)
>       }
>     return f_washf (b);
>   }
> @@ -64,9 +64,9 @@ Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
>   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-07-03 22:36:01.176386435 -0700
> -+++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c  2012-07-03 23:14:16.328497458 -0700
> -@@ -40,7 +40,7 @@
> +--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
> ++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
> +@@ -40,7 +40,7 @@ static const float half = 0.5;
>      simultaneously.  */
>
>   double
> @@ -75,7 +75,7 @@ Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
>   {
>     if (__builtin_expect (b > 0, 1))
>       {
> -@@ -77,7 +77,7 @@
> +@@ -77,7 +77,7 @@ __ieee754_sqrt (double b)
>
>             /* Handle small numbers by scaling.  */
>             if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0))
> @@ -84,7 +84,7 @@ Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
>
>   #define FMADD(a_, c_, b_)                                               \
>             ({ double __r;                                                \
> -@@ -126,4 +126,12 @@
> +@@ -126,4 +126,12 @@ __ieee754_sqrt (double b)
>       }
>     return f_wash (b);
>   }
> @@ -99,9 +99,9 @@ Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
>   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-07-03 22:36:01.176386435 -0700
> -+++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c 2012-07-03 23:13:52.732496373 -0700
> -@@ -38,7 +38,7 @@
> +--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
> ++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
> +@@ -38,7 +38,7 @@ static const float threehalf = 1.5;
>      square root.  */
>
>   float
> @@ -110,7 +110,7 @@ Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
>   {
>     if (__builtin_expect (b > 0, 1))
>       {
> -@@ -93,4 +93,10 @@
> +@@ -93,4 +93,10 @@ __ieee754_sqrtf (float b)
>       }
>     return f_washf (b);
>   }
> @@ -121,3 +121,68 @@ Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
>  +  return __slow_ieee754_sqrtf (x);
>  +}
>   strong_alias (__ieee754_sqrtf, __sqrtf_finite)
> +Index: libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c
> +===================================================================
> +--- libc.orig/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c
> ++++ libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c
> +@@ -41,10 +41,10 @@ static const float half = 0.5;
> +
> + #ifdef __STDC__
> + double
> +-__ieee754_sqrt (double b)
> ++__slow_ieee754_sqrt (double b)
> + #else
> + double
> +-__ieee754_sqrt (b)
> ++__slow_ieee754_sqrt (b)
> +      double b;
> + #endif
> + {
> +@@ -83,7 +83,7 @@ __ieee754_sqrt (b)
> +
> +           /* Handle small numbers by scaling.  */
> +           if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0))
> +-            return __ieee754_sqrt (b * two108) * twom54;
> ++            return __slow_ieee754_sqrt (b * two108) * twom54;
> +
> + #define FMADD(a_, c_, b_)                                               \
> +           ({ double __r;                                                \
> +@@ -132,3 +132,10 @@ __ieee754_sqrt (b)
> +     }
> +   return f_wash (b);
> + }
> ++
> ++#undef __ieee754_sqrt
> ++double
> ++__ieee754_sqrt (double x)
> ++{
> ++   return __slow_ieee754_sqrt (x);
> ++}
> +Index: libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c
> +===================================================================
> +--- libc.orig/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c
> ++++ libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c
> +@@ -39,10 +39,10 @@ static const float threehalf = 1.5;
> +
> + #ifdef __STDC__
> + float
> +-__ieee754_sqrtf (float b)
> ++__slow_ieee754_sqrtf (float b)
> + #else
> + float
> +-__ieee754_sqrtf (b)
> ++__slow_ieee754_sqrtf (b)
> +      float b;
> + #endif
> + {
> +@@ -99,3 +99,10 @@ __ieee754_sqrtf (b)
> +     }
> +   return f_washf (b);
> + }
> ++
> ++#undef __ieee754_sqrtf
> ++float
> ++__ieee754_sqrtf (float x)
> ++{
> ++  return __slow_ieee754_sqrtf (x);
> ++}
> diff --git a/meta/recipes-core/eglibc/eglibc_2.16.bb b/meta/recipes-core/eglibc/eglibc_2.16.bb
> index a753882..96da9a5 100644
> --- a/meta/recipes-core/eglibc/eglibc_2.16.bb
> +++ b/meta/recipes-core/eglibc/eglibc_2.16.bb
> @@ -3,7 +3,7 @@ require eglibc.inc
>  SRCREV = "20393"
>
>  DEPENDS += "gperf-native kconfig-frontends-native"
> -PR = "r10"
> +PR = "r11"
>  PR_append = "+svnr${SRCPV}"
>
>  EGLIBC_BRANCH="eglibc-2_16"
> --
> 1.7.9.7
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Patch

diff --git a/meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch b/meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
index 9a932ff..f432b72 100644
--- a/meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
+++ b/meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
@@ -5,9 +5,9 @@  Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Upstream-Status: Pending
 Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
 ===================================================================
---- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c	2012-07-03 22:36:01.172386436 -0700
-+++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c	2012-07-03 23:04:37.396469515 -0700
-@@ -40,7 +40,7 @@
+--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
+@@ -40,7 +40,7 @@ static const float half = 0.5;
     simultaneously.  */
  
  double
@@ -16,7 +16,7 @@  Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
  {
    if (__builtin_expect (b > 0, 1))
      {
-@@ -77,7 +77,7 @@
+@@ -77,7 +77,7 @@ __ieee754_sqrt (double b)
    
            /* Handle small numbers by scaling.  */
            if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0))
@@ -25,7 +25,7 @@  Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
  
  #define FMADD(a_, c_, b_)                                               \
            ({ double __r;                                                \
-@@ -126,4 +126,12 @@
+@@ -126,4 +126,12 @@ __ieee754_sqrt (double b)
      }
    return f_wash (b);
  }
@@ -40,9 +40,9 @@  Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
  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-07-03 22:36:01.172386436 -0700
-+++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c	2012-07-03 23:07:06.260476775 -0700
-@@ -38,7 +38,7 @@
+--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
+@@ -38,7 +38,7 @@ static const float threehalf = 1.5;
     square root.  */
  
  float
@@ -51,7 +51,7 @@  Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
  {
    if (__builtin_expect (b > 0, 1))
      {
-@@ -93,4 +93,10 @@
+@@ -93,4 +93,10 @@ __ieee754_sqrtf (float b)
      }
    return f_washf (b);
  }
@@ -64,9 +64,9 @@  Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
  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-07-03 22:36:01.176386435 -0700
-+++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c	2012-07-03 23:14:16.328497458 -0700
-@@ -40,7 +40,7 @@
+--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
+@@ -40,7 +40,7 @@ static const float half = 0.5;
     simultaneously.  */
  
  double
@@ -75,7 +75,7 @@  Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
  {
    if (__builtin_expect (b > 0, 1))
      {
-@@ -77,7 +77,7 @@
+@@ -77,7 +77,7 @@ __ieee754_sqrt (double b)
    
            /* Handle small numbers by scaling.  */
            if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0))
@@ -84,7 +84,7 @@  Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
  
  #define FMADD(a_, c_, b_)                                               \
            ({ double __r;                                                \
-@@ -126,4 +126,12 @@
+@@ -126,4 +126,12 @@ __ieee754_sqrt (double b)
      }
    return f_wash (b);
  }
@@ -99,9 +99,9 @@  Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
  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-07-03 22:36:01.176386435 -0700
-+++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c	2012-07-03 23:13:52.732496373 -0700
-@@ -38,7 +38,7 @@
+--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
+@@ -38,7 +38,7 @@ static const float threehalf = 1.5;
     square root.  */
  
  float
@@ -110,7 +110,7 @@  Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
  {
    if (__builtin_expect (b > 0, 1))
      {
-@@ -93,4 +93,10 @@
+@@ -93,4 +93,10 @@ __ieee754_sqrtf (float b)
      }
    return f_washf (b);
  }
@@ -121,3 +121,68 @@  Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
 +  return __slow_ieee754_sqrtf (x);
 +}
  strong_alias (__ieee754_sqrtf, __sqrtf_finite)
+Index: libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c
+===================================================================
+--- libc.orig/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c
++++ libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c
+@@ -41,10 +41,10 @@ static const float half = 0.5;
+ 
+ #ifdef __STDC__
+ double
+-__ieee754_sqrt (double b)
++__slow_ieee754_sqrt (double b)
+ #else
+ double
+-__ieee754_sqrt (b)
++__slow_ieee754_sqrt (b)
+      double b;
+ #endif
+ {
+@@ -83,7 +83,7 @@ __ieee754_sqrt (b)
+   
+           /* Handle small numbers by scaling.  */
+           if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0))
+-            return __ieee754_sqrt (b * two108) * twom54;
++            return __slow_ieee754_sqrt (b * two108) * twom54;
+ 
+ #define FMADD(a_, c_, b_)                                               \
+           ({ double __r;                                                \
+@@ -132,3 +132,10 @@ __ieee754_sqrt (b)
+     }
+   return f_wash (b);
+ }
++
++#undef __ieee754_sqrt
++double
++__ieee754_sqrt (double x)
++{
++   return __slow_ieee754_sqrt (x);
++}
+Index: libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c
+===================================================================
+--- libc.orig/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c
++++ libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c
+@@ -39,10 +39,10 @@ static const float threehalf = 1.5;
+ 
+ #ifdef __STDC__
+ float
+-__ieee754_sqrtf (float b)
++__slow_ieee754_sqrtf (float b)
+ #else
+ float
+-__ieee754_sqrtf (b)
++__slow_ieee754_sqrtf (b)
+      float b;
+ #endif
+ {
+@@ -99,3 +99,10 @@ __ieee754_sqrtf (b)
+     }
+   return f_washf (b);
+ }
++
++#undef __ieee754_sqrtf
++float
++__ieee754_sqrtf (float x)
++{
++  return __slow_ieee754_sqrtf (x);
++}
diff --git a/meta/recipes-core/eglibc/eglibc_2.16.bb b/meta/recipes-core/eglibc/eglibc_2.16.bb
index a753882..96da9a5 100644
--- a/meta/recipes-core/eglibc/eglibc_2.16.bb
+++ b/meta/recipes-core/eglibc/eglibc_2.16.bb
@@ -3,7 +3,7 @@  require eglibc.inc
 SRCREV = "20393"
 
 DEPENDS += "gperf-native kconfig-frontends-native"
-PR = "r10"
+PR = "r11"
 PR_append = "+svnr${SRCPV}"
 
 EGLIBC_BRANCH="eglibc-2_16"