mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-07 10:00:07 +00:00
8072373ea9
Commit 142e0a9953
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.
38 lines
1.3 KiB
C
38 lines
1.3 KiB
C
/* Multiarch stpcpy for PPC64.
|
|
Copyright (C) 2015-2016 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 Lesser General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2.1 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
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
License along with the GNU C Library; if not, see
|
|
<http://www.gnu.org/licenses/>. */
|
|
|
|
#include <string.h>
|
|
|
|
extern __typeof (memcpy) __memcpy_ppc attribute_hidden;
|
|
extern __typeof (strlen) __strlen_ppc attribute_hidden;
|
|
extern __typeof (stpcpy) __stpcpy_ppc attribute_hidden;
|
|
|
|
#define STPCPY __stpcpy_ppc
|
|
#define memcpy __memcpy_ppc
|
|
#define strlen __strlen_ppc
|
|
|
|
#undef weak_alias
|
|
#define weak_alias(name, aliasname)
|
|
|
|
#undef libc_hidden_def
|
|
#define libc_hidden_def(name)
|
|
#undef libc_hidden_builtin_def
|
|
#define libc_hidden_builtin_def(name)
|
|
|
|
#include <string/stpcpy.c>
|