about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog60
-rw-r--r--Makefile15
-rw-r--r--crypt/Makefile3
-rw-r--r--dlfcn/Makefile9
-rw-r--r--dlfcn/eval.c (renamed from elf/eval.c)0
-rw-r--r--elf/Makefile4
-rw-r--r--iconvdata/Makefile2
-rw-r--r--locale/Makefile4
-rw-r--r--localedata/Makefile7
-rw-r--r--localedata/tests/test6.ds (renamed from localedata/tests/test6.mne)0
-rw-r--r--login/programs/utmpd-private.h110
-rw-r--r--login/programs/utmpd.c419
-rw-r--r--login/programs/utmpd.h140
-rw-r--r--posix/Makefile4
-rw-r--r--posix/Versions4
-rw-r--r--posix/spawnattr_setschedparam.c6
-rw-r--r--posix/spawnattr_setsigmask.c2
-rw-r--r--sysdeps/generic/Dist3
-rw-r--r--sysdeps/generic/mknod.c (renamed from io/mknod.c)0
-rw-r--r--sysdeps/generic/setpgrp.c (renamed from posix/setpgrp.c)0
-rw-r--r--sysdeps/i386/fpu/Versions (renamed from sysdeps/i386/fpu/Version)0
-rw-r--r--sysdeps/ia64/Dist1
-rw-r--r--sysdeps/powerpc/Dist6
-rw-r--r--sysdeps/sparc/Subdirs1
-rw-r--r--sysdeps/unix/sysv/aix/Dist6
-rw-r--r--sysdeps/unix/sysv/linux/arm/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/ia64/Dist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/Dist1
-rw-r--r--time/Makefile2
29 files changed, 120 insertions, 692 deletions
diff --git a/ChangeLog b/ChangeLog
index c4323e38d1..dac25c2e34 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,65 @@
 2000-06-13  Ulrich Drepper  <drepper@redhat.com>
 
+	* crypt/Makefile (distribute): Add ufc-crypt.h, crypt-private.h,
+	ufc.c, speeds.c, README.ufc-crypt, and Banner.
+
+	* sysdeps/sparc/Subdirs: New file.
+
+	* locale/Makefile (distribute): Add weightwc.h and
+	programs/localedef.h.
+
+	* time/Makefile (distribute): Add datemsk.
+
+	* sysdeps/ia64/Dist: Add softpipe.h.
+
+	* sysdeps/unix/sysv/aix/Dist: New file.
+
+	* posix/setpgrp.c: Moved to...
+	* sysdeps/generic/setpgrp.c: ...here.  New file.
+	* io/mknod.c: Moved to...
+	* sysdeps/generic/mknod.c: ...here.  New file.
+
+	* sysdeps/unix/sysv/linux/ia64/Dist: New file.
+
+	* sysdeps/unix/sysv/linux/sparc/Dist: Add sys/procfs.h.
+
+	* sysdeps/unix/sysv/linux/arm/Dist: Add oldgetrlimit64.c.
+
+	* sysdeps/powerpc/Dist: Add fprrest.S, fprsave.S, gprsave1.S,
+	gprsave0.S, gprrest1.S, and gprrest0.S.
+
+	* sysdeps/generic/Dist: Add bp-thunks.h, bp-sym.h, and bp-start.h.
+
+	* posix/Makefile (routines): Add spawnattr_getsigmask,
+	spawnattr_getschedpolicy, spawnattr_getschedparam,
+	spawnattr_setsigmask, spawnattr_setschedpolicy, and
+	spawnattr_setschedparam.
+	* posix/Versions: Add posix_spawnattr_getschedpolicy,
+	posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam, and
+	posix_spawnattr_setschedparam.
+
+	* posix/spawnattr_setschedparam.c: Fix typo.
+
+	* posix/spawnattr_setsigmask.c (posix_spawnattr_setsigmask):
+	Correct typo.
+
+	* login/programs/utmpd.c: Removed.
+	* login/programs/utmpd.h: Removed.
+	* login/programs/utmpd-private.h: Removed.
+
+	* Makefile (distribute): Add include/db_185.h and include/db.h.
+
+	* iconvdata/Makefile (distribute): Add iso-ir-165.c and
+	iso-ir-165.h.
+
+	* elf/Makefile (distribute): Add missing files.
+
+	* dlfcn/Makefile: Add back rules to include eval in libdl.so.
+	* elf/eval.c: Moved to...
+	* dlfcn/eval.c: ...here.  New file.
+
+	* Makefile (distribute): Also distribute ChangeLog.1?.
+
 	* Make-dist (+tsrcs): Remove .args handling here as well.
 
 	* rt/Makefile (tests): Add tst-timer.
