summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--string/string.h8
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 73b3bf146e..0aee3ac595 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 1998-05-13  Ulrich Drepper  <drepper@cygnus.com>
 
+	* string/string.h: Don't use the optimized versions for the string
+	functions if optimizing for space.
+
 	* stdlib/tst-strtod.c: Add test for -0.0.
 
 	* io/ftwtest-sh: Prevent tests from being run by root.
diff --git a/string/string.h b/string/string.h
index 266a5d518e..ee69a78d55 100644
--- a/string/string.h
+++ b/string/string.h
@@ -298,7 +298,8 @@ extern char *basename __P ((__const char *__filename));
 #endif
 
 
-#if defined __GNUC__ && __GNUC__ >= 2 && defined __OPTIMIZE__
+#if defined __GNUC__ && __GNUC__ >= 2
+# if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__
 /* When using GNU CC we provide some optimized versions of selected
    functions from this header.  There are two kinds of optimizations:
 
@@ -318,10 +319,11 @@ extern char *basename __P ((__const char *__filename));
    One can inhibit all optimizations by defining __NO_STRING_INLINES.  */
 
 /* Get the machine-dependent optimizations (if any).  */
-# include <bits/string.h>
+#  include <bits/string.h>
 
 /* These are generic optimizations which do not add too much inline code.  */
-# include <bits/string2.h>
+#  include <bits/string2.h>
+# endif
 #endif
 
 __END_DECLS