diff --git a/ChangeLog b/ChangeLog index d51c0e4cb0..144ab85e87 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,31 @@ 2002-08-09 Jakub Jelinek + * 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 . + * 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 + +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 , but not all GCC versions define it + there. So define it ourselves if it remains undefined. */ +# define __need_wint_t +# include +# 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 /* 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 #include -#include -#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 +#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 */