diff --git a/Makefile b/Makefile
index 5cf82ebc95..c7ef4b68aa 100644
--- a/Makefile
+++ b/Makefile
@@ -253,13 +253,14 @@ parent_echo-distinfo:
 
 distribute  :=	README README.libm INSTALL FAQ FAQ.in NOTES NEWS BUGS	\
 		PROJECTS COPYING.LIB COPYING ChangeLog ChangeLog.[0-9]	\
-		Makefile Makeconfig Makerules Rules Make-dist MakeTAGS	\
-		extra-lib.mk o-iterator.mk configure configure.in	\
-		aclocal.m4 config.h.in config.make.in config-name.in	\
-		Makefile.in sysdep.h set-hooks.h libc-symbols.h		\
-		version.h shlib-versions rpm/Makefile rpm/template	\
-		rpm/rpmrc glibcbug.in abi-tags stub-tag.h		\
-		test-skeleton.c include/des.h Versions.def		\
+		ChangeLog.1[0-9] Makefile Makeconfig Makerules Rules	\
+		Make-dist MakeTAGS extra-lib.mk o-iterator.mk configure	\
+		configure.in aclocal.m4 config.h.in config.make.in	\
+		config-name.in Makefile.in sysdep.h set-hooks.h		\
+		libc-symbols.h version.h shlib-versions rpm/Makefile	\
+		rpm/template rpm/rpmrc glibcbug.in abi-tags stub-tag.h	\
+		test-skeleton.c include/des.h include/db_185.h		\
+		include/db.h Versions.def				\
 		INTERFACE CONFORMANCE NAMESPACE				\
 		$(addprefix scripts/,					\
 			    rellns-sh config.sub config.guess		\
diff --git a/crypt/Makefile b/crypt/Makefile
index a9ce7da41e..79f45b80ce 100644
--- a/crypt/Makefile
+++ b/crypt/Makefile
@@ -32,6 +32,9 @@ libcrypt-routines := crypt-entry md5-crypt md5 crypt crypt_util
 
 tests = cert md5test md5c-test
 
+distribute = ufc-crypt.h crypt-private.h ufc.c speeds.c README.ufc-crypt \
+	     Banner
+
 include ../Makeconfig
 
 ifeq ($(crypt-in-libc),yes)
diff --git a/dlfcn/Makefile b/dlfcn/Makefile
index ed725639ef..1f171040d2 100644
--- a/dlfcn/Makefile
+++ b/dlfcn/Makefile
@@ -19,8 +19,8 @@
 subdir		:= dlfcn
 headers		:= bits/dlfcn.h dlfcn.h
 extra-libs	:= libdl
-libdl-routines	:= dlopen dlclose dlsym dlvsym dlerror dladdr
-distribute	:= dlopenold.c glreflib1.c glreflib2.c failtestmod.c
+libdl-routines	:= dlopen dlclose dlsym dlvsym dlerror dladdr eval
+distribute	:= dlopenold.c glreflib1.c glreflib2.c failtestmod.c eval.c
 
 extra-libs-others := libdl
 
@@ -30,15 +30,18 @@ ifeq ($(versioning),yes)
 libdl-routines	+= dlopenold
 libdl-shared-only-routines := dlopenold
 endif
+libdl-shared-only-routines += eval
 
 ifeq (yes,$(build-shared))
 tests = glrefmain failtest
 endif
 modules-names = glreflib1 glreflib2 failtestmod
-extra-objs += $(modules-names:=.os)
+extra-objs += $(modules-names:=.os) eval.os
 
 include ../Rules
 
+LDFLAGS-dl.so = -Wl,-dynamic-linker,$(slibdir)/$(rtld-installed-name)
+
 test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(modules-names)))
 $(test-modules): $(objpfx)%.so: $(objpfx)%.os
 	$(build-module)
diff --git a/elf/eval.c b/dlfcn/eval.c
index ce452b722c..ce452b722c 100644
--- a/elf/eval.c
+++ b/dlfcn/eval.c
diff --git a/elf/Makefile b/elf/Makefile
index a31e0816c8..35aa7a1283 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -43,7 +43,9 @@ distribute	:= $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \
 		   testobj1.c testobj2.c testobj3.c testobj4.c testobj5.c \
 		   testobj6.c testobj1_1.c failobj.c \
 		   ldconfig.h ldconfig.c cache.c readlib.c readelflib.c \
-		   dep1.c dep2.c dep3.c dep4.c dl-dtprocnum.h
+		   dep1.c dep2.c dep3.c dep4.c dl-dtprocnum.h \
+		   vismain.c vismod1.c vismod2.c vismod3.c \
+		   constload2.c constload3.c
 
 include ../Makeconfig
 
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
index fb6edca5b7..b95d3a4086 100644
--- a/iconvdata/Makefile
+++ b/iconvdata/Makefile
@@ -118,7 +118,7 @@ distribute := gconv-modules extra-module.mk gap.awk gaptab.awk		    \
 	      macintosh.c mac-is.c mac-uk.c nats-dano.c nats-sefi.c sjis.c  \
 	      t.61.c uhc.c sami-ws2.c iso-ir-197.c tis-620.c koi8-u.c	    \
 	      isiri-3342.c gbgbk.c iso-2022-cn.c cns11643l2.h iso8859-16.c  \
