diff options
author | Bernd Schmidt <bernds_cb1@t-online.de> | 2008-06-04 14:02:56 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds_cb1@t-online.de> | 2008-06-04 14:02:56 +0000 |
commit | 6d7aed92f2715b3db4472b748fef06f1eaf6b30e (patch) | |
tree | bb9b3359ac32888f3ffdfbe01b5bea7729085050 | |
parent | 542bc8ee466d7a42c85bc160ab2b6529410211d6 (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.h | 9 | ||||
-rw-r--r-- | include/strings.h | 18 | ||||
-rw-r--r-- | libc/inet/resolv.c | 1 | ||||
-rw-r--r-- | libc/inet/rpc/ruserpass.c | 1 | ||||
-rw-r--r-- | libc/misc/regex/regex.c | 1 | ||||
-rw-r--r-- | libc/misc/time/time.c | 1 | ||||
-rw-r--r-- | libc/misc/wchar/wchar.c | 1 | ||||
-rw-r--r-- | libc/stdlib/realpath.c | 1 | ||||
-rw-r--r-- | libc/string/ffs.c | 1 | ||||
-rw-r--r-- | libc/string/strcasecmp.c | 1 | ||||
-rw-r--r-- | libc/string/strncasecmp.c | 1 |
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> |