diff options
author | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2014-03-10 15:26:20 -0500 |
---|---|---|
committer | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2014-03-11 09:31:59 -0500 |
commit | 4facea473059914983b7da8dd654c06b8e3dcc41 (patch) | |
tree | 520c9f3e14f1a1ad5d036b1561d6a02c29567982 | |
parent | e65caf1f1df4ecc122da3d30689ee2e8e2bd354f (diff) | |
download | glibc-4facea473059914983b7da8dd654c06b8e3dcc41.tar.gz glibc-4facea473059914983b7da8dd654c06b8e3dcc41.tar.xz glibc-4facea473059914983b7da8dd654c06b8e3dcc41.zip |
PowerPC: Fix bzero definition for static libc for PPC64
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.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/memset-ppc64.S | 11 |
3 files changed, 14 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog index c1b5622953..3312dcb5f8 100644 --- 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 64a05000b0..df126f3d3b 100644 --- a/NEWS +++ b/NEWS @@ -10,7 +10,7 @@ Version 2.20 * The following bugs are resolved with this release: 15347, 15804, 15894, 16447, 16532, 16545, 16574, 16600, 16609, 16610, - 16611, 16613, 16623, 16632, 16639, 16670, 16674. + 16611, 16613, 16623, 16632, 16639, 16670, 16674, 16683. * The am33 port, which had not worked for several years, has been removed from ports. diff --git a/sysdeps/powerpc/powerpc64/multiarch/memset-ppc64.S b/sysdeps/powerpc/powerpc64/multiarch/memset-ppc64.S index 5b234d9ecb..65b3afe250 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/memset-ppc64.S +++ b/sysdeps/powerpc/powerpc64/multiarch/memset-ppc64.S @@ -18,10 +18,9 @@ #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> |