-	      utf-16.c unicode.c big5hkscs.c
+	      utf-16.c unicode.c big5hkscs.c iso-ir-165.c iso-ir-165.h
 
 # We build the transformation modules only when we build shared libs.
 ifeq (yes,$(build-shared))
diff --git a/locale/Makefile b/locale/Makefile
index 6ab6b54b7c..db71cc2422 100644
--- a/locale/Makefile
+++ b/locale/Makefile
@@ -23,7 +23,7 @@ subdir	:= locale
 
 headers		= locale.h langinfo.h xlocale.h
 distribute	= localeinfo.h categories.def iso-639.def iso-3166.def \
-		  iso-4217.def weight.h strlen-hash.h elem-hash.h \
+		  iso-4217.def weight.h weightwc.h strlen-hash.h elem-hash.h \
 		  indigits.h indigitswc.h outdigits.h outdigitswc.h \
 		  $(addprefix programs/, \
 			      locale.c localedef.c \
@@ -31,7 +31,7 @@ distribute	= localeinfo.h categories.def iso-639.def iso-3166.def \
 			      $(lib-modules:=.c) config.h simple-hash.h \
 			      charmap-kw.gperf charmap-kw.h locfile-token.h \
 			      locfile-kw.gperf locfile-kw.h linereader.h \
-			      locfile.h charmap.h repertoire.h)
+			      locfile.h charmap.h repertoire.h localedef.h)
 routines	= setlocale findlocale loadlocale localeconv nl_langinfo \
 		  mb_cur_max codeset_name \
 		  newlocale duplocale freelocale
diff --git a/localedata/Makefile b/localedata/Makefile
index 218e68e09c..05b85e14ad 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -42,9 +42,10 @@ test-input := de_DE.ISO-8859-1 da_DK.ISO-8859-1 fr_CA,2.13.ISO-8859-1 \
 test-input-data = $(addsuffix .in, $(basename $(test-input)))
 test-output := $(foreach s, .out .xout, \
 			 $(addsuffix $s, $(basename $(test-input))))
-ld-test-names := test1 test2 test3 test4 test5
+ld-test-names := test1 test2 test3 test4 test5 test6
 ld-test-srcs := $(addprefix tests/,$(addsuffix .cm,$(ld-test-names)) \
-				   $(addsuffix .def,$(ld-test-names)))
+				   $(addsuffix .def,$(ld-test-names)) \
+				   $(addsuffix .ds,$(ld-test-names)))
 
 fmon-tests = n01y12 n02n40 n10y31 n11y41 n12y11 n20n32 n30y20 n41n00 \
 	     y01y10 y02n22 y22n42 y30y21 y32n31 y40y00 y42n21
@@ -57,7 +58,7 @@ distribute := CHECKSUMS README SUPPORTED ChangeLog			\
 	      $(charmaps) $(locales) $(repertoiremaps)			\
 	      tst-rpmatch.sh tst-locale.sh tst-fmon.sh sort-test.sh	\
 	      tst-fmon.data $(test-input-data) $(ld-test-srcs)		\
-	      th_TH.in cs_CZ.in tst-mbswcs.sh
+	      th_TH.in cs_CZ.in tst-mbswcs.sh tst-trans.sh trans.def
 
 # Get $(inst_i18ndir) defined.
 include ../Makeconfig
