This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.17-638-gab2b946
- From: jsm28 at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 10 May 2013 11:35:25 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.17-638-gab2b946
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via ab2b94613d85ba9edc659bd5e930b9ab1ec8e8a9 (commit)
from 4c0fe6fe42ecf97c9f7f5a0921638560c89973a2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=ab2b94613d85ba9edc659bd5e930b9ab1ec8e8a9
commit ab2b94613d85ba9edc659bd5e930b9ab1ec8e8a9
Author: Joseph Myers <joseph@codesourcery.com>
Date: Fri May 10 11:35:11 2013 +0000
Fix tgamma errno setting on domain error (bug 6809).
diff --git a/ChangeLog b/ChangeLog
index 1d83c68..fb18690 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2013-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #6809]
+ * math/w_tgamma.c (__tgamma): Also call __kernel_standard for
+ negative infinity argument.
+ * math/w_tgammaf.c (__tgammaf): Also call __kernel_standard_f for
+ negative infinity argument.
+ * math/w_tgammal.c (__tgammal): Also call __kernel_standard_l for
+ negative infinity argument.
+ * math/libm-test.inc (tgamma_test): Expect errno to be set for
+ domain errors.
+
2013-05-10 Florian Weimer <fweimer@redhat.com>
* elf/sprof.c (load_profdata): Use fstat64 instead of fstat.
diff --git a/NEWS b/NEWS
index 01cef27..87d9128 100644
--- a/NEWS
+++ b/NEWS
@@ -9,14 +9,14 @@ Version 2.18
* The following bugs are resolved with this release:
- 2546, 2560, 5159, 10060, 10062, 10357, 11120, 11561, 12723, 13550, 13889,
- 13951, 13988, 14142, 14176, 14200, 14280, 14293, 14317, 14327, 14478,
- 14496, 14686, 14812, 14888, 14920, 14952, 14964, 14981, 14982, 14985,
- 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, 15359, 15361, 15366, 15380, 15394, 15395,
- 15405, 15406, 15409, 15416, 15418, 15419, 15423, 15426, 15429.
+ 2546, 2560, 5159, 6809, 10060, 10062, 10357, 11120, 11561, 12723, 13550,
+ 13889, 13951, 13988, 14142, 14176, 14200, 14280, 14293, 14317, 14327,
+ 14478, 14496, 14686, 14812, 14888, 14920, 14952, 14964, 14981, 14982,
+ 14985, 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, 15359, 15361, 15366, 15380, 15394,
+ 15395, 15405, 15406, 15409, 15416, 15418, 15419, 15423, 15426, 15429.
* CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla
#15078).
diff --git a/math/libm-test.inc b/math/libm-test.inc
index c508af6..1ff59e0 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -13615,9 +13615,9 @@ tgamma_test (void)
TEST_f_f (tgamma, 0, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
TEST_f_f (tgamma, minus_zero, minus_infty, DIVIDE_BY_ZERO_EXCEPTION);
/* tgamma (x) == qNaN plus invalid exception for integer x <= 0. */
- TEST_f_f (tgamma, -2, qnan_value, INVALID_EXCEPTION);
- TEST_f_f (tgamma, -max_value, qnan_value, INVALID_EXCEPTION);
- TEST_f_f (tgamma, minus_infty, qnan_value, INVALID_EXCEPTION);
+ TEST_f_f (tgamma, -2, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM);
+ TEST_f_f (tgamma, -max_value, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM);
+ TEST_f_f (tgamma, minus_infty, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM);
TEST_f_f (tgamma, qnan_value, qnan_value);
TEST_f_f (tgamma, 0.5, M_SQRT_PIl);
diff --git a/math/w_tgamma.c b/math/w_tgamma.c
index 976b5fb..6b6c7c5 100644
--- a/math/w_tgamma.c
+++ b/math/w_tgamma.c
@@ -24,7 +24,8 @@ __tgamma(double x)
int local_signgam;
double y = __ieee754_gamma_r(x,&local_signgam);
- if(__builtin_expect(!__finite(y), 0)&&__finite(x)
+ if(__builtin_expect(!__finite(y), 0)
+ && (__finite (x) || __isinf (x) < 0)
&& _LIB_VERSION != _IEEE_) {
if (x == 0.0)
return __kernel_standard(x,x,50); /* tgamma pole */
diff --git a/math/w_tgammaf.c b/math/w_tgammaf.c
index 4814135..8bb553e 100644
--- a/math/w_tgammaf.c
+++ b/math/w_tgammaf.c
@@ -22,7 +22,8 @@ __tgammaf(float x)
int local_signgam;
float y = __ieee754_gammaf_r(x,&local_signgam);
- if(__builtin_expect(!__finitef(y), 0) && __finitef(x)
+ if(__builtin_expect(!__finitef(y), 0)
+ && (__finitef (x) || __isinff (x) < 0)
&& _LIB_VERSION != _IEEE_) {
if (x == (float)0.0)
/* tgammaf pole */
diff --git a/math/w_tgammal.c b/math/w_tgammal.c
index 86adab2..72b247d 100644
--- a/math/w_tgammal.c
+++ b/math/w_tgammal.c
@@ -27,7 +27,8 @@ __tgammal(long double x)
int local_signgam;
long double y = __ieee754_gammal_r(x,&local_signgam);
- if(__builtin_expect(!__finitel(y), 0) && __finitel(x)
+ if(__builtin_expect(!__finitel(y), 0)
+ && (__finitel (x) || __isinfl (x) < 0)
&& _LIB_VERSION != _IEEE_) {
if(x==0.0)
return __kernel_standard_l(x,x,250); /* tgamma pole */
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 12 ++++++++++++
NEWS | 16 ++++++++--------
math/libm-test.inc | 6 +++---
math/w_tgamma.c | 3 ++-
math/w_tgammaf.c | 3 ++-
math/w_tgammal.c | 3 ++-
6 files changed, 29 insertions(+), 14 deletions(-)
hooks/post-receive
--
GNU C Library master sources