@@ -53,47 +53,15 @@
  ((size_t)(const void *)((__x) + 1) - (size_t)(const void *)(__x) == 1)
Â
 /* Set N bytes of S to 0. */
-#if !defined _HAVE_STRING_ARCH_memset
-# define __bzero(s, n) __builtin_memset (s, '\0', n)
-#endif
-
+#define __bzero(s, n) __builtin_memset (s, '\0', n)
Â
 /* Copy SRC to DEST, returning pointer to final NUL byte. */
-#ifdef __USE_GNU
-# ifndef _HAVE_STRING_ARCH_stpcpy
-#Â define __stpcpy(dest, src) __builtin_stpcpy (dest, src)
-/* In glibc we use this function frequently but for namespace reasons
-  we have to use the name `__stpcpy'. */
-#Â define stpcpy(dest, src) __stpcpy (dest, src)
-# endif
-#endif
-
-
-/* Copy no more than N characters of SRC to DEST. */
-#ifndef _HAVE_STRING_ARCH_strncpy
-# define strncpy(dest, src, n) __builtin_strncpy (dest, src, n)
-#endif
-
-
-/* Append no more than N characters from SRC onto DEST. */
-#ifndef _HAVE_STRING_ARCH_strncat
-# ifdef _USE_STRING_ARCH_strchr
-#Â define strncat(dest, src, n) \
-Â (__extension__ ({ char *__dest = (dest);Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â \
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â __builtin_constant_p (src) && __builtin_constant_p (n)Â Â Â \
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ? (strlen (src) < ((size_t) (n))Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â \
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ? strcat (__dest, src)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â \
-                     : (*((char *) __mempcpy (strchr (__dest, '\0'),        \
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â src, n)) = '\0', __dest))Â Â Â Â \
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â : strncat (dest, src, n); }))
-# else
-#Â define strncat(dest, src, n) __builtin_strncat (dest, src, n)
-# endif
+#ifndef __stpcpy
+# define __stpcpy(dest, src) __builtin_stpcpy (dest, src)
 #endif
Â
-
 /* Compare characters of S1 and S2. */
