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
|
||||
&& EXT(statp).nsmap[ns] != MAXNS)
|
||||
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 glibcrelease 10%{?dist}
|
||||
%define glibcrelease 11%{?dist}
|
||||
# Pre-release tarballs are pulled in from git using a command that is
|
||||
# effectively:
|
||||
#
|
||||
@ -141,9 +141,6 @@ Patch0006: %{name}-arm-hardfloat-3.patch
|
||||
Patch0008: %{name}-fedora-getrlimit-PLT.patch
|
||||
Patch0009: %{name}-fedora-include-bits-ldbl.patch
|
||||
|
||||
# stap, needs to be sent upstream
|
||||
Patch0010: %{name}-stap-libm.patch
|
||||
|
||||
# Needs to be sent upstream
|
||||
Patch0029: %{name}-rh841318.patch
|
||||
|
||||
@ -221,8 +218,6 @@ Patch2026: %{name}-rh841787.patch
|
||||
# Upstream BZ 14185
|
||||
Patch2027: %{name}-rh819430.patch
|
||||
|
||||
Patch2028: %{name}-rh1007590.patch
|
||||
|
||||
##############################################################################
|
||||
# End of glibc patches.
|
||||
##############################################################################
|
||||
@ -519,7 +514,6 @@ package or when debugging this package.
|
||||
%patch2007 -p1
|
||||
%patch0008 -p1
|
||||
%patch0009 -p1
|
||||
%patch0010 -p1
|
||||
%patch2011 -p1
|
||||
%patch0012 -p1
|
||||
%patch2013 -p1
|
||||
@ -548,7 +542,6 @@ package or when debugging this package.
|
||||
%patch0041 -p1
|
||||
%patch0042 -p1
|
||||
%patch0043 -p1
|
||||
%patch2028 -p1
|
||||
%patch0044 -p1
|
||||
%patch0045 -p1
|
||||
%patch0046 -p1
|
||||
@ -1637,7 +1630,10 @@ rm -f *.filelist*
|
||||
%endif
|
||||
|
||||
%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
|
||||
requiring libpthread.so. (#1013801)
|
||||
- Support `--list-archive FILE' in localedef utility.
|
||||
|
Loading…
Reference in New Issue
Block a user