- Add doi_IN, sat_IN and mni_IN to SUPPORTED locals (#803286)
- Add stap probes in slowpow and slowexp.
This commit is contained in:
parent
d893fa43b7
commit
4ad934832a
27
glibc-rh803286.patch
Normal file
27
glibc-rh803286.patch
Normal file
@ -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@euro/ISO-8859-15 \
|
||||
de_LU.UTF-8/UTF-8 \
|
||||
de_LU/ISO-8859-1 \
|
||||
de_LU@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@devanagari/UTF-8 \
|
72
glibc-stap-libm.patch
Normal file
72
glibc-stap-libm.patch
Normal file
@ -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;
|
||||
}
|
13
glibc.spec
13
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@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@redhat.com> - 2.15-27
|
||||
- Fix AVX checks (#801650)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user