summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Schmidt <bernds_cb1@t-online.de>2008-06-04 14:02:56 +0000
committerBernd Schmidt <bernds_cb1@t-online.de>2008-06-04 14:02:56 +0000
commit6d7aed92f2715b3db4472b748fef06f1eaf6b30e (patch)
treebb9b3359ac32888f3ffdfbe01b5bea7729085050
parent542bc8ee466d7a42c85bc160ab2b6529410211d6 (diff)
This fixes a problem with the move of libc_hidden_proto to string.h.
The obsolete functions bcopy, index, etc. are not supposed to be used within uClibc itself. Hence, there is no libc_hidden_def for them, but the previous patch did not just move libc_hidden_protos, it also added new ones for the legacy functions. As a result, programs which use these functions can no longer link with uClibc. This fixes it by removing the unnecessary libc_hidden_protos. I've also removed all inclusions of <strings.h> from uClibc source files: since we define _GNU_SOURCE, it is sufficient to include <string.h>. We then do not need to duplicate the libc_hidden_proto block in <strings.h>.
-rw-r--r--include/string.h9
-rw-r--r--include/strings.h18
-rw-r--r--libc/inet/resolv.c1
-rw-r--r--libc/inet/rpc/ruserpass.c1
-rw-r--r--libc/misc/regex/regex.c1
-rw-r--r--libc/misc/time/time.c1
-rw-r--r--libc/misc/wchar/wchar.c1
-rw-r--r--libc/stdlib/realpath.c1
-rw-r--r--libc/string/ffs.c1
-rw-r--r--libc/string/strcasecmp.c1
-rw-r--r--libc/string/strncasecmp.c1
11 files changed, 3 insertions, 33 deletions
diff --git a/include/string.h b/include/string.h
index cd57de1a5..5c631de52 100644
--- a/include/string.h
+++ b/include/string.h
@@ -503,13 +503,8 @@ libc_hidden_proto(strerror)
libc_hidden_proto(__bzero)
#endif
#ifdef __USE_BSD
-# ifdef __UCLIBC_SUSV3_LEGACY__
-libc_hidden_proto(bcopy)
-libc_hidden_proto(bzero)
-libc_hidden_proto(bcmp)
-libc_hidden_proto(index)
-libc_hidden_proto(rindex)
-# endif
+/* No libc_hidden_proto for bcopy etc., since uClibc doesn't itself use the
+ legacy functions. */
libc_hidden_proto(ffs)
#if 0 /*def __USE_GNU*/
libc_hidden_proto(ffsl)
diff --git a/include/strings.h b/include/strings.h
index 89349f94d..550f4ab9c 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -92,23 +92,7 @@ __END_DECLS
#ifdef UCLIBC_INTERNAL
-/* In the same order and with the same defines */
-# ifdef __UCLIBC_SUSV3_LEGACY__
-libc_hidden_proto(bcopy)
-libc_hidden_proto(bzero)
-libc_hidden_proto(bcmp)
-libc_hidden_proto(index)
-libc_hidden_proto(rindex)
-# endif
-libc_hidden_proto(ffs)
-# if 0 /*def __USE_GNU*/
-libc_hidden_proto(ffsl)
-# ifdef __GNUC__
-libc_hidden_proto(ffsll)
-# endif
-# endif
-libc_hidden_proto(strcasecmp)
-libc_hidden_proto(strncasecmp)
+#error "<strings.h> should not be included from libc."
#endif
diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c
index 7bc46f227..b799b0d81 100644
--- a/libc/inet/resolv.c
+++ b/libc/inet/resolv.c
@@ -136,7 +136,6 @@
#define __FORCE_GLIBC
#include <features.h>
#include <string.h>
-#include <strings.h>
#include <stdio.h>
#include <signal.h>
#include <errno.h>
diff --git a/libc/inet/rpc/ruserpass.c b/libc/inet/rpc/ruserpass.c
index 7a839c3a8..75d68dd91 100644
--- a/libc/inet/rpc/ruserpass.c
+++ b/libc/inet/rpc/ruserpass.c
@@ -41,7 +41,6 @@
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
-#include <strings.h>
#include <unistd.h>
/* Experimentally off - libc_hidden_proto(strcat) */
diff --git a/libc/misc/regex/regex.c b/libc/misc/regex/regex.c
index db758f215..10229a265 100644
--- a/libc/misc/regex/regex.c
+++ b/libc/misc/regex/regex.c
@@ -36,7 +36,6 @@
#include <stdbool.h>
#include <stdint.h>
#include <string.h>
-#include <strings.h>
#include <stdlib.h>
#ifdef __UCLIBC_HAS_WCHAR__
#define RE_ENABLE_I18N
diff --git a/libc/misc/time/time.c b/libc/misc/time/time.c
index 0108e0f61..2d980a068 100644
--- a/libc/misc/time/time.c
+++ b/libc/misc/time/time.c
@@ -133,7 +133,6 @@
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
-#include <strings.h>
#include <time.h>
#include <sys/time.h>
#include <limits.h>
diff --git a/libc/misc/wchar/wchar.c b/libc/misc/wchar/wchar.c
index 1550fa576..bfe41af83 100644
--- a/libc/misc/wchar/wchar.c
+++ b/libc/misc/wchar/wchar.c
@@ -1191,7 +1191,6 @@ typedef struct {
#include <iconv.h>
#include <string.h>
-#include <strings.h>
#include <endian.h>
#include <byteswap.h>
diff --git a/libc/stdlib/realpath.c b/libc/stdlib/realpath.c
index 557d74555..e9eabdfaa 100644
--- a/libc/stdlib/realpath.c
+++ b/libc/stdlib/realpath.c
@@ -14,7 +14,6 @@
#include <unistd.h>
#include <stdio.h>
#include <string.h>
-#include <strings.h>
#include <limits.h> /* for PATH_MAX */
#include <sys/param.h> /* for MAXPATHLEN */
#include <errno.h>
diff --git a/libc/string/ffs.c b/libc/string/ffs.c
index 0857a3220..f7d94ebf0 100644
--- a/libc/string/ffs.c
+++ b/libc/string/ffs.c
@@ -8,7 +8,6 @@
/* ffsl,ffsll */
#include "_string.h"
-#include <strings.h>
/* Experimentally off - libc_hidden_proto(ffs) */
diff --git a/libc/string/strcasecmp.c b/libc/string/strcasecmp.c
index 8a7836d82..f9852236b 100644
--- a/libc/string/strcasecmp.c
+++ b/libc/string/strcasecmp.c
@@ -6,7 +6,6 @@
*/
#include "_string.h"
-#include <strings.h>
#include <ctype.h>
#include <locale.h>
diff --git a/libc/string/strncasecmp.c b/libc/string/strncasecmp.c
index ab84be7ba..ed052fa21 100644
--- a/libc/string/strncasecmp.c
+++ b/libc/string/strncasecmp.c
@@ -6,7 +6,6 @@
*/
#include "_string.h"
-#include <strings.h>
#include <ctype.h>
#include <locale.h>