diff --git a/localedata/tests/test6.mne b/localedata/tests/test6.ds
index bb1218569d..bb1218569d 100644
--- a/localedata/tests/test6.mne
+++ b/localedata/tests/test6.ds
diff --git a/login/programs/utmpd-private.h b/login/programs/utmpd-private.h
deleted file mode 100644
index b22e58f700..0000000000
--- a/login/programs/utmpd-private.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Mark Kettenis <kettenis@phys.uva.nl>, 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
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#ifndef _UTMPD_PRIVATE_H
-#define _UTMPD_PRIVATE_H	1
-
-#include <time.h>
-#include <utmp.h>
-
-
-/* The number of connections we allow.  */
-#ifndef MAX_CONNECTIONS
-#define MAX_CONNECTIONS	16
-#endif
-
-
-typedef struct utmp_database
-{
-  int fd;
-  int old_fd;
-  char *file;
-  char *old_file;
-  time_t mtime;
-} utmp_database;
-
-
-/* The databases we handle.  */
-extern utmp_database *utmp_db;
-extern utmp_database *wtmp_db;
-
-
-typedef struct client_connection
-{
-  int sock;
-  /* Access permissions.  */
-  int access;
-
-  /* Read pointer.  */
-  void *read_base;
-  void *read_ptr;
-  void *read_end;
-
-  /* Write buffer.  */
-  void *write_base;
-  void *write_ptr;
-  void *write_end;
-
-  /* Database to use for this connection.  */
-  utmp_database *database;
-  /* Position pointer.  */
-  int position;
-  
-  /* Last read entry.  */
-  struct utmp last_entry;
-
-  /* Pointers to the next and previous connections in the list.  */
-  struct client_connection *next;
-  struct client_connection *prev;
-} client_connection;
-
-
-/* This variable indicates if we have forked.  If set, we log messages
-   via the system logger.  Otherwise we simply print the program name
-   and the message to standard error.  */
-extern int forked;
-
-
-/* Database functions.  */
-utmp_database *open_database (const char *file, const char *old_file);
-int synchronize_database (utmp_database *database);
-void close_database (utmp_database *database);
-int read_entry (utmp_database *database, int position, struct utmp *entry);
-int write_entry (utmp_database *database, int position,
-		 const struct utmp *entry);
-int append_entry (utmp_database *database, const struct utmp *entry);
-int read_old_entry (utmp_database *database, int position, struct utmp *entry);
-int write_old_entry (utmp_database *database, int position,
-		     const struct utmp *entry);
-
-/* Connection oriented functions.  */
-client_connection *accept_connection (int sock, int access);
-client_connection *find_connection (int sock);
-void close_connection (client_connection *connection);
-int read_data (client_connection *connection);
-int write_data (client_connection *connection);
-
-int proc_utmp_eq (const struct utmp *entry, const struct utmp *match);
-
-void error (int status, int errnum, const char *message, ...);
-void warning (int errnum, const char *message, ...);
-
-
-#endif /* utmpd-private.h  */
-
diff --git a/login/programs/utmpd.c b/login/programs/utmpd.c
deleted file mode 100644
index ec16b9e778..0000000000
--- a/login/programs/utmpd.c
+++ /dev/null
@@ -1,419 +0,0 @@
-/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Mark Kettenis <kettenis@phys.uva.nl>, 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
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#include <errno.h>
-#include <fcntl.h>
-#include <getopt.h>
-#include <libintl.h>
-#include <locale.h>
-#include <pwd.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <signal.h>
-#include <string.h>
-#include <sys/param.h>
-#include <sys/select.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <sys/un.h>
-#include <syslog.h>
-#include <unistd.h>
-
-#include "utmpd.h"
-#include "utmpd-private.h"
-
-#ifndef DEFAULT_USER
-#define DEFAULT_USER	"daemon"
-#endif
-
-/* Get libc version number.  */
-#include <version.h>
-
-#define PACKAGE _libc_intl_domainname
-
-/* Long options.  */
-static const struct option long_options[] =
-{
-  { "debug", no_argument, NULL, 'd' },
-  { "help", no_argument, NULL, 'h' },
-  { "version", no_argument, NULL, 'V' },
-  { NULL, 0, NULL, 0}
-};
-
-/* The UTMP database.  */
-utmp_database *utmp_db;
-
-/* The socket for read only requests.  */
-int ro_sock = -1;
-
-/* The socket for read/write requests.  */
-int rw_sock = -1;
-
-
-/* Prototypes for the local functions.  */
-static void usage (int status) __attribute__ ((noreturn));
-static void drop_priviliges (void);
-static int make_socket (const char *name);
-static void handle_requests (void) __attribute__ ((noreturn));
-static void termination_handler (int signum);
-static int check_pid (const char *file);
-static int write_pid (const char *file);
-
-
-int
-main (int argc, char *argv[])
-{
-  mode_t mask;
-  int debug;
-  int do_help;
-  int do_version;
-  int opt;
-
-  /* Set locale via LC_ALL.  */
-  setlocale (LC_ALL, "");
-
-  /* Set the text message domain.  */
-  textdomain (PACKAGE);
-
-  /* Initialize local variables.  */
-  debug = 0;
-  do_help = 0;
-  do_version = 0;
-
-  while ((opt = getopt_long (argc, argv, "dhV", long_options, NULL)) != -1)
-    switch (opt)
-      {
-      case '\0':		/* Long option.  */
-	break;
-      case 'h':
-	do_help = 1;
-	break;
-      case 'd':
-	debug = 1;
-	break;
-      case 'V':
-	do_version = 1;
-	break;
-      default:
-	usage (EXIT_FAILURE);
-      }
-
-  /* Version information is reequested.  */
-  if (do_version)
-    {
-      printf ("utmpd (GNU %s) %s\n", PACKAGE, VERSION);
-      printf (_("\
-Copyright (C) %s Free Software Foundation, Inc.\n\
-This is free software; see the source for copying conditions.  There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "1999");
-      printf (_("Written by %s.\n"), "Mark Kettenis");
-
-      exit (EXIT_SUCCESS);
-    }
-
-  /* Help is requested.  */
-  if (do_help)
-    usage (EXIT_SUCCESS);
-
-  signal (SIGINT, termination_handler);
-  signal (SIGQUIT, termination_handler);
-  signal (SIGTERM, termination_handler);
-
-  /* Check if we are already running.  */
-  if (check_pid (_PATH_UTMPDPID))
-    error (EXIT_FAILURE, 0, _("already running"));
-
-  /* Cleanup files created by a previous `bind'.  */
-  unlink (_PATH_UTMPD_RO);
-  unlink (_PATH_UTMPD_RW);
-
-  /* Open UTMP database.  */
-  utmp_db = open_database (_PATH_UTMP "x", _PATH_UTMP);
-  if (utmp_db == NULL)
-    exit (EXIT_FAILURE);
-
-  /* Create sockets, with the right permissions.  */
-  mask = umask (S_IXUSR | S_IXGRP | S_IXOTH);
-  ro_sock = make_socket (_PATH_UTMPD_RO);
-  umask (S_IXUSR | S_IRWXG | S_IRWXO);
-  rw_sock = make_socket (_PATH_UTMPD_RW);
-  umask (mask);
-
-  /* Set the sockets up to accept connections.  */
-  if (listen (ro_sock, MAX_CONNECTIONS) < 0
-      || listen (rw_sock, MAX_CONNECTIONS) < 0)
-    error (EXIT_FAILURE, errno,
-	   _("cannot enable socket to accept connections"));
-
-  /* Behave like a daemon.  */
-  if (!debug)
-    {
-      openlog ("utmpd", LOG_CONS | LOG_ODELAY, LOG_DAEMON);
-
-      if (daemon (0, 0) < 0)
-	error (EXIT_FAILURE, errno, _("cannot auto-background"));
-      forked = 1;
-
-      if (write_pid (_PATH_UTMPDPID) < 0)
-	warning (errno, "%s", _PATH_UTMPDPID);
-
-      /* Ignore job control signals.  */
-      signal (SIGTTOU, SIG_IGN);
-      signal (SIGTTIN, SIG_IGN);
-      signal (SIGTSTP, SIG_IGN);
-    }
-
-  /* Drop priviliges.  */
-  drop_priviliges ();
-
-  /* Handle incoming requests.  */
-  handle_requests ();
-}
-
-
-/* Display usage information and exit.  */
-static void
-usage (int status)
-{
-  if (status != EXIT_SUCCESS)
-    fprintf (stderr, _("Try `%s --help' for more information.\n"),
-	     program_invocation_name);
-  else
-    {
-      printf (_("\
-Usage: %s [OPTION]...\n\
-  -d, --debug           do not fork and display messages on the current tty\n\
-  -h, --help	        display this help and exit\n\
-  -V, --version         output version information and exit\n"),
-	      program_invocation_name);
-      fputs (_("\
-Report bugs using the `glibcbug' script to <bugs@gnu.org>.\n"),
-	     stdout);
-    }
-
-  exit (status);
-}
-
-
-/* Drop priviliges.  */
-static void
-drop_priviliges (void)
-{
-  struct passwd *pw;
-
-  pw = getpwnam (DEFAULT_USER);
-  if (pw)
-    {
-      seteuid (pw->pw_uid);
-      setegid (pw->pw_gid);
-    }
-}
-
-
-/* Make a socket in the file namespace using the filename NAME as the
-   socket's address.  */
-static int
-make_socket (const char *name)
-{
-  struct sockaddr_un addr;
-  size_t size;
-  int sock;
-
-  /* Create the socket.  */
-  sock = socket (PF_UNIX, SOCK_STREAM, 0);
-  if (sock < 0)
-    error (EXIT_FAILURE, errno, _("cannot create socket"));
-
-  /* Bind a name to the socket.  */
-  addr.sun_family = AF_UNIX;
-  strcpy (addr.sun_path, name);
-
-  /* The size of the address is the offset of the start
-     of the filename, plus its length, plus one for the
-     terminating null byte. */
-  size = (offsetof (struct sockaddr_un, sun_path)
-	  + strlen (addr.sun_path));
-
-
-  if (bind (sock, (struct sockaddr *) &addr, size) < 0)
-    error (EXIT_FAILURE, errno, "%s", name);
-
-  return sock;
-}
-
-
-/* Hanlde incoming requests.  */
-static
-void handle_requests (void)
-{
-  client_connection *connection;
-  fd_set active_read_fd_set;
-  fd_set active_write_fd_set;
-  fd_set read_fd_set;
-  fd_set write_fd_set;
-  int fd;
-  int maxfd;  /* Highest used fd to optimize select/loop.  */
-
-  /* Initialize the set of active sockets.  */
-  FD_ZERO (&active_read_fd_set);
-  FD_ZERO (&active_write_fd_set);
-  FD_SET (rw_sock, &active_read_fd_set);
-  FD_SET (ro_sock, &active_read_fd_set);
-
-  maxfd = MAX (rw_sock, ro_sock);
-
-  while (1)
-    {
-      /* Block until input arrives on one or more active sockets.  */
-      read_fd_set = active_read_fd_set;
-      write_fd_set = active_write_fd_set;
-      if (select (maxfd + 1, &read_fd_set, &write_fd_set, NULL, NULL) < 0)
-	error (EXIT_FAILURE, errno, _("cannot get input on sockets"));
-
-      /* Service all the sockets with input pending.  */
-      for (fd = 0; fd <= maxfd; ++fd)
-	{
-	  if (FD_ISSET (fd, &read_fd_set))
-	    {
-	      if (fd == ro_sock || fd == rw_sock)
-		{
-		  int access = ((fd == rw_sock) ? (R_OK | W_OK) : R_OK);
-
-		  connection = accept_connection (fd, access);
-		  if (connection == NULL)
-		    error (0, errno, _("cannot accept connection"));
-
-		  FD_SET (connection->sock, &active_read_fd_set);
-		  maxfd = MAX (maxfd, connection->sock);
-		}
-	      else
-		{
-		  connection = find_connection (fd);
-		  if (connection == NULL)
-		    error (EXIT_FAILURE, 0, _("cannot find connection"));
-
-		  if (read_data (connection) < 0)
-		    {
-		      close_connection (connection);
-		      FD_CLR (fd, &active_read_fd_set);
-		      FD_CLR (fd, &active_write_fd_set);
-		    }
-
-		  if (connection->write_ptr > connection->write_base)
-		      FD_SET (fd, &active_write_fd_set);
-		}
-	    }
-	  if (FD_ISSET (fd, &write_fd_set) &&
-	      fd != rw_sock && fd != ro_sock)
-	    {
-	      connection = find_connection (fd);
-	      if (connection == NULL)
-		error (EXIT_FAILURE, 0, _("cannot find connection"));
-
-	      if (write_data (connection) < 0)
-		{
-		  close_connection (connection);
-		  FD_CLR (fd, &active_read_fd_set);
-		  FD_CLR (fd, &active_write_fd_set);
-		}
-
-	      if (connection->write_ptr == connection->write_base)
-		FD_CLR (fd, &active_write_fd_set);
-	    }
-	}
-
-      /* Check if maxfd can be lowered.  */
-      for (; maxfd >= 0; --maxfd)
-	{
-	  if (FD_ISSET (maxfd, &active_read_fd_set)
-	      || FD_ISSET (maxfd, &active_write_fd_set))
-	    break;
-	}
-    }
-}
-
-
-/* Cleanup.  */
-static void
-termination_handler (int signum)
-{
-  /* Close sockets.  */
-  close (ro_sock);
-  close (rw_sock);
-
-  /* Restore user id.  */
-  seteuid (getuid ());
-
-  /* Clean up the files created by `bind'.  */
-  unlink (_PATH_UTMPD_RO);
-  unlink (_PATH_UTMPD_RW);
-
-  if (utmp_db)
-    close_database (utmp_db);
-
-  /* Clean up pid file.  */
-  unlink (_PATH_UTMPDPID);
-
-  exit (EXIT_SUCCESS);
-}
-
-
-/* Returns 1 if the process in pid file FILE is running, 0 if not.  */
-static int
-check_pid (const char *file)
-{
-  FILE *fp;
-
-  fp = fopen (_PATH_UTMPDPID, "r");
-  if (fp)
-    {
-      pid_t pid;
-
-      fscanf (fp, "%d", &pid);
-      fclose (fp);
-
-      if (kill (pid, 0) == 0)
-	return 1;
-    }
-
-  return 0;
-}
-
-/* Write the current process id to the file FILE.  Returns 0 if
-   successful, -1 if not.  */
-static int
-write_pid (const char *file)
-{
-  FILE *fp;
-
-  fp = fopen (_PATH_UTMPDPID, "w");
-  if (fp == NULL)
-    return -1;
-
-  fprintf (fp, "%d\n", getpid ());
-  if (ferror (fp))
-    return -1;
-
-  fclose (fp);
-
-  return 0;
-}
diff --git a/login/programs/utmpd.h b/login/programs/utmpd.h
deleted file mode 100644
index ef92a1490b..0000000000
--- a/login/programs/utmpd.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Mark Kettenis <kettenis@phys.uva.nl>, 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
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#ifndef _UTMPD_H
-#define _UTMPD_H		1
-
-/* This is an *internal* header.  */
-
-#include <stddef.h>
-#include <utmp.h>
-
-
-/* Paths to daemon sockets.  */
-#define _PATH_UTMPD_RO	"/var/run/utmpd.ro"
-#define _PATH_UTMPD_RW	"/var/run/utmpd.rw"
-
-
-/* Path to PID file.  */
-#define _PATH_UTMPDPID	"/var/run/utmpd.pid"
-
-
-/* Version number of the daemon interface.  */
-#define UTMPD_VERSION	1
-
-
-/* Services provided.  */
-typedef enum
-{
-  UTMPD_REQ_SETUTENT,
-  UTMPD_REQ_GETUTENT,
-  UTMPD_REQ_ENDUTENT,
-  UTMPD_REQ_GETUTLINE,
-  UTMPD_REQ_GETUTID,
-  UTMPD_REQ_PUTUTLINE,
-  UTMPD_REQ_UPDWTMP
-} request_type;
-
-
-/* Header common to all requests.  */
-typedef struct
-{
-  /* Version number of the daemon interface.  */
-  int version;
-  /* Number of bytes in this request.  */
-  size_t size;
-  /* Service requested.  */
-  request_type type;
-} request_header;
-
-typedef struct
-{
-  request_header header;
-  /* File to use.  */
-  char file[0];
-} setutent_request;
-
-typedef struct
-{
-  request_header header;
-} getutent_request, endutent_request;
-
-typedef struct
-{
-  request_header header;
-  /* Entry to match.  */
-  struct utmp line;
-} getutline_request;
-
-typedef struct
-{
-  request_header header;
-  /* Entry to match.  */
-  struct utmp id;
-} getutid_request;
-
-typedef struct
-{
-  request_header header;
-  /* Entry to write.  */
-  struct utmp utmp;
-} pututline_request;
-
-typedef struct
-{
-  request_header header;
-  /* Entry to write.  */
-  struct utmp utmp;
-  /* File to use.  */
-  char file[0];
-} updwtmp_request;
-
-
-/* Header common to all replies.  */
-typedef struct
-{
-  /* Version number of the daemon interface.  */
-  int version;
-  /* Number of bytes in this reply.  */
-  size_t size;
-  /* Answer to the request.  */
-  request_type type;
-} reply_header;
-
-typedef struct
-{
-  reply_header header;
-  /* Error code.  */
-  int errnum;
-  /* Return value.  */
-  int result;
-} setutent_reply, endutent_reply, pututline_reply, updwtmp_reply;
-
-typedef struct
-{
-  reply_header header;
-  /* Found entry.  */
-  struct utmp entry;
-  /* Error code.  */
-  int errnum;
-  /* Return value.  */
-  int result;
-} getutent_reply, getutline_reply, getutid_reply;
-
-#endif /* utmpd.h  */
diff --git a/posix/Makefile b/posix/Makefile
index 2e510a1907..174074e595 100644
--- a/posix/Makefile
+++ b/posix/Makefile
@@ -58,7 +58,9 @@ routines :=								      \
 	spawnattr_init spawnattr_destroy				      \
 	spawnattr_getdefault spawnattr_setdefault			      \
 	spawnattr_getflags spawnattr_setflags				      \
-	spawnattr_getpgroup spawnattr_setpgroup spawn spawnp spawni
+	spawnattr_getpgroup spawnattr_setpgroup spawn spawnp spawni	      \
+	spawnattr_getsigmask spawnattr_getschedpolicy spawnattr_getschedparam \
+	spawnattr_setsigmask spawnattr_setschedpolicy spawnattr_setschedparam
 
 include ../Makeconfig
 
diff --git a/posix/Versions b/posix/Versions
index 164d187469..9830841151 100644
--- a/posix/Versions
+++ b/posix/Versions
@@ -102,6 +102,8 @@ libc {
     posix_spawnattr_getflags; posix_spawnattr_setflags;
     posix_spawnattr_getpgroup; posix_spawnattr_setpgroup;
     posix_spawnattr_setsigmask; posix_spawnattr_getsigmask;
-    posix_spawn; posix_spawnp;
+    posix_spawn; posix_spawnp; posix_spawnattr_getschedpolicy;
+    posix_spawnattr_setschedpolicy; posix_spawnattr_getschedparam;
+    posix_spawnattr_setschedparam;
   }
 }
diff --git a/posix/spawnattr_setschedparam.c b/posix/spawnattr_setschedparam.c
index ffcd893d97..39d6b7a183 100644
--- a/posix/spawnattr_setschedparam.c
+++ b/posix/spawnattr_setschedparam.c
@@ -22,10 +22,10 @@
 /* Store scheduling parameters in the attribute structure.  */
 int
 posix_spawnattr_setschedparam (posix_spawnattr_t *attr,
-			       const struct shed_param *schedparam)
+			       const struct sched_param *schedparam)
 {
-  /* Store the flag word.  */
-  attr->__flags = flags;
+  /* Store the scheduling parameters.  */
+  attr->__sp = *schedparam;
 
   return 0;
 }
