[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r23033 - in /fsf/trunk/libc: ./ elf/ math/ nptl/ sysdeps/ieee754/ldbl-128/ sysdeps/ieee754/ldbl-128ibm/
- To: commits@xxxxxxxxxx
- Subject: [Commits] r23033 - in /fsf/trunk/libc: ./ elf/ math/ nptl/ sysdeps/ieee754/ldbl-128/ sysdeps/ieee754/ldbl-128ibm/
- From: eglibc@xxxxxxxxxx
- Date: Fri, 10 May 2013 00:01:58 -0000
Author: eglibc
Date: Fri May 10 00:01:56 2013
New Revision: 23033
Log:
Import glibc-mainline for 2013-05-10
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/NEWS
fsf/trunk/libc/elf/dl-close.c
fsf/trunk/libc/math/libm-test.inc
fsf/trunk/libc/nptl/ChangeLog
fsf/trunk/libc/nptl/tst-mutex8.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri May 10 00:01:56 2013
@@ -1,3 +1,31 @@
+2013-05-09 Carlos O'Donell <carlos@xxxxxxxxxx>
+
+ * elf/dl-close.c (_dl_close_worker): Add comments.
+
+2013-05-09 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ [BZ #15359]
+ * sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c (c): Use 106 bits for
+ high part of pi/2.
+ (__ieee754_rem_pio2l): Update comments.
+
+ [BZ #15429]
+ * sysdeps/ieee754/ldbl-128/e_rem_pio2l.c (c): Use 113 bits for
+ high part of pi/2.
+ (__ieee754_rem_pio2l): Update comments.
+
+ * math/libm-test.inc (M_SQRT_2_2): Remove macro.
+ (csqrt_test): Use M_SQRT1_2l instead of M_SQRT_2_2.
+
+ * math/libm-test.inc (carg_test): Use M_PI_34l instead of 3 *
+ M_PI_4l.
+
+ * math/libm-test.inc (M_PI_34l): Define using decimal constant.
+ (M_PI_34_LOG10El): Likewise.
+ (M_PI2_LOG10El): Likewise.
+ (M_PI4_LOG10El): Likewise.
+ (M_PI_LOG10El): Likewise.
+
2013-05-08 Adhemerval Zanella <azanella@xxxxxxxxxxxxxxxxxx>
* sysdeps/powerpc/fpu/libm-test-ulps: Update.
Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Fri May 10 00:01:56 2013
@@ -15,8 +15,8 @@
14994, 14996, 15003, 15006, 15007, 15020, 15023, 15036, 15054, 15055,
15062, 15078, 15084, 15085, 15086, 15160, 15214, 15221, 15232, 15234,
15283, 15285, 15287, 15304, 15305, 15307, 15309, 15327, 15330, 15335,
- 15336, 15337, 15342, 15346, 15361, 15366, 15380, 15394, 15405, 15406,
- 15409, 15416, 15418, 15419, 15423, 15426.
+ 15336, 15337, 15342, 15346, 15359, 15361, 15366, 15380, 15394, 15405,
+ 15406, 15409, 15416, 15418, 15419, 15423, 15426, 15429.
* CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla
#15078).
Modified: fsf/trunk/libc/elf/dl-close.c
==============================================================================
--- fsf/trunk/libc/elf/dl-close.c (original)
+++ fsf/trunk/libc/elf/dl-close.c Fri May 10 00:01:56 2013
@@ -183,6 +183,8 @@
/* Mark all dependencies as used. */
if (l->l_initfini != NULL)
{
+ /* We are always the zeroth entry, and since we don't include
+ ourselves in the dependency analysis start at 1. */
struct link_map **lp = &l->l_initfini[1];
while (*lp != NULL)
{
@@ -193,6 +195,10 @@
if (!used[(*lp)->l_idx])
{
used[(*lp)->l_idx] = 1;
+ /* If we marked a new object as used, and we've
+ already processed it, then we need to go back
+ and process again from that point forward to
+ ensure we keep all of its dependencies also. */
if ((*lp)->l_idx - 1 < done_index)
done_index = (*lp)->l_idx - 1;
}
Modified: fsf/trunk/libc/math/libm-test.inc
==============================================================================
--- fsf/trunk/libc/math/libm-test.inc (original)
+++ fsf/trunk/libc/math/libm-test.inc Fri May 10 00:01:56 2013
@@ -207,12 +207,11 @@
#define M_SQRT_PIl 1.7724538509055160272981674833411451L /* sqrt (M_PIl) */
#define M_LOG_SQRT_PIl 0.57236494292470008707171367567652933L /* log(sqrt(M_PIl)) */
#define M_LOG_2_SQRT_PIl 1.265512123484645396488945797134706L /* log(2*sqrt(M_PIl)) */
-#define M_PI_34l (M_PIl - M_PI_4l) /* 3*pi/4 */
-#define M_PI_34_LOG10El (M_PIl - M_PI_4l) * M_LOG10El
-#define M_PI2_LOG10El M_PI_2l * M_LOG10El
-#define M_PI4_LOG10El M_PI_4l * M_LOG10El
-#define M_PI_LOG10El M_PIl * M_LOG10El
-#define M_SQRT_2_2 0.70710678118654752440084436210484903L /* sqrt (2) / 2 */
+#define M_PI_34l 2.356194490192344928846982537459627163L /* 3*pi/4 */
+#define M_PI_34_LOG10El 1.023282265381381010614337719073516828L
+#define M_PI2_LOG10El 0.682188176920920673742891812715677885L
+#define M_PI4_LOG10El 0.341094088460460336871445906357838943L
+#define M_PI_LOG10El 1.364376353841841347485783625431355770L
#define ulps_file_name "ULPs" /* Name of the ULPs file. */
static FILE *ulps_file; /* File to document difference. */
@@ -3031,9 +3030,9 @@
TEST_c_f (carg, plus_infty, minus_infty, -M_PI_4l);
- TEST_c_f (carg, minus_infty, plus_infty, 3 * M_PI_4l);
-
- TEST_c_f (carg, minus_infty, minus_infty, -3 * M_PI_4l);
+ TEST_c_f (carg, minus_infty, plus_infty, M_PI_34l);
+
+ TEST_c_f (carg, minus_infty, minus_infty, -M_PI_34l);
TEST_c_f (carg, qnan_value, qnan_value, qnan_value);
@@ -7081,7 +7080,7 @@
TEST_c_c (csqrt, -2, 3, 0.89597747612983812471573375529004348L, 1.6741492280355400404480393008490519L);
/* Principal square root should be returned (i.e., non-negative real
part). */
- TEST_c_c (csqrt, 0, -1, M_SQRT_2_2, -M_SQRT_2_2);
+ TEST_c_c (csqrt, 0, -1, M_SQRT1_2l, -M_SQRT1_2l);
TEST_c_c (csqrt, 0x1.fffffep+127L, 0x1.fffffep+127L, 2.026714405498316804978751017492482558075e+19L, 8.394925938143272988211878516208015586281e+18L);
TEST_c_c (csqrt, 0x1.fffffep+127L, 1.0L, 1.844674352395372953599975585936590505260e+19L, 2.710505511993121390769065968615872097053e-20L);
Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Fri May 10 00:01:56 2013
@@ -1,3 +1,7 @@
+2013-05-09 Andi Kleen <ak@xxxxxxxxxxxxxxx>
+
+ * tst-mutex8.c (do_test): Check for ENABLE_PI.
+
2013-04-22 Siddhesh Poyarekar <siddhesh@xxxxxxxxxx>
* pthreadP.h (check_sched_policy_attr): New inline function.
Modified: fsf/trunk/libc/nptl/tst-mutex8.c
==============================================================================
--- fsf/trunk/libc/nptl/tst-mutex8.c (original)
+++ fsf/trunk/libc/nptl/tst-mutex8.c Fri May 10 00:01:56 2013
@@ -333,6 +333,13 @@
puts ("1st mutexattr_settype failed");
return 1;
}
+#ifdef ENABLE_PI
+ if (pthread_mutexattr_setprotocol (&ma, PTHREAD_PRIO_INHERIT))
+ {
+ puts ("1st pthread_mutexattr_setprotocol failed");
+ return 1;
+ }
+#endif
puts ("check recursive mutex");
res |= check_type ("recursive", &ma);
if (pthread_mutexattr_destroy (&ma) != 0)
@@ -351,6 +358,13 @@
puts ("2nd mutexattr_settype failed");
return 1;
}
+#ifdef ENABLE_PI
+ if (pthread_mutexattr_setprotocol (&ma, PTHREAD_PRIO_INHERIT))
+ {
+ puts ("2nd pthread_mutexattr_setprotocol failed");
+ return 1;
+ }
+#endif
puts ("check error-checking mutex");
res |= check_type ("error-checking", &ma);
if (pthread_mutexattr_destroy (&ma) != 0)
Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c Fri May 10 00:01:56 2013
@@ -184,13 +184,13 @@
};
static const long double c[] = {
-/* 93 bits of pi/2 */
+/* 113 bits of pi/2 */
#define PI_2_1 c[0]
- 1.57079632679489661923132169155131424e+00L, /* 3fff921fb54442d18469898cc5100000 */
+ 0x1.921fb54442d18469898cc51701b8p+0L,
/* pi/2 - PI_2_1 */
#define PI_2_1t c[1]
- 8.84372056613570112025531863263659260e-29L, /* 3fa1c06e0e68948127044533e63a0106 */
+ 0x3.9a252049c1114cf98e804177d4c8p-116L,
};
int32_t __ieee754_rem_pio2l(long double x, long double *y)
@@ -213,7 +213,7 @@
{
if (hx > 0)
{
- /* 113 + 93 bit PI is ok */
+ /* 113 + 113 bit PI is ok */
z = x - PI_2_1;
y[0] = z - PI_2_1t;
y[1] = (z - y[0]) - PI_2_1t;
@@ -221,7 +221,7 @@
}
else
{
- /* 113 + 93 bit PI is ok */
+ /* 113 + 113 bit PI is ok */
z = x + PI_2_1;
y[0] = z + PI_2_1t;
y[1] = (z - y[0]) + PI_2_1t;
Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c Fri May 10 00:01:56 2013
@@ -185,13 +185,13 @@
};
static const long double c[] = {
-/* 93 bits of pi/2 */
+/* 106 bits of pi/2 */
#define PI_2_1 c[0]
- 1.57079632679489661923132169155131424e+00L, /* 3fff921fb54442d18469898cc5100000 */
+ 0x1.921fb54442d18469898cc517018p+0L,
/* pi/2 - PI_2_1 */
#define PI_2_1t c[1]
- 8.84372056613570112025531863263659260e-29L, /* 3fa1c06e0e68948127044533e63a0106 */
+ 0x3.839a252049c1114cf98e804178p-108L,
};
int32_t __ieee754_rem_pio2l(long double x, long double *y)
@@ -216,7 +216,7 @@
{
if (hx > 0)
{
- /* 113 + 93 bit PI is ok */
+ /* 106 + 106 bit PI is ok */
z = x - PI_2_1;
y[0] = z - PI_2_1t;
y[1] = (z - y[0]) - PI_2_1t;
@@ -224,7 +224,7 @@
}
else
{
- /* 113 + 93 bit PI is ok */
+ /* 106 + 106 bit PI is ok */
z = x + PI_2_1;
y[0] = z + PI_2_1t;
y[1] = (z - y[0]) + PI_2_1t;
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits