This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch ibm/2.16/master updated. glibc-2.16.0-32-g3b49844
- From: tuliom at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 29 Apr 2013 18:24:52 -0000
- Subject: GNU C Library master sources branch ibm/2.16/master updated. glibc-2.16.0-32-g3b49844
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, ibm/2.16/master has been updated
via 3b498440aac70e994f32f45a31102964313af690 (commit)
via 8282b7f2aa6380e8a91515f748d4693d8151fc4f (commit)
via 17e599d2613c2a2e4cb6d5c3f9d5f626879aa63f (commit)
from 60dc6d12c5c61b05013cb15f63349dd3d343f26d (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=3b498440aac70e994f32f45a31102964313af690
commit 3b498440aac70e994f32f45a31102964313af690
Author: Andreas Schwab <schwab@suse.de>
Date: Wed Nov 28 10:24:06 2012 +0100
Properly handle indirect functions in ABI check on powerpc64
diff --git a/ChangeLog b/ChangeLog
index 06993a5..96e1d81 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-11-28 Andreas Schwab <schwab@suse.de>
+
+ * scripts/abilist.awk: Also handle indirect functions in .opd
+ section.
+
2013-04-26 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
* sysdeps/powerpc/power5/fpu/s_modf.c: Moved to ...
diff --git a/scripts/abilist.awk b/scripts/abilist.awk
index 1c1d41d..6d58f66 100644
--- a/scripts/abilist.awk
+++ b/scripts/abilist.awk
@@ -81,7 +81,7 @@ $2 == "g" || $2 == "w" && (NF == 7 || NF == 8) {
type = "F";
size = "";
}
- else if (type == "iD" && $4 == ".text") {
+ else if (type == "iD" && ($4 == ".text" || $4 == ".opd")) {
# Indirect functions.
type = "F";
size = "";
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=8282b7f2aa6380e8a91515f748d4693d8151fc4f
commit 8282b7f2aa6380e8a91515f748d4693d8151fc4f
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date: Fri Apr 26 13:00:56 2013 -0500
PowerPC: modf optimization fix
This patch fix the 3c0265394d9ffedff2b0de508602dc52e077ce5c commits
by correctly setting minimum architecture for modf PPC optimization
to power5+ instead of power5 (since only on power5+ round/ceil will
be inline to inline assembly).
diff --git a/ChangeLog b/ChangeLog
index 7882fd8..06993a5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2013-04-26 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
+
+ * sysdeps/powerpc/power5/fpu/s_modf.c: Moved to ...
+ * sysdeps/powerpc/power5+/fpu/s_modf.c: ... this.
+ * sysdeps/powerpc/power5/fpu/s_modff.c: Moved to ...
+ * sysdeps/powerpc/power5+/fpu/s_modff.c: ... this.
+ * sysdeps/powerpc/powerpc32/power5+/Implies: Add powerpc/power5+ and
+ powerpc/power5+/fpu folders.
+ * sysdeps/powerpc/powerpc64/power5+/Implies: Likewise.
+
2013-04-23 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
* sysdeps/powerpc/power5/fpu/s_modf.c: New file: modf optimization for
diff --git a/sysdeps/powerpc/power5/fpu/s_modf.c b/sysdeps/powerpc/power5+/fpu/s_modf.c
similarity index 100%
rename from sysdeps/powerpc/power5/fpu/s_modf.c
rename to sysdeps/powerpc/power5+/fpu/s_modf.c
diff --git a/sysdeps/powerpc/power5/fpu/s_modff.c b/sysdeps/powerpc/power5+/fpu/s_modff.c
similarity index 100%
rename from sysdeps/powerpc/power5/fpu/s_modff.c
rename to sysdeps/powerpc/power5+/fpu/s_modff.c
diff --git a/sysdeps/powerpc/powerpc32/power5+/Implies b/sysdeps/powerpc/powerpc32/power5+/Implies
index a51d2fd..02d222d 100644
--- a/sysdeps/powerpc/powerpc32/power5+/Implies
+++ b/sysdeps/powerpc/powerpc32/power5+/Implies
@@ -1,2 +1,4 @@
+powerpc/power5+/fpu
+powerpc/power5+
powerpc/powerpc32/power5/fpu
powerpc/powerpc32/power5
diff --git a/sysdeps/powerpc/powerpc64/power5+/Implies b/sysdeps/powerpc/powerpc64/power5+/Implies
index a01a13a..565bc94 100644
--- a/sysdeps/powerpc/powerpc64/power5+/Implies
+++ b/sysdeps/powerpc/powerpc64/power5+/Implies
@@ -1,2 +1,4 @@
+powerpc/power5+/fpu
+powerpc/power5+
powerpc/powerpc64/power5/fpu
powerpc/powerpc64/power5
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=17e599d2613c2a2e4cb6d5c3f9d5f626879aa63f
commit 17e599d2613c2a2e4cb6d5c3f9d5f626879aa63f
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date: Mon Mar 25 16:10:06 2013 -0500
PowerPC: modf optimization
This patch implements modf/modff optimization for POWER by focus
on FP operations instead of relying in integer ones.
diff --git a/ChangeLog b/ChangeLog
index 197da7f..7882fd8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2013-04-23 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
+
+ * sysdeps/powerpc/power5/fpu/s_modf.c: New file: modf optimization for
+ POWER.
+ * sysdeps/powerpc/power5/fpu/s_modff.c: New file: modff optimization
+ for POWER.
+ * sysdeps/powerpc/powerpc64/power5/Implies: Add powerpc/power5 and
+ powerpc/power5/fpu folders.
+ * sysdeps/powerpc/powerpc32/power5/Implies: Likewise.
+ * benchtests/Makefile: Add modf testcase.
+ * benchtests/bench-modf.c: New file: Benchmark test for mo
+
+
2013-01-09 Anton Blanchard <anton@samba.org>
* sysdeps/unix/sysv/linux/powerpc/sched_getcpu.c: New file.
diff --git a/sysdeps/powerpc/power5/fpu/s_modf.c b/sysdeps/powerpc/power5/fpu/s_modf.c
new file mode 100644
index 0000000..b45bf66
--- /dev/null
+++ b/sysdeps/powerpc/power5/fpu/s_modf.c
@@ -0,0 +1,58 @@
+/* Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If
+ not, see <http://www.gnu.org/licenses/>. */
+
+#include <math.h>
+#include <math_private.h>
+#include <math_ldbl_opt.h>
+
+double
+__modf (double x, double *iptr)
+{
+ if (__builtin_isinf (x))
+ {
+ *iptr = x;
+ return __copysign (0.0, x);
+ }
+ else if (__builtin_isnan (x))
+ {
+ *iptr = NAN;
+ return NAN;
+ }
+
+ if (x >= 0.0)
+ {
+ *iptr = __floor (x);
+ return (x - *iptr);
+ }
+ else
+ {
+ *iptr = __ceil (x);
+ return (x - *iptr);
+ }
+}
+weak_alias (__modf, modf)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__modf, __modfl)
+weak_alias (__modf, modfl)
+#endif
+#ifdef IS_IN_libm
+# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
+compat_symbol (libm, __modf, modfl, GLIBC_2_0);
+# endif
+#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
+compat_symbol (libc, __modf, modfl, GLIBC_2_0);
+#endif
diff --git a/sysdeps/powerpc/power5/fpu/s_modff.c b/sysdeps/powerpc/power5/fpu/s_modff.c
new file mode 100644
index 0000000..55759cd
--- /dev/null
+++ b/sysdeps/powerpc/power5/fpu/s_modff.c
@@ -0,0 +1,46 @@
+/* Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If
+ not, see <http://www.gnu.org/licenses/>. */
+
+#include <math.h>
+#include <math_private.h>
+
+float
+__modff (float x, float *iptr)
+{
+ if (__builtin_isinff (x))
+ {
+ *iptr = x;
+ return __copysignf (0.0, x);
+ }
+ else if (__builtin_isnanf (x))
+ {
+ *iptr = NAN;
+ return NAN;
+ }
+
+ if (x >= 0.0)
+ {
+ *iptr = __floorf (x);
+ return (x - *iptr);
+ }
+ else
+ {
+ *iptr = __ceilf (x);
+ return (x - *iptr);
+ }
+}
+weak_alias (__modff, modff)
diff --git a/sysdeps/powerpc/powerpc32/power5/Implies b/sysdeps/powerpc/powerpc32/power5/Implies
index 17139bf..17949d4 100644
--- a/sysdeps/powerpc/powerpc32/power5/Implies
+++ b/sysdeps/powerpc/powerpc32/power5/Implies
@@ -1,2 +1,4 @@
+powerpc/power5/fpu
+powerpc/power5
powerpc/powerpc32/power4/fpu
powerpc/powerpc32/power4
diff --git a/sysdeps/powerpc/powerpc64/power5/Implies b/sysdeps/powerpc/powerpc64/power5/Implies
index bedb20b..b36831e 100644
--- a/sysdeps/powerpc/powerpc64/power5/Implies
+++ b/sysdeps/powerpc/powerpc64/power5/Implies
@@ -1,2 +1,4 @@
+powerpc/power5/fpu
+powerpc/power5
powerpc/powerpc64/power4/fpu
powerpc/powerpc64/power4
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 28 ++++++++++
scripts/abilist.awk | 2 +-
sysdeps/powerpc/power5+/fpu/s_modf.c | 58 ++++++++++++++++++++
.../smp.h => sysdeps/powerpc/power5+/fpu/s_modff.c | 35 ++++++++++--
sysdeps/powerpc/powerpc32/power5+/Implies | 2 +
sysdeps/powerpc/powerpc32/power5/Implies | 2 +
sysdeps/powerpc/powerpc64/power5+/Implies | 2 +
sysdeps/powerpc/powerpc64/power5/Implies | 2 +
8 files changed, 124 insertions(+), 7 deletions(-)
create mode 100644 sysdeps/powerpc/power5+/fpu/s_modf.c
copy nptl/sysdeps/unix/sysv/linux/sh/smp.h => sysdeps/powerpc/power5+/fpu/s_modff.c (57%)
hooks/post-receive
--
GNU C Library master sources