about summary refs log tree commit diff
path: root/sysdeps/powerpc
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2016-11-30 11:31:41 -0200
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2016-11-30 15:13:26 -0200
commit8072373ea96cb95a0d1cbe97a41a352439b92ea9 (patch)
treead3c62ff15cd85971efc1ead06d3727b741295d1 /sysdeps/powerpc
parentb04beebf0731c0da49bf9113bf299acf56e4c2e5 (diff)
downloadglibc-8072373ea96cb95a0d1cbe97a41a352439b92ea9.tar.gz
glibc-8072373ea96cb95a0d1cbe97a41a352439b92ea9.tar.xz
glibc-8072373ea96cb95a0d1cbe97a41a352439b92ea9.zip
powerpc: Remove stpcpy internal clash with IFUNC
Commit 142e0a99530 redirected the internal stpcpy to default powerpc64
implementation by redefining the weak_alias at
sysdeps/powerpc/powerpc64/multiarch/stpcpy-ppc64.c:

  #undef weak_alias
  #define weak_alias(name, aliasname) \
    extern __typeof (__stpcpy_ppc) aliasname \
      __attribute__ ((weak, alias ("__stpcpy_ppc")));

This creates a __GI_stpcpy alias that clashes with the IFUNC symbol in
stpcpy.os.  There is not need to define the default version for internal
version, since ifunc should work internally for powerpc64.  This patch
removes the weak_alias indirection.

Checked on powerpc64le.

	* sysdeps/powerpc/powerpc64/multiarch/stpcpy-ppc64.c (weak_alias):
	Remove redirection to __stpcpy_ppc.
Diffstat (limited to 'sysdeps/powerpc')
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/stpcpy-ppc64.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sysdeps/powerpc/powerpc64/multiarch/stpcpy-ppc64.c b/sysdeps/powerpc/powerpc64/multiarch/stpcpy-ppc64.c
index d607d8a6de..37a23251d0 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/stpcpy-ppc64.c
+++ b/sysdeps/powerpc/powerpc64/multiarch/stpcpy-ppc64.c
@@ -27,9 +27,7 @@ extern __typeof (stpcpy) __stpcpy_ppc attribute_hidden;
 #define strlen __strlen_ppc
 
 #undef weak_alias
-#define weak_alias(name, aliasname) \
-  extern __typeof (__stpcpy_ppc) aliasname \
-    __attribute__ ((weak, alias ("__stpcpy_ppc")));
+#define weak_alias(name, aliasname)
 
 #undef libc_hidden_def
 #define libc_hidden_def(name)