OSDN Git Service

This fixes a problem with the move of libc_hidden_proto to string.h.
authorBernd Schmidt <bernds_cb1@t-online.de>
Wed, 4 Jun 2008 14:02:56 +0000 (14:02 -0000)
committerBernd Schmidt <bernds_cb1@t-online.de>
Wed, 4 Jun 2008 14:02:56 +0000 (14:02 -0000)
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>.

include/string.h
include/strings.h
libc/inet/resolv.c
libc/inet/rpc/ruserpass.c
libc/misc/regex/regex.c
libc/misc/time/time.c
libc/misc/wchar/wchar.c
libc/stdlib/realpath.c
libc/string/ffs.c
libc/string/strcasecmp.c
libc/string/strncasecmp.c

index cd57de1..5c631de 100644 (file)
@@ -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)
index 89349f9..550f4ab 100644 (file)
@@ -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
 
 
index 7bc46f2..b799b0d 100644 (file)
 #define __FORCE_GLIBC
 #include <features.h>
 #include <string.h>
-#include <strings.h>
 #include <stdio.h>
 #include <signal.h>
 #include <errno.h>
index 7a839c3..75d68dd 100644 (file)
@@ -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) */
index db758f2..10229a2 100644 (file)
@@ -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
index 0108e0f..2d980a0 100644 (file)
 #include <stdlib.h>
 #include <stddef.h>
 #include <string.h>
-#include <strings.h>
 #include <time.h>
 #include <sys/time.h>
 #include <limits.h>
index 1550fa5..bfe41af 100644 (file)
@@ -1191,7 +1191,6 @@ typedef struct {
 
 #include <iconv.h>
 #include <string.h>
-#include <strings.h>
 #include <endian.h>
 #include <byteswap.h>
 
index 557d745..e9eabdf 100644 (file)
@@ -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>
index 0857a32..f7d94eb 100644 (file)
@@ -8,7 +8,6 @@
 /* ffsl,ffsll */
 
 #include "_string.h"
-#include <strings.h>
 
 /* Experimentally off - libc_hidden_proto(ffs) */
 
index 8a7836d..f985223 100644 (file)
@@ -6,7 +6,6 @@
  */
 
 #include "_string.h"
-#include <strings.h>
 #include <ctype.h>
 #include <locale.h>
 
index ab84be7..ed052fa 100644 (file)
@@ -6,7 +6,6 @@
  */
 
 #include "_string.h"
-#include <strings.h>
 #include <ctype.h>
 #include <locale.h>