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-699-g48a18de
- From: siddhesh at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 17 May 2013 13:40:07 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.17-699-g48a18de
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 48a18de1e1e7dfeab6d034765caaf732b53cfcb7 (commit)
from 13d3b41a36c4f28d171a144f8a9baad3a8835981 (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=48a18de1e1e7dfeab6d034765caaf732b53cfcb7
commit 48a18de1e1e7dfeab6d034765caaf732b53cfcb7
Author: Siddhesh Poyarekar <siddhesh@redhat.com>
Date: Fri May 17 19:10:33 2013 +0530
Prevent optimizing out of benchmark function call
Resolves: #15424
The compiler would optimize the benchmark function call out of the
loop and call it only once, resulting in blazingly fast times for some
benchmarks (notably atan, sin and cos). Mark the inputs as volatile
so that the code is forced to read again from the input for each
iteration.
diff --git a/ChangeLog b/ChangeLog
index 78d4804..58b87d4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2013-05-17 Siddhesh Poyarekar <siddhesh@redhat.com>
+
+ [BZ #15424]
+ * benchtests/bench-modf.c (struct args): Mark arg0 as
+ volatile.
+ * scripts/bench.pl: Mark members of struct args as volatile.
+
2013-05-17 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
* sysdeps/powerpc/fpu/e_hypot.c (GET_TWO_FLOAT_WORD): Fix test for
diff --git a/NEWS b/NEWS
index 86c287f..57c7ee0 100644
--- a/NEWS
+++ b/NEWS
@@ -17,7 +17,7 @@ Version 2.18
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, 15442, 15448.
+ 15418, 15419, 15423, 15424, 15426, 15429, 15442, 15448.
* CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla
#15078).
diff --git a/benchtests/bench-modf.c b/benchtests/bench-modf.c
index 7fae7dc..2b50665 100644
--- a/benchtests/bench-modf.c
+++ b/benchtests/bench-modf.c
@@ -21,7 +21,7 @@ extern double modf (double, double *);
struct args
{
- double arg0;
+ volatile double arg0;
} in[] =
{
{ 42.42 },
diff --git a/scripts/bench.pl b/scripts/bench.pl
index dcc5ead..dcf1355 100755
--- a/scripts/bench.pl
+++ b/scripts/bench.pl
@@ -71,7 +71,7 @@ else {
$decl = "$decl,";
}
- $arg_struct = "$arg_struct $arg arg$num;";
+ $arg_struct = "$arg_struct volatile $arg arg$num;";
$bench_func = "$bench_func variants[v].in[i].arg$num";
$decl = "$decl $arg";
$num = $num + 1;
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 7 +++++++
NEWS | 2 +-
benchtests/bench-modf.c | 2 +-
scripts/bench.pl | 2 +-
4 files changed, 10 insertions(+), 3 deletions(-)
hooks/post-receive
--
GNU C Library master sources