-#ifndef _HAVE_STRING_ARCH_strcmp
+#ifndef strcmp
 # define strcmp(s1, s2) \
  __extension__                                                                     \
  ({ size_t __s1_len, __s2_len;                                                     \
@@ -139,7 +107,7 @@
Â
Â
 /* Compare N characters of S1 and S2. */
-#ifndef _HAVE_STRING_ARCH_strncmp
+#ifndef strncmp
 # define strncmp(s1, s2, n)                                                  \
  (__extension__ (__builtin_constant_p (n)                                  \
                  && ((__builtin_constant_p (s1)                      \
@@ -150,26 +118,6 @@
 #endif
Â
Â
-/* Return the length of the initial segment of S which
-  consists entirely of characters not in REJECT. */
-#ifndef _HAVE_STRING_ARCH_strcspn
-# define strcspn(s, reject) __builtin_strcspn (s, reject)
-#endif
-
-
-/* Return the length of the initial segment of S which
-  consists entirely of characters in ACCEPT. */
-#ifndef _HAVE_STRING_ARCH_strspn
-# define strspn(s, accept) __builtin_strspn (s, accept)
-#endif
-
-
-/* Find the first occurrence in S of any character in ACCEPT. */
-#ifndef _HAVE_STRING_ARCH_strpbrk
-# define strpbrk(s, accept) __builtin_strpbrk (s, accept)
-#endif
-
-
 #ifndef _FORCE_INLINES
 # undef __STRING_INLINE
 #endif
@@ -31,7 +31,6 @@
Â
 #undef __NO_INLINE__
 #include <bits/string.h>
-#include <bits/string2.h>
Â
 #include "shlib-compat.h"
Â
@@ -37,7 +37,6 @@
 # endif
 #endif
Â
-#define _HAVE_STRING_ARCH_strlen 1
 #ifndef _FORCE_INLINES
 #define strlen(str) __strlen_g ((str))
Â
@@ -60,7 +59,6 @@ __strlen_g (const char *__str)
 #endif
Â
 /* Copy SRC to DEST. */
-#define _HAVE_STRING_ARCH_strcpy 1
 #ifndef _FORCE_INLINES
 #define strcpy(dest, src) __strcpy_g ((dest), (src))
Â
@@ -80,7 +78,6 @@ __strcpy_g (char *__dest, const char *__src)
 }
 #endif
Â
-#define _HAVE_STRING_ARCH_strncpy 1
 #ifndef _FORCE_INLINES
 #define strncpy(dest, src, n) __strncpy_g ((dest), (src), (n))
Â
@@ -124,7 +121,6 @@ __strncpy_g (char *__dest, const char *__src, size_t __n)
 #endif
Â
 /* Append SRC onto DEST. */
-#define _HAVE_STRING_ARCH_strcat 1
 #ifndef _FORCE_INLINES
 #define strcat(dest, src) __strcat_g ((dest), (src))
Â
@@ -156,7 +152,6 @@ __strcat_g (char *__dest, const char *__src)
 #endif
Â
 /* Append no more than N characters from SRC onto DEST. */
-#define _HAVE_STRING_ARCH_strncat 1
 #ifndef _FORCE_INLINES
 #define strncat(dest, src, n) __strncat_g ((dest), (src), (n))
Â
@@ -204,7 +199,6 @@ __strncat_g (char *__dest, const char *__src, size_t __n)
 #endif
Â
 /* Search N bytes of S for C. */
-#define _HAVE_STRING_ARCH_memchr 1
 #ifndef _FORCE_INLINES
 __STRING_INLINE void *
 memchr (const void *__str, int __c, size_t __n)
@@ -227,8 +221,8 @@ memchr (const void *__str, int __c, size_t __n)
 #endif
Â
 /* Compare S1 and S2. */
-#define _HAVE_STRING_ARCH_strcmp 1
 #ifndef _FORCE_INLINES
+#define strcmp(s1, s2) strcmp ((s1), (s2))
 __STRING_INLINE int
 strcmp (const char *__s1, const char *__s2)
 {
@@ -23,9 +23,5 @@
 /* sparc uses the aligned string inline ABI. */
 #define _STRING_INLINE_unaligned 0
Â
-/* sparc32 and sparc64 strchr(x, '\0') perform better than
-  __rawmemchr(x, '\0'). */
-#define _HAVE_STRING_ARCH_strchr 1
-
 /* Don't inline mempcpy into memcpy as sparc has an optimized mempcpy. */
 #define _HAVE_STRING_ARCH_mempcpy 1
@@ -66,7 +66,6 @@
Â
Â
 /* Copy N bytes of SRC to DEST. */
-# define _HAVE_STRING_ARCH_memcpy 1
 # define memcpy(dest, src, n) \
  (__extension__ (__builtin_constant_p (n)                                  \
                  ? __memcpy_c ((dest), (src), (n))                           \
@@ -155,7 +154,6 @@ __memcpy_g (void *__dest, const void *__src, size_t __n)
  return __dest;
 }
Â
-# define _HAVE_STRING_ARCH_memmove 1
 # ifndef _FORCE_INLINES
 /* Copy N bytes of SRC to DEST, guaranteeing
   correct behavior for overlapping strings. */
@@ -194,7 +192,6 @@ __memmove_g (void *__dest, const void *__src, size_t __n)
 # endif
Â
 /* Compare N bytes of S1 and S2. */
-# define _HAVE_STRING_ARCH_memcmp 1
 # ifndef _FORCE_INLINES
 # ifndef __PIC__
 /* gcc has problems to spill registers when using PIC. */
@@ -222,8 +219,6 @@ memcmp (const void *__s1, const void *__s2, size_t __n)
 # endif
Â
 /* Set N bytes of S to C. */
-# define _HAVE_STRING_ARCH_memset 1
-# define _USE_STRING_ARCH_memset 1
 # define memset(s, c, n) \
  (__extension__ (__builtin_constant_p (n) && (n) <= 16                             \
                  ? ((n) == 1                                                 \
@@ -449,7 +444,6 @@ __memset_gcn_by2 (void *__s, int __c, size_t __n)
Â
Â
 /* Search N bytes of S for C. */
-# define _HAVE_STRING_ARCH_memchr 1
 # ifndef _FORCE_INLINES
 __STRING_INLINE void *
 memchr (const void *__s, int __c, size_t __n)
@@ -486,7 +480,6 @@ memchr (const void *__s, int __c, size_t __n)
 }
 # endif
Â
-# define _HAVE_STRING_ARCH_memrchr 1
 # ifndef _FORCE_INLINES
 __STRING_INLINE void *__memrchr (const void *__s, int __c, size_t __n);
Â
@@ -532,7 +525,6 @@ __memrchr (const void *__s, int __c, size_t __n)
 # endif
Â
 /* Return pointer to C in S. */
-# define _HAVE_STRING_ARCH_rawmemchr 1
 __STRING_INLINE void *__rawmemchr (const void *__s, int __c);
Â
 # ifndef _FORCE_INLINES
@@ -561,7 +553,6 @@ rawmemchr (const void *__s, int __c)
Â
Â
 /* Return the length of S. */
-# define _HAVE_STRING_ARCH_strlen 1
 # define strlen(str) \
  (__extension__ (__builtin_constant_p (str)                                \
                  ? __builtin_strlen (str)                                    \
@@ -588,7 +579,6 @@ __strlen_g (const char *__str)
Â
Â
 /* Copy SRC to DEST. */
-# define _HAVE_STRING_ARCH_strcpy 1
 # define strcpy(dest, src) \
  (__extension__ (__builtin_constant_p (src)                                \
                  ? (sizeof ((src)[0]) == 1 && strlen (src) + 1 <= 8          \
@@ -673,7 +663,6 @@ __strcpy_g (char *__dest, const char *__src)
Â
Â
 # ifdef __USE_GNU
-#Â define _HAVE_STRING_ARCH_stpcpy 1
 /* Copy SRC to DEST. */
 # define __stpcpy(dest, src) \
  (__extension__ (__builtin_constant_p (src)                                \
@@ -848,7 +837,6 @@ __stpcpy_g (char *__dest, const char *__src)
Â
Â
 /* Copy no more than N characters of SRC to DEST. */
-# define _HAVE_STRING_ARCH_strncpy 1
 # define strncpy(dest, src, n) \
  (__extension__ (__builtin_constant_p (src)                                \
                  ? ((strlen (src) + 1 >= ((size_t) (n))              \
@@ -980,7 +968,6 @@ __strncpy_gg (char *__dest, const char *__src, size_t __n)
Â
Â
 /* Append SRC onto DEST. */
-# define _HAVE_STRING_ARCH_strcat 1
 # define strcat(dest, src) \
  (__extension__ (__builtin_constant_p (src)                                \
                  ? __strcat_c ((dest), (src), strlen (src) + 1)      \
@@ -1051,7 +1038,6 @@ __strcat_g (char *__dest, const char *__src)
Â
Â
 /* Append no more than N characters from SRC onto DEST. */
-# define _HAVE_STRING_ARCH_strncat 1
 # define strncat(dest, src, n) \
  (__extension__ ({ char *__dest = (dest);                                  \
                    __builtin_constant_p (src) && __builtin_constant_p (n)   \
@@ -1115,7 +1101,6 @@ __strncat_g (char *__dest, const char __src[], size_t __n)
Â
Â
 /* Compare S1 and S2. */
-# define _HAVE_STRING_ARCH_strcmp 1
 # define strcmp(s1, s2) \
  (__extension__ (__builtin_constant_p (s1) && __builtin_constant_p (s2)     \
                  && (sizeof ((s1)[0]) != 1 || strlen (s1) >= 4)      \
@@ -1219,7 +1204,6 @@ __strcmp_gg (const char *__s1, const char *__s2)
Â
Â
 /* Compare N characters of S1 and S2. */
-# define _HAVE_STRING_ARCH_strncmp 1
 # define strncmp(s1, s2, n) \
  (__extension__ (__builtin_constant_p (s1) && strlen (s1) < ((size_t) (n))  \
                  ? strcmp ((s1), (s2))                                       \
@@ -1263,8 +1247,6 @@ __strncmp_g (const char *__s1, const char *__s2, size_t __n)
Â
Â
 /* Find the first occurrence of C in S. */
-# define _HAVE_STRING_ARCH_strchr 1
-# define _USE_STRING_ARCH_strchr 1
 # define strchr(s, c) \
  (__extension__ (__builtin_constant_p (c)                                  \
                  ? ((c) == '\0'                                      \
@@ -1323,7 +1305,6 @@ __strchr_g (const char *__s, int __c)
Â
Â
 /* Find the first occurrence of C in S or the final NUL byte. */
-# define _HAVE_STRING_ARCH_strchrnul 1
 # define __strchrnul(s, c) \
  (__extension__ (__builtin_constant_p (c)                                  \
                  ? ((c) == '\0'                                      \
@@ -1386,7 +1367,6 @@ __strchrnul_g (const char *__s, int __c)
Â
 # if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
 /* Find the first occurrence of C in S. This is the BSD name. */
-#Â define _HAVE_STRING_ARCH_index 1
 # define index(s, c) \
  (__extension__ (__builtin_constant_p (c)                                  \
                  ? __strchr_c ((s), ((c) & 0xff) << 8)                       \
@@ -1395,7 +1375,6 @@ __strchrnul_g (const char *__s, int __c)
Â
Â
 /* Find the last occurrence of C in S. */
-# define _HAVE_STRING_ARCH_strrchr 1
 # define strrchr(s, c) \
  (__extension__ (__builtin_constant_p (c)                                  \
                  ? __strrchr_c ((s), ((c) & 0xff) << 8)              \
@@ -1500,7 +1479,6 @@ __strrchr_g (const char *__s, int __c)
Â
 # if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
 /* Find the last occurrence of C in S. This is the BSD name. */
-#Â define _HAVE_STRING_ARCH_rindex 1
 # define rindex(s, c) \
  (__extension__ (__builtin_constant_p (c)                                  \
                  ? __strrchr_c ((s), ((c) & 0xff) << 8)              \
@@ -1510,7 +1488,6 @@ __strrchr_g (const char *__s, int __c)
Â
 /* Return the length of the initial segment of S which
   consists entirely of characters not in REJECT. */
-# define _HAVE_STRING_ARCH_strcspn 1
 # define strcspn(s, reject) \
  (__extension__ (__builtin_constant_p (reject) && sizeof ((reject)[0]) == 1 \
                  ? ((reject)[0] == '\0'                              \
@@ -1631,7 +1608,6 @@ __strcspn_g (const char *__s, const char *__reject)
Â
 /* Return the length of the initial segment of S which
   consists entirely of characters in ACCEPT. */
-# define _HAVE_STRING_ARCH_strspn 1
 # define strspn(s, accept) \
  (__extension__ (__builtin_constant_p (accept) && sizeof ((accept)[0]) == 1 \
                  ? ((accept)[0] == '\0'                              \
@@ -1751,7 +1727,6 @@ __strspn_g (const char *__s, const char *__accept)
Â
Â
 /* Find the first occurrence in S of any character in ACCEPT. */
-# define _HAVE_STRING_ARCH_strpbrk 1
 # define strpbrk(s, accept) \
  (__extension__ (__builtin_constant_p (accept) && sizeof ((accept)[0]) == 1 \
                  ? ((accept)[0] == '\0'                              \
@@ -1858,7 +1833,6 @@ __strpbrk_g (const char *__s, const char *__accept)
Â
Â
 /* Find the first occurrence of NEEDLE in HAYSTACK. */
-# define _HAVE_STRING_ARCH_strstr 1
 # define strstr(haystack, needle) \
  (__extension__ (__builtin_constant_p (needle) && sizeof ((needle)[0]) == 1 \
                  ? ((needle)[0] == '\0'                              \
@@ -1970,7 +1944,6 @@ __strstr_g (const char *__haystack, const char *__needle)
   processors gcc generates good code. */
 # if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
 # ifdef __i686__
-#Â Â define _HAVE_STRING_ARCH_ffs 1
 #  define ffs(word) (__builtin_constant_p (word)                            \
                      ? __builtin_ffs (word)                                  \
                      : ({ int __cnt, __tmp;                                  \