diff --git a/posix/spawnattr_setsigmask.c b/posix/spawnattr_setsigmask.c
index aa917ff60d..e0a94cb3a2 100644
--- a/posix/spawnattr_setsigmask.c
+++ b/posix/spawnattr_setsigmask.c
@@ -25,7 +25,7 @@ posix_spawnattr_setsigmask (posix_spawnattr_t *attr,
 			    const sigset_t *sigmask)
 {
   /* Copy the sigset_t data to the user buffer.  */
-  memcpy (&attr->__ss, sigdefault, sizeof (sigset_t));
+  memcpy (&attr->__ss, sigmask, sizeof (sigset_t));
 
   return 0;
 }
diff --git a/sysdeps/generic/Dist b/sysdeps/generic/Dist
index 14baf3eef2..ffcebf9fd0 100644
--- a/sysdeps/generic/Dist
+++ b/sysdeps/generic/Dist
@@ -15,3 +15,6 @@ updwtmpx.c
 utmpxname.c
 bits/libc-tsd.h
 siglist.h
+bp-thunks.h
+bp-sym.h
+bp-start.h
diff --git a/io/mknod.c b/sysdeps/generic/mknod.c
index 8d1dde2546..8d1dde2546 100644
--- a/io/mknod.c
+++ b/sysdeps/generic/mknod.c
diff --git a/posix/setpgrp.c b/sysdeps/generic/setpgrp.c
index a511e058b9..a511e058b9 100644
--- a/posix/setpgrp.c
+++ b/sysdeps/generic/setpgrp.c
diff --git a/sysdeps/i386/fpu/Version b/sysdeps/i386/fpu/Versions
index a2eec371f1..a2eec371f1 100644
--- a/sysdeps/i386/fpu/Version
+++ b/sysdeps/i386/fpu/Versions
diff --git a/sysdeps/ia64/Dist b/sysdeps/ia64/Dist
index 9fc1de291a..dcaac62ee6 100644
--- a/sysdeps/ia64/Dist
+++ b/sysdeps/ia64/Dist
@@ -1,2 +1,3 @@
 dl-symaddr.c
 dl-fptr.c
