[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