summary refs log tree commit diff
path: root/sysdeps/i386/bits/string.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/i386/bits/string.h')
-rw-r--r--sysdeps/i386/bits/string.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/sysdeps/i386/bits/string.h b/sysdeps/i386/bits/string.h
index 2931684781..c6deb2b6a4 100644
--- a/sysdeps/i386/bits/string.h
+++ b/sysdeps/i386/bits/string.h
@@ -18,11 +18,17 @@
    Boston, MA 02111-1307, USA.  */
 
 #ifndef _STRING_H
-#error "Never use <bits/string.h> directly; include <string.h> instead."
+# error "Never use <bits/string.h> directly; include <string.h> instead."
 #endif
 
-/* We only provide optimizations for the GNU CC.  */
-#if defined __GNUC__ && __GNUC__ >= 2
+/* The ix86 processors can access unaligned multi-byte variables.  */
+#define _STRING_ARCH_unaligned	1
+
+
+/* We only provide optimizations if the user selects them and if
+   GNU CC is used.  */
+#if !defined __NO_STRING_INLINES && defined __USE_STRING_INLINES \
+    && defined __GNUC__ && __GNUC__ >= 2
 
 #ifdef __cplusplus
 # define __STRING_INLINE inline
@@ -741,4 +747,4 @@ strstr (__const char *__haystack, __const char *__needle)
 
 #undef __STRING_INLINE
 
-#endif	/* GNU CC */
+#endif	/* use string inlines && GNU CC */