+softpipe.h
diff --git a/sysdeps/powerpc/Dist b/sysdeps/powerpc/Dist
index 4513e6c604..5a5c15c087 100644
--- a/sysdeps/powerpc/Dist
+++ b/sysdeps/powerpc/Dist
@@ -2,3 +2,9 @@ dl-machine.c
 dl-start.S
 ppc-mcount.S
 fe_nomask.c
+fprrest.S
+fprsave.S
+gprsave1.S
+gprsave0.S
+gprrest1.S
+gprrest0.S
diff --git a/sysdeps/sparc/Subdirs b/sysdeps/sparc/Subdirs
new file mode 100644
index 0000000000..87eadf3024
--- /dev/null
+++ b/sysdeps/sparc/Subdirs
@@ -0,0 +1 @@
+soft-fp
diff --git a/sysdeps/unix/sysv/aix/Dist b/sysdeps/unix/sysv/aix/Dist
new file mode 100644
index 0000000000..9db1d7446d
--- /dev/null
+++ b/sysdeps/unix/sysv/aix/Dist
@@ -0,0 +1,6 @@
+dl-sym.c
+dl-open.c
+dl-close.c
+kernel_proto.h
+bits/utmpx.h
+gnu/lib-names.h
diff --git a/sysdeps/unix/sysv/linux/arm/Dist b/sysdeps/unix/sysv/linux/arm/Dist
index 49bdaf3636..60513f7c46 100644
--- a/sysdeps/unix/sysv/linux/arm/Dist
+++ b/sysdeps/unix/sysv/linux/arm/Dist
@@ -10,3 +10,4 @@ sys/elf.h
 sys/io.h
 sys/procfs.h
 sys/user.h
