summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-08-10 07:54:55 +0000
committerRoland McGrath <roland@gnu.org>2002-08-10 07:54:55 +0000
commit5656e2948f2afcf5ace45b01ac2589ded742e6d3 (patch)
tree7a5b35444b78bad89084fad7895f912345f9c7d4
parentaa97cce121d02ec55e603616b027d9a2ecec475c (diff)
downloadglibc-5656e2948f2afcf5ace45b01ac2589ded742e6d3.tar.gz
glibc-5656e2948f2afcf5ace45b01ac2589ded742e6d3.tar.xz
glibc-5656e2948f2afcf5ace45b01ac2589ded742e6d3.zip
* include/bits/dlfcn.h: New file.
	* elf/dl-profstub.c (_dl_mcount_wrapper_check): Add libc_hidden_def.

	* include/grp.h (_nss_files_parse_grent): Add libc_hidden_proto.
	* include/netinet/ether.h (_nss_files_parse_etherent): Likewise.
	* include/rpc/netdb.h (_nss_files_parse_rpcent): Likewise.
	* include/pwd.h (_nss_files_parse_pwent): Likewise.
	* include/shadow.h (_nss_files_parse_spent): Likewise.
	* include/netdb.h (_nss_files_parse_protoent,
	_nss_files_parse_servent, _nss_files_parse_netent): Likewise.
	* nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define.
	(LINE_PARSER): Use it.
	* nss/nsswitch.h (__nss_hostname_digits_dots): Add libc_hidden_proto.
	* nss/digits_dots.c (__nss_hostname_digits_dots): Add libc_hidden_def.

	* include/wctype.h (iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
	towlower, towupper): Add prototypes here too.  Add libc_hidden_proto.
	* wctype/wcfuncs ((iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
	towlower, towupper): Add libc_hidden_weak.

	* libio/oldiopopen.c: Move #if SHLIB_COMPAT after _IO_HAVE_SYS_WAIT
	#endif.

	* manual/debug.texi (%MENU%): Remove trailing dot.
	Reported by <hayastan132@hotmail.com>.
-rw-r--r--ChangeLog26
-rw-r--r--elf/dl-profstub.c1
-rw-r--r--include/bits/dlfcn.h4
-rw-r--r--include/grp.h1
-rw-r--r--include/netdb.h4
-rw-r--r--include/netinet/ether.h1
-rw-r--r--include/pwd.h1
-rw-r--r--include/rpc/netdb.h1
-rw-r--r--include/shadow.h1
-rw-r--r--include/wctype.h32
-rw-r--r--libio/oldiopopen.c6
-rw-r--r--manual/debug.texi2
-rw-r--r--nss/digits_dots.c1
-rw-r--r--nss/nss_files/files-parse.c5
-rw-r--r--nss/nsswitch.h1
15 files changed, 81 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index d51c0e4cb0..144ab85e87 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,31 @@
 2002-08-09  Jakub Jelinek  <jakub@redhat.com>
 
+	* include/bits/dlfcn.h: New file.
+	* elf/dl-profstub.c (_dl_mcount_wrapper_check): Add libc_hidden_def.
+
+	* include/grp.h (_nss_files_parse_grent): Add libc_hidden_proto.
+	* include/netinet/ether.h (_nss_files_parse_etherent): Likewise.
+	* include/rpc/netdb.h (_nss_files_parse_rpcent): Likewise.
+	* include/pwd.h (_nss_files_parse_pwent): Likewise.
+	* include/shadow.h (_nss_files_parse_spent): Likewise.
+	* include/netdb.h (_nss_files_parse_protoent,
+	_nss_files_parse_servent, _nss_files_parse_netent): Likewise.
+	* nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define.
+	(LINE_PARSER): Use it.
+	* nss/nsswitch.h (__nss_hostname_digits_dots): Add libc_hidden_proto.
+	* nss/digits_dots.c (__nss_hostname_digits_dots): Add libc_hidden_def.
+
+	* include/wctype.h (iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
+	towlower, towupper): Add prototypes here too.  Add libc_hidden_proto.
+	* wctype/wcfuncs ((iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
+	towlower, towupper): Add libc_hidden_weak.
+
+	* libio/oldiopopen.c: Move #if SHLIB_COMPAT after _IO_HAVE_SYS_WAIT
+	#endif.
+
+	* manual/debug.texi (%MENU%): Remove trailing dot.
+	Reported by <hayastan132@hotmail.com>.
+
 	* sysdeps/unix/sysv/linux/ia64/syscalls.list (llseek): Add lseek
 	aliases.
 	(lseek): Dummy.
diff --git a/elf/dl-profstub.c b/elf/dl-profstub.c
index 45fb4e987c..c8184b9aad 100644
--- a/elf/dl-profstub.c
+++ b/elf/dl-profstub.c
@@ -40,3 +40,4 @@ _dl_mcount_wrapper_check (void *selfpc)
   if (GL(dl_profile_map) != NULL)
     _dl_mcount ((ElfW(Addr)) RETURN_ADDRESS (0), (ElfW(Addr)) selfpc);
 }
+libc_hidden_def (_dl_mcount_wrapper_check)
diff --git a/include/bits/dlfcn.h b/include/bits/dlfcn.h
new file mode 100644
index 0000000000..cb4a5c202b
--- /dev/null
+++ b/include/bits/dlfcn.h
@@ -0,0 +1,4 @@
+#include_next <bits/dlfcn.h>
+
+extern void _dl_mcount_wrapper_check (void *__selfpc);
+libc_hidden_proto (_dl_mcount_wrapper_check)
diff --git a/include/grp.h b/include/grp.h
index 984483bc5e..4469d789c8 100644
--- a/include/grp.h
+++ b/include/grp.h
@@ -31,6 +31,7 @@ struct parser_data;
 extern int _nss_files_parse_grent (char *line, struct group *result,
 				   struct parser_data *data,
 				   size_t datalen, int *errnop);
+libc_hidden_proto (_nss_files_parse_grent)
 
 #define DECLARE_NSS_PROTOTYPES(service)					   \
 extern enum nss_status _nss_ ## service ## _setgrent (int);		   \
diff --git a/include/netdb.h b/include/netdb.h
index 9b1a1abb9b..3f3fc18743 100644
--- a/include/netdb.h
+++ b/include/netdb.h
@@ -199,7 +199,9 @@ extern enum nss_status _nss_netgroup_parseline (char **cursor,
 						struct __netgrent *result,
 						char *buffer, size_t buflen,
 						int *errnop);
-
+libc_hidden_proto (_nss_files_parse_protoent)
+libc_hidden_proto (_nss_files_parse_servent)
+libc_hidden_proto (_nss_files_parse_netent)
 
 #define DECLARE_NSS_PROTOTYPES(service)					      \
 extern enum nss_status _nss_ ## service ## _setprotoent (int);		      \
diff --git a/include/netinet/ether.h b/include/netinet/ether.h
index bf016547b0..2a9efae0bf 100644
--- a/include/netinet/ether.h
+++ b/include/netinet/ether.h
@@ -17,6 +17,7 @@ struct parser_data;
 extern int _nss_files_parse_etherent (char *line, struct etherent *result,
 				      struct parser_data *data,
 				      size_t datalen, int *errnop);
+libc_hidden_proto (_nss_files_parse_etherent)
 
 #define DECLARE_NSS_PROTOTYPES(service)					      \
 extern enum nss_status _nss_ ## service ## _setetherent (int __stayopen);     \
diff --git a/include/pwd.h b/include/pwd.h
index 374f02a7e3..ef9b61a614 100644
--- a/include/pwd.h
+++ b/include/pwd.h
@@ -29,6 +29,7 @@ struct parser_data;
 extern int _nss_files_parse_pwent (char *line, struct passwd *result,
 				   struct parser_data *data,
 				   size_t datalen, int *errnop);
+libc_hidden_proto (_nss_files_parse_pwent)
 
 #define DECLARE_NSS_PROTOTYPES(service)					\
 extern enum nss_status _nss_ ## service ## _setpwent (int);		\
diff --git a/include/rpc/netdb.h b/include/rpc/netdb.h
index 71c4a09411..ad7cff1a6e 100644
--- a/include/rpc/netdb.h
+++ b/include/rpc/netdb.h
@@ -26,6 +26,7 @@ struct parser_data;
 extern int _nss_files_parse_rpcent (char *line, struct rpcent *result,
 				    struct parser_data *data,
 				    size_t datalen, int *errnop);
+libc_hidden_proto (_nss_files_parse_rpcent)
 
 #define DECLARE_NSS_PROTOTYPES(service)					      \
 extern enum nss_status _nss_ ## service ## _setrpcent (int);		      \
diff --git a/include/shadow.h b/include/shadow.h
index 3891d79865..166f6846b2 100644
--- a/include/shadow.h
+++ b/include/shadow.h
@@ -26,6 +26,7 @@ struct parser_data;
 extern int _nss_files_parse_spent (char *line, struct spwd *result,
 				   struct parser_data *data,
 				   size_t datalen, int *errnop);
+libc_hidden_proto (_nss_files_parse_spent)
 
 #define DECLARE_NSS_PROTOTYPES(service)					\
 extern enum nss_status _nss_ ## service ## _setspent (int);		\
diff --git a/include/wctype.h b/include/wctype.h
index 5f818decaa..d094d624c5 100644
--- a/include/wctype.h
+++ b/include/wctype.h
@@ -1,5 +1,37 @@
 #ifndef _WCTYPE_H
 
+/* We try to get wint_t from <stddef.h>, but not all GCC versions define it
+   there.  So define it ourselves if it remains undefined.  */
+# define __need_wint_t
+# include <stddef.h>
+# ifndef _WINT_T
+/* Integral type unchanged by default argument promotions that can
+   hold any value corresponding to members of the extended character
+   set, as well as at least one value that does not correspond to any
+   member of the extended character set.  */
+#  define _WINT_T
+typedef unsigned int wint_t;
+# endif
+
+/* Need to repeat these prototypes here, as wctype/wctype.h defines all
+   these as macros and thus we couldn't add libc_hidden_proto.  */
+
+extern int iswalpha (wint_t __wc);
+extern int iswdigit (wint_t __wc);
+extern int iswlower (wint_t __wc);
+extern int iswspace (wint_t __wc);
+extern int iswxdigit (wint_t __wc);
+extern wint_t towlower (wint_t __wc);
+extern wint_t towupper (wint_t __wc);
+
+libc_hidden_proto (iswalpha)
+libc_hidden_proto (iswdigit)
+libc_hidden_proto (iswlower)
+libc_hidden_proto (iswspace)
+libc_hidden_proto (iswxdigit)
+libc_hidden_proto (towlower)
+libc_hidden_proto (towupper)
+
 #include <wctype/wctype.h>
 
 /* Internal interfaces.  */
diff --git a/libio/oldiopopen.c b/libio/oldiopopen.c
index d57ec02e2c..b818af4180 100644
--- a/libio/oldiopopen.c
+++ b/libio/oldiopopen.c
@@ -43,9 +43,6 @@
 #include <sys/types.h>
 #include <sys/wait.h>
 
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
-
 #ifndef _IO_fork
 #ifdef _LIBC
 #define _IO_fork __vfork
@@ -57,6 +54,9 @@ extern _IO_pid_t _IO_fork __P ((void));
 
 #endif /* _IO_HAVE_SYS_WAIT */
 
+#include <shlib-compat.h>
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
+
 #ifndef _IO_pipe
 #ifdef _LIBC
 #define _IO_pipe __pipe
diff --git a/manual/debug.texi b/manual/debug.texi
index a6ec0c4d56..b2bcb31a10 100644
--- a/manual/debug.texi
+++ b/manual/debug.texi
@@ -1,6 +1,6 @@
 @node Debugging Support
 @c @node Debugging Support, , Cryptographic Functions, Top
-@c %MENU% Functions to help debugging applications.
+@c %MENU% Functions to help debugging applications
 @chapter Debugging support
 
 Applications are usually debugged using dedicated debugger programs.
diff --git a/nss/digits_dots.c b/nss/digits_dots.c
index 7321ec072f..4dc897c32c 100644
--- a/nss/digits_dots.c
+++ b/nss/digits_dots.c
@@ -354,3 +354,4 @@ __nss_hostname_digits_dots (const char *name, struct hostent *resbuf,
 done:
   return 1;
 }
+libc_hidden_def (__nss_hostname_digits_dots)
diff --git a/nss/nss_files/files-parse.c b/nss/nss_files/files-parse.c
index 4e0fffa4f1..739ee541aa 100644
--- a/nss/nss_files/files-parse.c
+++ b/nss/nss_files/files-parse.c
@@ -68,10 +68,12 @@ struct parser_data
 /* The function can't be exported, because the entdata structure
    is defined only in files-foo.c.  */
 # define parser_stclass static inline
+# define nss_files_parse_hidden_def(name)
 #else
 /* Export the line parser function so it can be used in nss_db.  */
 # define parser_stclass /* Global */
 # define parse_line CONCAT(_nss_files_parse_,ENTNAME)
+# define nss_files_parse_hidden_def(name) libc_hidden_def (name)
 #endif
 
 
@@ -101,7 +103,8 @@ parse_line (char *line, struct STRUCTURE *result,			      \
   BODY;									      \
   TRAILING_LIST_PARSER;							      \
   return 1;								      \
-}
+}									      \
+nss_files_parse_hidden_def (parse_line)
 
 
 # define STRING_FIELD(variable, terminator_p, swallow)			      \
diff --git a/nss/nsswitch.h b/nss/nsswitch.h
index c4d0aa6f66..b5e4fc344f 100644
--- a/nss/nsswitch.h
+++ b/nss/nsswitch.h
@@ -168,5 +168,6 @@ extern int __nss_hostname_digits_dots (const char *name,
 				       struct hostent **result,
 				       enum nss_status *status, int *typep,
 				       int flags, int *afp, int *h_errnop);
+libc_hidden_proto (__nss_hostname_digits_dots)
 
 #endif	/* nsswitch.h */