about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--dlfcn/failtest.c2
-rw-r--r--dlfcn/glrefmain.c2
-rw-r--r--dlfcn/tst-dladdr.c1
-rw-r--r--elf/dl-profile.c2
-rw-r--r--include/fenv.h13
-rw-r--r--include/grp.h13
-rw-r--r--include/netinet/ether.h29
-rw-r--r--include/pwd.h14
-rw-r--r--include/shadow.h10
-rw-r--r--include/stdio.h5
-rw-r--r--nis/nis_intern.h3
-rw-r--r--nis/nss_nis/nis-ethers.c2
-rw-r--r--nis/nss_nisplus/nisplus-ethers.c6
-rw-r--r--nss/XXX-lookup.c4
-rw-r--r--nss/nss_files/files-ethers.c11
-rw-r--r--resolv/res_data.c3
-rw-r--r--string/test-ffs.c5
-rw-r--r--sunrpc/des_soft.c2
18 files changed, 99 insertions, 28 deletions
diff --git a/dlfcn/failtest.c b/dlfcn/failtest.c
index 50bbf10596..e0ac4ef638 100644
--- a/dlfcn/failtest.c
+++ b/dlfcn/failtest.c
@@ -52,6 +52,8 @@ main (void)
 }
 
 
+extern void foo (void);
+
 void
 foo (void)
 {
diff --git a/dlfcn/glrefmain.c b/dlfcn/glrefmain.c
index efb080a261..38408c227a 100644
--- a/dlfcn/glrefmain.c
+++ b/dlfcn/glrefmain.c
@@ -35,6 +35,8 @@ load (const char *name)
 
 
 #define TEST_FUNCTION do_test ()
+extern int do_test (void);
+
 int
 do_test (void)
 {
diff --git a/dlfcn/tst-dladdr.c b/dlfcn/tst-dladdr.c
index 5493a15112..fb666ef889 100644
--- a/dlfcn/tst-dladdr.c
+++ b/dlfcn/tst-dladdr.c
@@ -26,6 +26,7 @@
 
 
 #define TEST_FUNCTION do_test ()
+extern int do_test (void);
 
 int
 do_test (void)
diff --git a/elf/dl-profile.c b/elf/dl-profile.c
index b9d1287b12..53b26d51a2 100644
--- a/elf/dl-profile.c
+++ b/elf/dl-profile.c
@@ -538,5 +538,7 @@ _dl_mcount (ElfW(Addr) frompc, ElfW(Addr) selfpc)
 #if 0
   /* XXX See above,  Shouldn't be necessary anymore.  */
   state = GMON_PROF_ON;
+#else
+  ;
 #endif
 }
diff --git a/include/fenv.h b/include/fenv.h
index b2da08406c..b7db444a39 100644
--- a/include/fenv.h
+++ b/include/fenv.h
@@ -1 +1,14 @@
+#ifndef _FENV_H
 #include <math/fenv.h>
+
+/* Now define the internal interfaces.  */
+
+extern int __feclearexcept (int __excepts);
+extern int __fegetexceptflag (fexcept_t *__flagp, int __excepts);
+extern int __feraiseexcept (int __excepts);
+extern int __fesetexceptflag (__const fexcept_t *__flagp, int __excepts);
+extern int __fegetenv (fenv_t *__envp);
+extern int __fesetenv (__const fenv_t *__envp);
+extern int __feupdateenv (__const fenv_t *__envp);
+
+#endif
diff --git a/include/grp.h b/include/grp.h
index bb5a0408b5..6b13ea1b3d 100644
--- a/include/grp.h
+++ b/include/grp.h
@@ -4,6 +4,8 @@
 /* Now define the internal interfaces.  */
 extern int __getgrent_r (struct group *__resultbuf, char *buffer,
 			 size_t __buflen, struct group **__result);
+extern int __old_getgrent_r (struct group *__resultbuf, char *buffer,
+			     size_t __buflen, struct group **__result);
 extern int __fgetgrent_r (FILE * __stream, struct group *__resultbuf,
 			  char *buffer, size_t __buflen,
 			  struct group **__result);
@@ -12,11 +14,22 @@ extern int __fgetgrent_r (FILE * __stream, struct group *__resultbuf,
 extern int __getgrgid_r (__gid_t __gid, struct group *__resultbuf,
 			 char *__buffer, size_t __buflen,
 			 struct group **__result);
+extern int __old_getgrgid_r (__gid_t __gid, struct group *__resultbuf,
+			     char *__buffer, size_t __buflen,
+			     struct group **__result);
 
 /* Search for an entry with a matching group name.  */
 extern int __getgrnam_r (__const char *__name, struct group *__resultbuf,
 			 char *__buffer, size_t __buflen,
 			 struct group **__result);
+extern int __old_getgrnam_r (__const char *__name, struct group *__resultbuf,
+			     char *__buffer, size_t __buflen,
+			     struct group **__result);
+
+struct parser_data;
+extern int _nss_files_parse_grent (char *line, struct group *result,
+				   struct parser_data *data,
+				   size_t datalen, int *errnop);
 
 #define DECLARE_NSS_PROTOTYPES(service)					   \
 extern enum nss_status _nss_ ## service ## _setgrent (int);		   \
diff --git a/include/netinet/ether.h b/include/netinet/ether.h
index fc3460df8e..98947aaec7 100644
--- a/include/netinet/ether.h
+++ b/include/netinet/ether.h
@@ -10,18 +10,23 @@ struct etherent
   struct ether_addr e_addr;
 };
 
-#define DECLARE_NSS_PROTOTYPES(service)					\
-extern enum nss_status _nss_ ## service ## _setetherent (void);		\
-extern enum nss_status _nss_ ## service ## _endetherent (void);		\
-extern enum nss_status _nss_ ## service ## _getetherent_r		\
-                       (struct etherent *result, char *buffer,		\
-			size_t buflen, int *errnop);			\
-extern enum nss_status _nss_ ## service ## _gethostton_r		\
-                       (const char *name, struct etherent *eth,		\
-			char *buffer, size_t buflen, int *errnop);	\
-extern enum nss_status _nss_ ## service ## _getntohost_r		\
-                       (const struct ether_addr *addr,			\
-			struct etherent *eth,				\
+struct parser_data;
+extern int _nss_files_parse_etherent (char *line, struct etherent *result,
+				      struct parser_data *data,
+				      size_t datalen, int *errnop);
+
+#define DECLARE_NSS_PROTOTYPES(service)						\
+extern enum nss_status _nss_ ## service ## _setetherent (int __stayopen);	\
+extern enum nss_status _nss_ ## service ## _endetherent (void);			\
+extern enum nss_status _nss_ ## service ## _getetherent_r			\
+                       (struct etherent *result, char *buffer,			\
+			size_t buflen, int *errnop);				\
+extern enum nss_status _nss_ ## service ## _gethostton_r			\
+                       (const char *name, struct etherent *eth,			\
+			char *buffer, size_t buflen, int *errnop);		\
+extern enum nss_status _nss_ ## service ## _getntohost_r			\
+                       (const struct ether_addr *addr,				\
+			struct etherent *eth,					\
 			char *buffer, size_t buflen, int *errnop);
 
 DECLARE_NSS_PROTOTYPES (files)
diff --git a/include/pwd.h b/include/pwd.h
index 25656ef281..341c6cee16 100644
--- a/include/pwd.h
+++ b/include/pwd.h
@@ -4,17 +4,31 @@
 /* Now define the internal interfaces.  */
 extern int __getpwent_r (struct passwd *__resultbuf, char *__buffer,
 			 size_t __buflen, struct passwd **__result);
+extern int __old_getpwent_r (struct passwd *__resultbuf, char *__buffer,
+			     size_t __buflen, struct passwd **__result);
 extern int __getpwuid_r (__uid_t __uid, struct passwd *__resultbuf,
 			 char *__buffer, size_t __buflen,
 			 struct passwd **__result);
+extern int __old_getpwuid_r (__uid_t __uid, struct passwd *__resultbuf,
+			     char *__buffer, size_t __buflen,
+			     struct passwd **__result);
 extern int __getpwnam_r (__const char *__name, struct passwd *__resultbuf,
 			 char *__buffer, size_t __buflen,
 			 struct passwd **__result);
+extern int __old_getpwnam_r (__const char *__name, struct passwd *__resultbuf,
+			     char *__buffer, size_t __buflen,
+			     struct passwd **__result);
 extern int __fgetpwent_r (FILE * __stream, struct passwd *__resultbuf,
 			  char *__buffer, size_t __buflen,
 			  struct passwd **__result);
 
 #include <nss/nss.h>
+
+struct parser_data;
+extern int _nss_files_parse_pwent (char *line, struct passwd *result,
+				   struct parser_data *data,
+				   size_t datalen, int *errnop);
+
 #define DECLARE_NSS_PROTOTYPES(service)					\
 extern enum nss_status _nss_ ## service ## _setpwent (int);		\
 extern enum nss_status _nss_ ## service ## _endpwent (void);		\
diff --git a/include/shadow.h b/include/shadow.h
index 5bbaac3543..0ae6b2111a 100644
--- a/include/shadow.h
+++ b/include/shadow.h
@@ -4,9 +4,14 @@
 /* Now define the internal interfaces.  */
 extern int __getspent_r (struct spwd *__result_buf, char *__buffer,
 			 size_t __buflen, struct spwd **__result);
+extern int __old_getspent_r (struct spwd *__result_buf, char *__buffer,
+			     size_t __buflen, struct spwd **__result);
 extern int __getspnam_r (__const char *__name, struct spwd *__result_buf,
 			 char *__buffer, size_t __buflen,
 			 struct spwd **__result);
+extern int __old_getspnam_r (__const char *__name, struct spwd *__result_buf,
+			     char *__buffer, size_t __buflen,
+			     struct spwd **__result);
 extern int __sgetspent_r (__const char *__string,
 			  struct spwd *__result_buf, char *__buffer,
 			  size_t __buflen, struct spwd **__result);
@@ -16,6 +21,11 @@ extern int __fgetspent_r (FILE *__stream, struct spwd *__result_buf,
 extern int __lckpwdf (void);
 extern int __ulckpwdf (void);
 
+struct parser_data;
+extern int _nss_files_parse_spent (char *line, struct spwd *result,
+				   struct parser_data *data,
+				   size_t datalen, int *errnop);
+
 #define DECLARE_NSS_PROTOTYPES(service)					\
 extern enum nss_status _nss_ ## service ## _setspent (int);		\
 extern enum nss_status _nss_ ## service ## _endspent (void);		\
diff --git a/include/stdio.h b/include/stdio.h
index ce06a41842..e4ae35333d 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -28,6 +28,11 @@ extern int __vsscanf (__const char *__restrict __s,
 		      _G_va_list __arg)
      __attribute__ ((__format__ (__scanf__, 2, 0)));
 
+/* Prototypes for compatibility functions.  */
+extern FILE *__new_tmpfile (void);
+extern FILE *__old_tmpfile (void);
+
+
 #  else
 #   include <stdio/stdio.h>
 #  endif
diff --git a/nis/nis_intern.h b/nis/nis_intern.h
index 3395046c3f..1352cd5946 100644
--- a/nis/nis_intern.h
+++ b/nis/nis_intern.h
@@ -51,6 +51,9 @@ extern nis_error __do_niscall3 (dir_binding *dbp, u_long prog,
 				xdrproc_t xres, caddr_t resp,
 				unsigned int flags, nis_cb *cb);
 
+extern u_short __pmap_getnisport (struct sockaddr_in *address, u_long program,
+				  u_long version, u_int protocol);
+
 /* NIS+ callback */
 extern nis_error __nis_do_callback (struct dir_binding *bptr,
 				    netobj *cookie, struct nis_cb *cb);
diff --git a/nis/nss_nis/nis-ethers.c b/nis/nss_nis/nis-ethers.c
index f7ff50578e..51c8534894 100644
--- a/nis/nss_nis/nis-ethers.c
+++ b/nis/nss_nis/nis-ethers.c
@@ -109,7 +109,7 @@ internal_nis_setetherent (void)
 }
 
 enum nss_status
-_nss_nis_setetherent (void)
+_nss_nis_setetherent (int stayopen)
 {
   enum nss_status result;
 
diff --git a/nis/nss_nisplus/nisplus-ethers.c b/nis/nss_nisplus/nisplus-ethers.c
index a8af4569b8..061dfbffa0 100644
--- a/nis/nss_nisplus/nisplus-ethers.c
+++ b/nis/nss_nisplus/nisplus-ethers.c
@@ -1,6 +1,6 @@
-/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
+   Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public License as
@@ -98,7 +98,7 @@ _nss_create_tablename (int *errnop)
 
 
 enum nss_status
-_nss_nisplus_setetherent (void)
+_nss_nisplus_setetherent (int stayopen)
 {
   enum nss_status status;
   int err;
diff --git a/nss/XXX-lookup.c b/nss/XXX-lookup.c
index dc7a663abd..e812d9a548 100644
--- a/nss/XXX-lookup.c
+++ b/nss/XXX-lookup.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1999, 2000  Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -55,6 +55,8 @@
 
 service_user *DATABASE_NAME_SYMBOL;
 
+extern int DB_LOOKUP_FCT (service_user **ni, const char *fct_name, void **fctp);
+
 int
 DB_LOOKUP_FCT (service_user **ni, const char *fct_name, void **fctp)
 {
diff --git a/nss/nss_files/files-ethers.c b/nss/nss_files/files-ethers.c
index 3a6dcbc76e..88de6d499a 100644
--- a/nss/nss_files/files-ethers.c
+++ b/nss/nss_files/files-ethers.c
@@ -17,16 +17,9 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <string.h>
+#include <netinet/ether.h>
 #include <netinet/if_ether.h>
 
-/* Because the `ethers' lookup does not fit so well in the scheme so
-   we define a dummy struct here which helps us to use the available
-   functions.  */
-struct etherent
-{
-  const char *e_name;
-  struct ether_addr e_addr;
-};
 struct etherent_data {};
 
 #define ENTNAME		etherent
@@ -72,4 +65,4 @@ DB_LOOKUP (ntohost, 18, ("=%x:%x:%x:%x:%x:%x",
 	     if (memcmp (&result->e_addr, addr,
 			 sizeof (struct ether_addr)) == 0)
 	       break;
-	   }, struct ether_addr *addr)
+	   }, const struct ether_addr *addr)
diff --git a/resolv/res_data.c b/resolv/res_data.c
index c8aa5c52b9..a365698e82 100644
--- a/resolv/res_data.c
+++ b/resolv/res_data.c
@@ -82,9 +82,10 @@ struct __res_state _res
 #endif
 
 /* Proto. */
-
+#ifndef _LIBC
 int  res_ourserver_p(const res_state, const struct sockaddr_in *);
 void res_pquery(const res_state, const u_char *, int, FILE *);
+#endif
 
 #ifndef _LIBC
 /* Moved to res_libc.c since res_init() should go into libc.so but the
diff --git a/string/test-ffs.c b/string/test-ffs.c
index 9618408ae2..8d46d4e076 100644
--- a/string/test-ffs.c
+++ b/string/test-ffs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1997, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil),
      On-Line Applications Research Corporation.
@@ -27,6 +27,9 @@ main (void)
 {
   int failures = 0;
   int i;
+
+  auto void try (int value, int expected);
+  
   void try (int value, int expected)
     {
       if (ffs (value) != expected)
diff --git a/sunrpc/des_soft.c b/sunrpc/des_soft.c
index f358cac480..a7940b6978 100644
--- a/sunrpc/des_soft.c
+++ b/sunrpc/des_soft.c
@@ -29,6 +29,8 @@ static char sccsid[] = "@(#)des_soft.c	2.2 88/08/10 4.0 RPCSRC; from 1.13 88/02/
  * 2550 Garcia Avenue
  * Mountain View, California  94043
  */
+
+#include <rpc/des_crypt.h>
 /*
  * Table giving odd parity in the low bit for ASCII characters
  */