Blame SOURCES/glibc-rh731833-libm-7.patch

147e83
From ed81f668f7c9eff0692c3c81691a7380b55063ff Mon Sep 17 00:00:00 2001
147e83
From: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
147e83
Date: Fri, 17 May 2013 08:12:16 -0500
147e83
Subject: [PATCH 28/42] PowerPC: fix hypot/hypotf check for -INF (cherry
147e83
 picked from commit
147e83
 13d3b41a36c4f28d171a144f8a9baad3a8835981) (backported
147e83
 missing CL/NEWS from commit
147e83
 68191c1d59d40b3d9f5babef4f37f265920ff565)
147e83
147e83
---
147e83
 sysdeps/powerpc/fpu/e_hypot.c  | 6 +++---
147e83
 sysdeps/powerpc/fpu/e_hypotf.c | 6 +++---
147e83
 4 files changed, 14 insertions(+), 7 deletions(-)
147e83
147e83
diff --git glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_hypot.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_hypot.c
147e83
index cfadd5c..fc17bea 100644
147e83
--- glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_hypot.c
147e83
+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_hypot.c
147e83
@@ -52,13 +52,13 @@ static const double pdnum   = 2.225073858507201e-308;
147e83
    ieee_double_shape_type gh_u2;                                  \
147e83
    gh_u1.value = (d1);                                            \
147e83
    gh_u2.value = (d2);                                            \
147e83
-   (i1) = gh_u1.parts.msw;                                        \
147e83
-   (i2) = gh_u2.parts.msw;                                        \
147e83
+   (i1) = gh_u1.parts.msw & 0x7fffffff;                           \
147e83
+   (i2) = gh_u2.parts.msw & 0x7fffffff;                           \
147e83
  } while (0)
147e83
 
147e83
 # define TEST_INF_NAN(x, y)                                      \
147e83
  do {                                                            \
147e83
-   int32_t hx, hy;                                               \
147e83
+   uint32_t hx, hy;                                              \
147e83
    GET_TW0_HIGH_WORD(x, y, hx, hy);                              \
147e83
    if (hy > hx) {                                                \
147e83
      uint32_t ht = hx; hx = hy; hy = ht;                         \
147e83
diff --git glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_hypotf.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_hypotf.c
147e83
index 92e824d..77c1b17 100644
147e83
--- glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_hypotf.c
147e83
+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_hypotf.c
147e83
@@ -46,13 +46,13 @@ static const float two30  = 1.0737418e09;
147e83
    ieee_float_shape_type gf_u2;                                  \
147e83
    gf_u1.value = (f1);                                           \
147e83
    gf_u2.value = (f2);                                           \
147e83
-   (i1) = gf_u1.word;                                            \
147e83
-   (i2) = gf_u2.word;                                            \
147e83
+   (i1) = gf_u1.word & 0x7fffffff;                               \
147e83
+   (i2) = gf_u2.word & 0x7fffffff;                               \
147e83
  } while (0)
147e83
 
147e83
 # define TEST_INF_NAN(x, y)                                      \
147e83
  do {                                                            \
147e83
-   int32_t hx, hy;                                               \
147e83
+   uint32_t hx, hy;                                              \
147e83
    GET_TWO_FLOAT_WORD(x, y, hx, hy);                             \
147e83
    if (hy > hx) {                                                \
147e83
      uint32_t ht = hx; hx = hy; hy = ht;                         \
147e83
-- 
147e83
1.7.11.7
147e83