[glibc] - Add doi_IN, sat_IN and mni_IN to SUPPORTED locals (#803286) - Add stap probes in slowpow and sl

Jeffrey Law law at fedoraproject.org
Thu Mar 15 03:21:57 UTC 2012


commit 4ad934832a3bf982c24a5a2509c101e52694b11e
Author: Jeff Law <law at redhat.com>
Date:   Wed Mar 14 21:21:22 2012 -0600

     - Add doi_IN, sat_IN and mni_IN to SUPPORTED locals (#803286)
      - Add stap probes in slowpow and slowexp.

 glibc-rh803286.patch  |   27 ++++++++++++++++++
 glibc-stap-libm.patch |   72 +++++++++++++++++++++++++++++++++++++++++++++++++
 glibc.spec            |   13 ++++++++-
 3 files changed, 111 insertions(+), 1 deletions(-)
---
diff --git a/glibc-rh803286.patch b/glibc-rh803286.patch
new file mode 100644
index 0000000..d9f909c
--- /dev/null
+++ b/glibc-rh803286.patch
@@ -0,0 +1,27 @@
+diff -rup a/localedata/SUPPORTED b/localedata/SUPPORTED
+--- a/localedata/SUPPORTED	2012-03-12 14:11:04.134056609 -0600
++++ b/localedata/SUPPORTED	2012-03-14 20:59:39.993269235 -0600
+@@ -103,6 +103,7 @@ de_DE at euro/ISO-8859-15 \
+ de_LU.UTF-8/UTF-8 \
+ de_LU/ISO-8859-1 \
+ de_LU at euro/ISO-8859-15 \
++doi_IN/UTF-8 \
+ dv_MV/UTF-8 \
+ dz_BT/UTF-8 \
+ el_GR.UTF-8/UTF-8 \
+@@ -298,6 +299,7 @@ mk_MK.UTF-8/UTF-8 \
+ mk_MK/ISO-8859-5 \
+ ml_IN/UTF-8 \
+ mn_MN/UTF-8 \
++mni_IN/UTF-8 \
+ mr_IN/UTF-8 \
+ ms_MY.UTF-8/UTF-8 \
+ ms_MY/ISO-8859-1 \
+@@ -350,6 +352,7 @@ ru_UA.UTF-8/UTF-8 \
+ ru_UA/KOI8-U \
+ rw_RW/UTF-8 \
+ sa_IN/UTF-8 \
++sat_IN/UTF-8 \
+ sc_IT/UTF-8 \
+ sd_IN/UTF-8 \
+ sd_IN at devanagari/UTF-8 \
diff --git a/glibc-stap-libm.patch b/glibc-stap-libm.patch
new file mode 100644
index 0000000..07761b9
--- /dev/null
+++ b/glibc-stap-libm.patch
@@ -0,0 +1,72 @@
+diff -rup a/sysdeps/ieee754/dbl-64/slowexp.c b/sysdeps/ieee754/dbl-64/slowexp.c
+--- a/sysdeps/ieee754/dbl-64/slowexp.c	2012-01-01 05:16:32.000000000 -0700
++++ b/sysdeps/ieee754/dbl-64/slowexp.c	2012-03-13 11:57:51.225330782 -0600
+@@ -31,6 +31,8 @@
+ #include "mpa.h"
+ #include "math_private.h"
+ 
++#include <stap-probe.h>
++
+ #ifndef SECTION
+ # define SECTION
+ #endif
+@@ -61,12 +63,21 @@ __slowexp(double x) {
+   __sub(&mpy,&mpcor,&mpz,p);
+   __mp_dbl(&mpw, &w, p);
+   __mp_dbl(&mpz, &z, p);
+-  if (w == z) return w;
++  if (w == z) {
++    /* Track how often we get to the slow exp code plus
++       its input/output values.  */
++    LIBC_PROBE (slowexp_p6, 2, &x, &w);
++    return w;
++  }
+   else  {                   /* if calculating is not exactly   */
+     p = 32;
+     __dbl_mp(x,&mpx,p);
+     __mpexp(&mpx, &mpy, p);
+     __mp_dbl(&mpy, &res, p);
++ 
++    /* Track how often we get to the uber-slow exp code plus
++       its input/output values.  */
++    LIBC_PROBE (slowexp_p32, 2, &x, &res);
+     return res;
+   }
+ }
+diff -rup a/sysdeps/ieee754/dbl-64/slowpow.c b/sysdeps/ieee754/dbl-64/slowpow.c
+--- a/sysdeps/ieee754/dbl-64/slowpow.c	2012-01-01 05:16:32.000000000 -0700
++++ b/sysdeps/ieee754/dbl-64/slowpow.c	2012-03-13 11:57:59.865284437 -0600
+@@ -35,6 +35,8 @@
+ #include "mpa.h"
+ #include "math_private.h"
+ 
++#include <stap-probe.h>
++
+ #ifndef SECTION
+ # define SECTION
+ #endif
+@@ -66,7 +68,12 @@ __slowpow(double x, double y, double z)
+   __mp_dbl(&mpr, &res, p);
+   __sub(&mpp,&eps,&mpr1,p);   /*  pp -eps =r1 */
+   __mp_dbl(&mpr1, &res1, p);  /*  converting into double precision */
+-  if (res == res1) return res;
++  if (res == res1) {
++    /* Track how often we get to the slow pow code plus
++       its input/output values.  */
++    LIBC_PROBE (slowpow_p6, 4, &x, &y, &z, &res);
++    return res;
++  }
+ 
+   p = 32;     /* if we get here result wasn't calculated exactly, continue */
+   __dbl_mp(x,&mpx,p);                          /* for more exact calculation */
+@@ -76,5 +83,10 @@ __slowpow(double x, double y, double z)
+   __mul(&mpy,&mpz,&mpw,p);  /* y*z =w    */
+   __mpexp(&mpw, &mpp, p);   /* e^w=pp    */
+   __mp_dbl(&mpp, &res, p);  /* converting into double precision */
++
++  /* Track how often we get to the uber-slow pow code plus
++     its input/output values.  */
++    LIBC_PROBE (slowpow_p32, 4, &x, &y, &z, &res);
++
+   return res;
+ }
diff --git a/glibc.spec b/glibc.spec
index 8fffa08..0a0eef8 100644
--- a/glibc.spec
+++ b/glibc.spec
@@ -28,7 +28,7 @@
 Summary: The GNU libc libraries
 Name: glibc
 Version: %{glibcversion}
-Release: 27%{?dist}
+Release: 28%{?dist}
 # GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
 # Things that are linked directly into dynamically linked programs
 # and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
@@ -117,6 +117,11 @@ Patch41 : %{name}-rh794797-2.patch
 # From upstream
 Patch42 : %{name}-rh801650-1.patch
 Patch43 : %{name}-rh801650-2.patch
+# stap and thus will never be accepted upstream
+Patch44 : %{name}-stap-libm.patch
+# Waiting on upstream
+Patch45 : %{name}-rh803286.patch
+
 
 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 Obsoletes: glibc-profile < 2.4
@@ -378,6 +383,8 @@ rm -rf %{glibcportsdir}
 %patch41 -p1
 %patch42 -p1
 %patch43 -p1
+%patch44 -p1
+%patch45 -p1
 
 # A lot of programs still misuse memcpy when they have to use
 # memmove. The memcpy implementation below is not tolerant at
@@ -1230,6 +1237,10 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Wed Mar 13 2012 Jeff Law <law at redhat.com> - 2.15-28
+  - Add doi_IN, sat_IN and mni_IN to SUPPORTED locals (#803286)
+  - Add stap probes in slowpow and slowexp.
+
 * Fri Mar 09 2012 Jeff Law <law at redhat.com> - 2.15-27
   - Fix AVX checks (#801650)
 


More information about the scm-commits mailing list