diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/i386/i486/bits/string.h | 7 | ||||
-rw-r--r-- | sysdeps/s390/bits/string.h | 14 |
2 files changed, 19 insertions, 2 deletions
diff --git a/sysdeps/i386/i486/bits/string.h b/sysdeps/i386/i486/bits/string.h index cf5f4847fa..9f05c7e655 100644 --- a/sysdeps/i386/i486/bits/string.h +++ b/sysdeps/i386/i486/bits/string.h @@ -145,8 +145,13 @@ __memcpy_g (void *__dest, __const void *__src, size_t __n) #ifndef _FORCE_INLINES /* Copy N bytes of SRC to DEST, guaranteeing correct behavior for overlapping strings. */ +#define memmove(dest, src, n) __memmove_g (dest, src, n) + +__STRING_INLINE void *__memmove_g (void *, __const void *, size_t) + __asm__ ("memmove"); + __STRING_INLINE void * -memmove (void *__dest, __const void *__src, size_t __n) +__memmove_g (void *__dest, __const void *__src, size_t __n) { register unsigned long int __d0, __d1, __d2; register void *__tmp = __dest; diff --git a/sysdeps/s390/bits/string.h b/sysdeps/s390/bits/string.h index b2a3ba9c98..49103b9438 100644 --- a/sysdeps/s390/bits/string.h +++ b/sysdeps/s390/bits/string.h @@ -42,6 +42,8 @@ #ifndef _FORCE_INLINES #define strlen(str) __strlen_g ((str)) +__STRING_INLINE size_t __strlen_g (__const char *) __asm__ ("strlen"); + __STRING_INLINE size_t __strlen_g (__const char *__str) { @@ -63,6 +65,8 @@ __strlen_g (__const char *__str) #ifndef _FORCE_INLINES #define strcpy(dest, src) __strcpy_g ((dest), (src)) +__STRING_INLINE char *__strcpy_g (char *, __const char *) __asm ("strcpy"); + __STRING_INLINE char * __strcpy_g (char *__dest, __const char *__src) { @@ -81,6 +85,9 @@ __strcpy_g (char *__dest, __const char *__src) #ifndef _FORCE_INLINES #define strncpy(dest, src, n) __strncpy_g ((dest), (src), (n)) +__STRING_INLINE char *__strncpy_g (char *, __const char *, size_t) + __asm__ ("strncpy"); + __STRING_INLINE char * __strncpy_g (char *__dest, __const char *__src, size_t __n) { @@ -122,8 +129,10 @@ __strncpy_g (char *__dest, __const char *__src, size_t __n) #ifndef _FORCE_INLINES #define strcat(dest, src) __strcat_g ((dest), (src)) +__STRING_INLINE char *__strcat_g (char *, __const char *) __asm__ ("strcat"); + __STRING_INLINE char * -__strcat_g(char *__dest, const char *__src) +__strcat_g (char *__dest, __const char *__src) { char *__ret = __dest; char *__ptr, *__tmp; @@ -152,6 +161,9 @@ __strcat_g(char *__dest, const char *__src) #ifndef _FORCE_INLINES #define strncat(dest, src, n) __strncat_g ((dest), (src), (n)) +__STRING_INLINE char *__strncat_g (char *, __const char *, size_t) + __asm__ ("strncat"); + __STRING_INLINE char * __strncat_g (char *__dest, __const char *__src, size_t __n) { |