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.19/master updated. glibc-2.19-34-g010c023
- From: azanella at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 7 Jun 2014 13:30:17 -0000
- Subject: GNU C Library master sources branch ibm/2.19/master updated. glibc-2.19-34-g010c023
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.19/master has been updated
via 010c023685495f4cd907b7bf7d15375edcbe1ead (commit)
via 6f0aba1acab171bd853905b66c551336aa0adcf9 (commit)
from e40df8c4677611afc48601472675593dfd087e4b (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=010c023685495f4cd907b7bf7d15375edcbe1ead
commit 010c023685495f4cd907b7bf7d15375edcbe1ead
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date: Fri Jun 6 09:37:07 2014 -0500
PowerPC: Fix optimized strncat strlen call
This patch fixes the optimized ppc64/power7 strncat strlen call for
static build without ifunc enabled. The strlen symbol to call in such
situation is just strlen, instead of __GI_strlen (since the __GI_
alias is just created for shared objects).
It is a backport of ed36bfa18faf9be457575568e64b8409e46caa22.
diff --git a/ChangeLog b/ChangeLog
index 2b48b1f..d7fd998 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2014-06-06 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
+ * sysdeps/powerpc/powerpc64/power7/strncat.S [STRLEN]: Define it as
+ strlen for non SHARED builds.
+
* sysdeps/powerpc/powerpc32/power6x/fpu/Implies: New file.
* sysdeps/powerpc/powerpc64/power6x/fpu/Implies: new file.
* sysdeps/powerpc/powerpc64/power6x/multiarch/Implies: New file.
diff --git a/sysdeps/powerpc/powerpc64/power7/strncat.S b/sysdeps/powerpc/powerpc64/power7/strncat.S
index e7e36a4..f5ea52d 100644
--- a/sysdeps/powerpc/powerpc64/power7/strncat.S
+++ b/sysdeps/powerpc/powerpc64/power7/strncat.S
@@ -40,7 +40,11 @@
#ifndef STRLEN
/* For builds with no IFUNC support, local calls should be made to internal
GLIBC symbol (created by libc_hidden_builtin_def). */
-# define STRLEN __GI_strlen
+# ifdef SHARED
+# define STRLEN __GI_strlen
+# else
+# define STRLEN strlen
+# endif
#endif
#define FRAMESIZE (FRAME_MIN_SIZE+32)
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=6f0aba1acab171bd853905b66c551336aa0adcf9
commit 6f0aba1acab171bd853905b66c551336aa0adcf9
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date: Tue Apr 8 17:25:14 2014 -0500
PowerPC: Fix --disable-multi-arch builds
This patch fixes some powerpc32 and powerpc64 builds with
--disable-multi-arch option along with different --with-cpu=powerN.
It cleanups the Implies directories by removing the multiarch
folder for non multiarch config and also fixing two assembly
implementations: powerpc64/power7/strncat.S that is calling the
wrong strlen; and power8/fpu/s_isnan.S that misses the hidden_def and
weak_alias directives.
It is a backport of de21c33c068c8e39afb5711613a7c083c11ce6a1.
diff --git a/ChangeLog b/ChangeLog
index 0013bcb..2b48b1f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2014-06-06 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
+
+ * sysdeps/powerpc/powerpc32/power6x/fpu/Implies: New file.
+ * sysdeps/powerpc/powerpc64/power6x/fpu/Implies: new file.
+ * sysdeps/powerpc/powerpc64/power6x/multiarch/Implies: New file.
+ * sysdeps/powerpc/powerpc64/power5+/fpu/Implies: Remove multiarch
+ imply folder.
+ * sysdeps/powerpc/powerpc64/power5/fpu/Implies: Likewise.
+ * sysdeps/powerpc/powerpc64/power7/fpu/Implies: Likewise.
+ * sysdeps/powerpc/powerpc64/power8/fpu/Implies: Likewise.
+ * sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies: Adjust
+ correct imply path.
+ * sysdeps/powerpc/powerpc64/power7/strncat.S (STRLEN): Define correct
+ strlen symbol for non multi-arch builds.
+ * sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S (__isnan): Add
+ missing hidden_def and weak_alias.
+
2014-05-26 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
* sysdeps/powerpc/powerpc32/power4/memset.S (memset): Replace insrdi
diff --git a/sysdeps/powerpc/powerpc32/power6x/fpu/Implies b/sysdeps/powerpc/powerpc32/power6x/fpu/Implies
new file mode 100644
index 0000000..d53ce25
--- /dev/null
+++ b/sysdeps/powerpc/powerpc32/power6x/fpu/Implies
@@ -0,0 +1 @@
+powerpc/powerpc32/power6/fpu
diff --git a/sysdeps/powerpc/powerpc64/power5+/fpu/Implies b/sysdeps/powerpc/powerpc64/power5+/fpu/Implies
index c0e6784..f00c50f 100644
--- a/sysdeps/powerpc/powerpc64/power5+/fpu/Implies
+++ b/sysdeps/powerpc/powerpc64/power5+/fpu/Implies
@@ -1 +1 @@
-powerpc/powerpc64/power5/fpu/multiarch
+powerpc/powerpc64/power5/fpu
diff --git a/sysdeps/powerpc/powerpc64/power5/fpu/Implies b/sysdeps/powerpc/powerpc64/power5/fpu/Implies
index 3740d05..6b8c23e 100644
--- a/sysdeps/powerpc/powerpc64/power5/fpu/Implies
+++ b/sysdeps/powerpc/powerpc64/power5/fpu/Implies
@@ -1 +1 @@
-powerpc/powerpc64/power4/fpu/multiarch
+powerpc/powerpc64/power4/fpu/
diff --git a/sysdeps/powerpc/powerpc64/power6x/fpu/Implies b/sysdeps/powerpc/powerpc64/power6x/fpu/Implies
new file mode 100644
index 0000000..30fa176
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/power6x/fpu/Implies
@@ -0,0 +1 @@
+powerpc/powerpc64/power6/fpu
diff --git a/sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies b/sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies
index f54ff23..410d289 100644
--- a/sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies
+++ b/sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies
@@ -1 +1 @@
-sysdeps/powerpc/powerpc64/power6/fpu/multiarch
+powerpc/powerpc64/power6/fpu/multiarch
diff --git a/sysdeps/powerpc/powerpc64/power6x/multiarch/Implies b/sysdeps/powerpc/powerpc64/power6x/multiarch/Implies
new file mode 100644
index 0000000..bf5d617
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/power6x/multiarch/Implies
@@ -0,0 +1 @@
+powerpc/powerpc64/power6/multiarch
diff --git a/sysdeps/powerpc/powerpc64/power7/fpu/Implies b/sysdeps/powerpc/powerpc64/power7/fpu/Implies
index 410d289..30fa176 100644
--- a/sysdeps/powerpc/powerpc64/power7/fpu/Implies
+++ b/sysdeps/powerpc/powerpc64/power7/fpu/Implies
@@ -1 +1 @@
-powerpc/powerpc64/power6/fpu/multiarch
+powerpc/powerpc64/power6/fpu
diff --git a/sysdeps/powerpc/powerpc64/power7/strncat.S b/sysdeps/powerpc/powerpc64/power7/strncat.S
index 1a1a95e..e7e36a4 100644
--- a/sysdeps/powerpc/powerpc64/power7/strncat.S
+++ b/sysdeps/powerpc/powerpc64/power7/strncat.S
@@ -38,7 +38,9 @@
#endif
#ifndef STRLEN
-# define STRLEN __strlen_ppc
+/* For builds with no IFUNC support, local calls should be made to internal
+ GLIBC symbol (created by libc_hidden_builtin_def). */
+# define STRLEN __GI_strlen
#endif
#define FRAMESIZE (FRAME_MIN_SIZE+32)
diff --git a/sysdeps/powerpc/powerpc64/power8/fpu/Implies b/sysdeps/powerpc/powerpc64/power8/fpu/Implies
index 7fd86fd..1187cdf 100644
--- a/sysdeps/powerpc/powerpc64/power8/fpu/Implies
+++ b/sysdeps/powerpc/powerpc64/power8/fpu/Implies
@@ -1 +1 @@
-powerpc/powerpc64/power7/fpu/multiarch
+powerpc/powerpc64/power7/fpu/
diff --git a/sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S b/sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S
index b03c896..cf119e5 100644
--- a/sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S
+++ b/sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S
@@ -39,6 +39,9 @@ EALIGN (__isnan, 4, 0)
blr
END (__isnan)
+hidden_def (__isnan)
+weak_alias (__isnan, isnan)
+
/* It turns out that the 'double' version will also always work for
single-precision. */
strong_alias (__isnan, __isnanf)
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 20 ++++++++++++++++++++
sysdeps/powerpc/powerpc32/power6x/fpu/Implies | 1 +
sysdeps/powerpc/powerpc64/power5+/fpu/Implies | 2 +-
sysdeps/powerpc/powerpc64/power5/fpu/Implies | 2 +-
sysdeps/powerpc/powerpc64/power6x/fpu/Implies | 1 +
.../powerpc64/power6x/fpu/multiarch/Implies | 2 +-
.../{power7 => power6x}/multiarch/Implies | 0
sysdeps/powerpc/powerpc64/power7/fpu/Implies | 2 +-
sysdeps/powerpc/powerpc64/power7/strncat.S | 8 +++++++-
sysdeps/powerpc/powerpc64/power8/fpu/Implies | 2 +-
sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S | 3 +++
11 files changed, 37 insertions(+), 6 deletions(-)
create mode 100644 sysdeps/powerpc/powerpc32/power6x/fpu/Implies
create mode 100644 sysdeps/powerpc/powerpc64/power6x/fpu/Implies
copy sysdeps/powerpc/powerpc64/{power7 => power6x}/multiarch/Implies (100%)
hooks/post-receive
--
GNU C Library master sources