+oldgetrlimit64.c
diff --git a/sysdeps/unix/sysv/linux/ia64/Dist b/sysdeps/unix/sysv/linux/ia64/Dist
new file mode 100644
index 0000000000..6b4b44b489
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/ia64/Dist
@@ -0,0 +1,2 @@
+xstatconv.c
+kernel_stat.h
diff --git a/sysdeps/unix/sysv/linux/sparc/Dist b/sysdeps/unix/sysv/linux/sparc/Dist
index b8abd55c0e..174d053909 100644
--- a/sysdeps/unix/sysv/linux/sparc/Dist
+++ b/sysdeps/unix/sysv/linux/sparc/Dist
@@ -1,3 +1,4 @@
 kernel_termios.h
 sys/trap.h
 ldd-rewrite.sed
+sys/procfs.h
diff --git a/time/Makefile b/time/Makefile
index ff1e42eae2..b675f745ea 100644
--- a/time/Makefile
+++ b/time/Makefile
@@ -30,6 +30,8 @@ routines := offtime asctime clock ctime ctime_r difftime \
 	    stime dysize timegm ftime			 \
 	    strptime getdate wcsftime
 
+distribute := datemsk
+
 tests	:= test_time clocktest tst-posixtz tst-strptime tst_wcsftime \
 	   tst-getdate