diff options
Diffstat (limited to 'sysdeps/s390/s390-64')
-rw-r--r-- | sysdeps/s390/s390-64/multiarch/memcmp.c | 7 | ||||
-rw-r--r-- | sysdeps/s390/s390-64/multiarch/memcpy.c | 5 | ||||
-rw-r--r-- | sysdeps/s390/s390-64/multiarch/memset.c | 5 |
3 files changed, 13 insertions, 4 deletions
diff --git a/sysdeps/s390/s390-64/multiarch/memcmp.c b/sysdeps/s390/s390-64/multiarch/memcmp.c index 44f72dc8ca..453b1706f7 100644 --- a/sysdeps/s390/s390-64/multiarch/memcmp.c +++ b/sysdeps/s390/s390-64/multiarch/memcmp.c @@ -17,8 +17,11 @@ <http://www.gnu.org/licenses/>. */ #if IS_IN (libc) +# define memcmp __redirect_memcmp +# include <string.h> +# undef memcmp # include <ifunc-resolve.h> -s390_libc_ifunc (memcmp) -__asm__(".weak bcmp ; bcmp = memcmp"); +s390_libc_ifunc (__redirect_memcmp, __memcmp, memcmp) +weak_alias (memcmp, bcmp); #endif diff --git a/sysdeps/s390/s390-64/multiarch/memcpy.c b/sysdeps/s390/s390-64/multiarch/memcpy.c index 2a98aa0b82..33e4bcdca2 100644 --- a/sysdeps/s390/s390-64/multiarch/memcpy.c +++ b/sysdeps/s390/s390-64/multiarch/memcpy.c @@ -18,7 +18,10 @@ /* In the static lib memcpy is needed before the reloc is resolved. */ #if defined SHARED && IS_IN (libc) +# define memcpy __redirect_memcpy +# include <string.h> +# undef memcpy # include <ifunc-resolve.h> -s390_libc_ifunc (memcpy) +s390_libc_ifunc (__redirect_memcpy, __memcpy, memcpy) #endif diff --git a/sysdeps/s390/s390-64/multiarch/memset.c b/sysdeps/s390/s390-64/multiarch/memset.c index 89b8102f2a..84ddedaf04 100644 --- a/sysdeps/s390/s390-64/multiarch/memset.c +++ b/sysdeps/s390/s390-64/multiarch/memset.c @@ -17,7 +17,10 @@ <http://www.gnu.org/licenses/>. */ #if IS_IN (libc) +# define memset __redirect_memset +# include <string.h> +# undef memset # include <ifunc-resolve.h> -s390_libc_ifunc (memset) +s390_libc_ifunc (__redirect_memset, __memset, memset) #endif |