Sync with upstream master
This commit is contained in:
parent
c2021d0b30
commit
f03231b069
|
@ -1,46 +0,0 @@
|
||||||
commit ab8473b63982c814cdf509b8061fe0152cf3fd39
|
|
||||||
Author: Siddhesh Poyarekar <siddhesh@redhat.com>
|
|
||||||
Date: Tue Oct 1 14:29:00 2013 +0530
|
|
||||||
|
|
||||||
Fix PI mutex check in pthread_cond_broadcast and pthread_cond_signal
|
|
||||||
|
|
||||||
The check had a typo - it checked for PTHREAD_MUTEX_ROBUST instead of
|
|
||||||
PTHREAD_MUTEX_NORMAL_ROBUST_NP. It has now been replaced by the
|
|
||||||
already existing convenience macro USE_REQUEUE_PI.
|
|
||||||
|
|
||||||
diff --git a/nptl/pthread_cond_broadcast.c b/nptl/pthread_cond_broadcast.c
|
|
||||||
index 0702ec0..7ba9efa 100644
|
|
||||||
--- a/nptl/pthread_cond_broadcast.c
|
|
||||||
+++ b/nptl/pthread_cond_broadcast.c
|
|
||||||
@@ -63,10 +63,7 @@ __pthread_cond_broadcast (cond)
|
|
||||||
|
|
||||||
#if (defined lll_futex_cmp_requeue_pi \
|
|
||||||
&& defined __ASSUME_REQUEUE_PI)
|
|
||||||
- int pi_flag = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ROBUST_NP;
|
|
||||||
- pi_flag &= mut->__data.__kind;
|
|
||||||
-
|
|
||||||
- if (pi_flag == PTHREAD_MUTEX_PRIO_INHERIT_NP)
|
|
||||||
+ if (USE_REQUEUE_PI (mut))
|
|
||||||
{
|
|
||||||
if (lll_futex_cmp_requeue_pi (&cond->__data.__futex, 1, INT_MAX,
|
|
||||||
&mut->__data.__lock, futex_val,
|
|
||||||
diff --git a/nptl/pthread_cond_signal.c b/nptl/pthread_cond_signal.c
|
|
||||||
index 102d0b3..ffc35dc 100644
|
|
||||||
--- a/nptl/pthread_cond_signal.c
|
|
||||||
+++ b/nptl/pthread_cond_signal.c
|
|
||||||
@@ -49,14 +49,9 @@ __pthread_cond_signal (cond)
|
|
||||||
|
|
||||||
#if (defined lll_futex_cmp_requeue_pi \
|
|
||||||
&& defined __ASSUME_REQUEUE_PI)
|
|
||||||
- int pi_flag = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ROBUST_NP;
|
|
||||||
pthread_mutex_t *mut = cond->__data.__mutex;
|
|
||||||
|
|
||||||
- /* Do not use requeue for pshared condvars. */
|
|
||||||
- if (mut != (void *) ~0l)
|
|
||||||
- pi_flag &= mut->__data.__kind;
|
|
||||||
-
|
|
||||||
- if (__builtin_expect (pi_flag == PTHREAD_MUTEX_PRIO_INHERIT_NP, 0)
|
|
||||||
+ if (USE_REQUEUE_PI (mut)
|
|
||||||
/* This can only really fail with a ENOSYS, since nobody can modify
|
|
||||||
futex while we have the cond_lock. */
|
|
||||||
&& lll_futex_cmp_requeue_pi (&cond->__data.__futex, 1, 0,
|
|
|
@ -31,12 +31,3 @@ diff -rup a/resolv/res_send.c b/resolv/res_send.c
|
||||||
while (ns < MAXNS
|
while (ns < MAXNS
|
||||||
&& EXT(statp).nsmap[ns] != MAXNS)
|
&& EXT(statp).nsmap[ns] != MAXNS)
|
||||||
ns++;
|
ns++;
|
||||||
@@ -441,7 +441,7 @@ __libc_res_nsend(res_state statp, const
|
|
||||||
malloc(sizeof (struct sockaddr_in6));
|
|
||||||
if (EXT(statp).nsaddrs[n] != NULL) {
|
|
||||||
memset (mempcpy(EXT(statp).nsaddrs[n],
|
|
||||||
- &statp->nsaddr_list[n],
|
|
||||||
+ &statp->nsaddr_list[ns],
|
|
||||||
sizeof (struct sockaddr_in)),
|
|
||||||
'\0',
|
|
||||||
sizeof (struct sockaddr_in6)
|
|
||||||
|
|
|
@ -1,73 +0,0 @@
|
||||||
diff -rup c/sysdeps/ieee754/dbl-64/slowexp.c d/sysdeps/ieee754/dbl-64/slowexp.c
|
|
||||||
--- c/sysdeps/ieee754/dbl-64/slowexp.c 2013-06-04 16:40:55.000000000 +0530
|
|
||||||
+++ d/sysdeps/ieee754/dbl-64/slowexp.c 2013-06-04 21:02:49.377439607 +0530
|
|
||||||
@@ -29,6 +29,8 @@
|
|
||||||
/**************************************************************************/
|
|
||||||
#include <math_private.h>
|
|
||||||
|
|
||||||
+#include <stap-probe.h>
|
|
||||||
+
|
|
||||||
#ifndef USE_LONG_DOUBLE_FOR_MP
|
|
||||||
# include "mpa.h"
|
|
||||||
void __mpexp (mp_no *x, mp_no *y, int p);
|
|
||||||
@@ -60,13 +62,22 @@ __slowexp (double x)
|
|
||||||
__mp_dbl (&mpw, &w, p);
|
|
||||||
__mp_dbl (&mpz, &z, p);
|
|
||||||
if (w == z)
|
|
||||||
- return w;
|
|
||||||
+ {
|
|
||||||
+ /* 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
|
|
||||||
{
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
diff -rup c/sysdeps/ieee754/dbl-64/slowpow.c d/sysdeps/ieee754/dbl-64/slowpow.c
|
|
||||||
--- c/sysdeps/ieee754/dbl-64/slowpow.c 2013-06-04 16:40:55.000000000 +0530
|
|
||||||
+++ d/sysdeps/ieee754/dbl-64/slowpow.c 2013-06-04 21:05:21.776433149 +0530
|
|
||||||
@@ -34,6 +34,8 @@
|
|
||||||
#include "mpa.h"
|
|
||||||
#include <math_private.h>
|
|
||||||
|
|
||||||
+#include <stap-probe.h>
|
|
||||||
+
|
|
||||||
#ifndef SECTION
|
|
||||||
# define SECTION
|
|
||||||
#endif
|
|
||||||
@@ -97,7 +99,12 @@ __slowpow (double x, double y, double z)
|
|
||||||
__sub (&mpp, &eps, &mpr1, p);
|
|
||||||
__mp_dbl (&mpr1, &res1, p);
|
|
||||||
if (res == res1)
|
|
||||||
- return res;
|
|
||||||
+ {
|
|
||||||
+ /* Track how often we get to the slow pow code plus
|
|
||||||
+ its input/output values. */
|
|
||||||
+ LIBC_PROBE (slowpow_p10, 4, &x, &y, &z, &res);
|
|
||||||
+ return res;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
/* If we don't, then we repeat using a higher precision. 768 bits of
|
|
||||||
precision ought to be enough for anybody. */
|
|
||||||
@@ -109,5 +116,10 @@ __slowpow (double x, double y, double z)
|
|
||||||
__mul (&mpy, &mpz, &mpw, p);
|
|
||||||
__mpexp (&mpw, &mpp, p);
|
|
||||||
__mp_dbl (&mpp, &res, p);
|
|
||||||
+
|
|
||||||
+ /* 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;
|
|
||||||
}
|
|
16
glibc.spec
16
glibc.spec
|
@ -1,6 +1,6 @@
|
||||||
%define glibcsrcdir glibc-2.18-186-gfd96752
|
%define glibcsrcdir glibc-2.18-303-g1e14558
|
||||||
%define glibcversion 2.18.90
|
%define glibcversion 2.18.90
|
||||||
%define glibcrelease 10%{?dist}
|
%define glibcrelease 11%{?dist}
|
||||||
# Pre-release tarballs are pulled in from git using a command that is
|
# Pre-release tarballs are pulled in from git using a command that is
|
||||||
# effectively:
|
# effectively:
|
||||||
#
|
#
|
||||||
|
@ -141,9 +141,6 @@ Patch0006: %{name}-arm-hardfloat-3.patch
|
||||||
Patch0008: %{name}-fedora-getrlimit-PLT.patch
|
Patch0008: %{name}-fedora-getrlimit-PLT.patch
|
||||||
Patch0009: %{name}-fedora-include-bits-ldbl.patch
|
Patch0009: %{name}-fedora-include-bits-ldbl.patch
|
||||||
|
|
||||||
# stap, needs to be sent upstream
|
|
||||||
Patch0010: %{name}-stap-libm.patch
|
|
||||||
|
|
||||||
# Needs to be sent upstream
|
# Needs to be sent upstream
|
||||||
Patch0029: %{name}-rh841318.patch
|
Patch0029: %{name}-rh841318.patch
|
||||||
|
|
||||||
|
@ -221,8 +218,6 @@ Patch2026: %{name}-rh841787.patch
|
||||||
# Upstream BZ 14185
|
# Upstream BZ 14185
|
||||||
Patch2027: %{name}-rh819430.patch
|
Patch2027: %{name}-rh819430.patch
|
||||||
|
|
||||||
Patch2028: %{name}-rh1007590.patch
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# End of glibc patches.
|
# End of glibc patches.
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
@ -519,7 +514,6 @@ package or when debugging this package.
|
||||||
%patch2007 -p1
|
%patch2007 -p1
|
||||||
%patch0008 -p1
|
%patch0008 -p1
|
||||||
%patch0009 -p1
|
%patch0009 -p1
|
||||||
%patch0010 -p1
|
|
||||||
%patch2011 -p1
|
%patch2011 -p1
|
||||||
%patch0012 -p1
|
%patch0012 -p1
|
||||||
%patch2013 -p1
|
%patch2013 -p1
|
||||||
|
@ -548,7 +542,6 @@ package or when debugging this package.
|
||||||
%patch0041 -p1
|
%patch0041 -p1
|
||||||
%patch0042 -p1
|
%patch0042 -p1
|
||||||
%patch0043 -p1
|
%patch0043 -p1
|
||||||
%patch2028 -p1
|
|
||||||
%patch0044 -p1
|
%patch0044 -p1
|
||||||
%patch0045 -p1
|
%patch0045 -p1
|
||||||
%patch0046 -p1
|
%patch0046 -p1
|
||||||
|
@ -1637,7 +1630,10 @@ rm -f *.filelist*
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Thu Oct 3 2013 Carlos O'Donell <carlos@redhat.com> - 2.18.90-9
|
* Tue Oct 15 2013 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-11
|
||||||
|
- Sync with upstream master.
|
||||||
|
|
||||||
|
* Thu Oct 3 2013 Carlos O'Donell <carlos@redhat.com> - 2.18.90-10
|
||||||
- Allow applications to use pthread_atfork without explicitly
|
- Allow applications to use pthread_atfork without explicitly
|
||||||
requiring libpthread.so. (#1013801)
|
requiring libpthread.so. (#1013801)
|
||||||
- Support `--list-archive FILE' in localedef utility.
|
- Support `--list-archive FILE' in localedef utility.
|
||||||
|
|
Loading…
Reference in New Issue