]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
PowerPC: Fix bzero definition for static libc for PPC64
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Mon, 10 Mar 2014 20:26:20 +0000 (15:26 -0500)
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Tue, 11 Mar 2014 19:22:36 +0000 (14:22 -0500)
This patch fixes an issue for powerpc64[le] static build where __bzero
is definied in multiple places (memset-ppc64.o and bzero.o). It is now
defined only in bzero.o and memset-ppc64.o only defined __bzero_ppc for
both dynamic and static library.

Fixes BZ#16683.

Backport of 4facea473059914983b7da8dd654c06b8e3dcc41

ChangeLog
NEWS
sysdeps/powerpc/powerpc64/multiarch/memset-ppc64.S

index ce9bd4c86608ee93f3bd396ab600006796b6f588..f971a03184be4b82f17b6416b497961557b00141 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2014-03-11  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
+
+       [BZ #16683]
+       * sysdeps/powerpc/powerpc64/multiarch/memset-ppc64.S (__bzero_ppc):
+       Define it for static builds as well.
+       (NO_BZERO_IMPL): Likewise.
+
 2014-03-11  Vidya Ranganathan  <vidya@linux.vnet.ibm.com>
 
        * sysdeps/powerpc/powerpc64/power7/strspn.S: New file: Optimization.
diff --git a/NEWS b/NEWS
index 7b52f1f2b66a5d348e333d0852ccbd3b9eff7cd8..fbd56f6446ed977a32cfe997f194eecf67df10e2 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,7 +9,7 @@ Version 2.19.1
 
 * The following bugs are resolved with this release:
 
-  16545.
+  16545, 16683.
 \f
 Version 2.19
 
index 5b234d9ecbcb10aa79340363e2c61c399bc9f5e4..65b3afe25055db8799d0d92817a1f48bc3c84b9e 100644 (file)
 
 #include <sysdep.h>
 
-#if defined SHARED && !defined NOT_IN_libc
-
 /* Copied from bzero.S to prevent the linker from inserting a stub
-   between bzero and memset.  */
+   between bzero and memset.  NOTE: this code should be positioned
+   before ENTRY/END_GEN_TB redefinition.  */
 ENTRY (__bzero_ppc)
         CALL_MCOUNT 3
         mr      r5,r4
@@ -29,6 +28,8 @@ ENTRY (__bzero_ppc)
         b       L(_memset)
 END_GEN_TB (__bzero_ppc,TB_TOCLESS)
 
+
+#if defined SHARED && !defined NOT_IN_libc
 # undef EALIGN
 # define EALIGN(name, alignt, words)                           \
   .section ".text";                                            \
@@ -48,9 +49,9 @@ END_GEN_TB (__bzero_ppc,TB_TOCLESS)
 # undef libc_hidden_builtin_def
 # define libc_hidden_builtin_def(name)                         \
   .globl __GI_memset; __GI_memset = __memset_ppc
+#endif
 
 /* Do not implement __bzero at powerpc64/memset.S.  */
-# define NO_BZERO_IMPL
-#endif
+#define NO_BZERO_IMPL
 
 #include <sysdeps/powerpc/powerpc64/memset.S>