about summary refs log tree commit diff
path: root/sysdeps/mach/hurd
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-04-30 22:00:59 +0000
committerRoland McGrath <roland@gnu.org>2002-04-30 22:00:59 +0000
commita8c017767721fec8fd4ee53c1937e31e35dfac08 (patch)
tree11c43b6158f98ebcce0ab0b5555faa3a35d43187 /sysdeps/mach/hurd
parent8543f93de2a52f1e314051aa20f7394a7c13366f (diff)
downloadglibc-a8c017767721fec8fd4ee53c1937e31e35dfac08.tar.gz
glibc-a8c017767721fec8fd4ee53c1937e31e35dfac08.tar.xz
glibc-a8c017767721fec8fd4ee53c1937e31e35dfac08.zip
2002-04-30 Roland McGrath <roland@frob.com>
	Removed old GNU stdio implementation; GNU libio is now the only option.
	* configure.in: Removed --enable-libio option and @stdio@ subst var.
	Define USE_IN_LIBIO unconditionally.
	* configure: Regenerated.
	* Makeconfig (stdio): Set to libio by default.
	* config.make.in (stdio): Variable removed.
	* sysdeps/unix/sysv/linux/configure.in: Don't set $stdio.
	* sysdeps/unix/sysv/linux/configure: Regenerated.
	* sysdeps/mach/hurd/configure.in: Don't test $stdio.
	* sysdeps/mach/hurd/configure: Regenerated.
	* stdio/.cvsignore: File removed.
	* stdio/Makefile: File removed.
	* stdio/Versions: File removed.
	* stdio/__fbufsize.c: File removed.
	* stdio/__flbf.c: File removed.
	* stdio/__fpending.c: File removed.
	* stdio/__fpurge.c: File removed.
	* stdio/__freadable.c: File removed.
	* stdio/__freading.c: File removed.
	* stdio/__fsetlocking.c: File removed.
	* stdio/__fwritable.c: File removed.
	* stdio/__fwriting.c: File removed.
	* stdio/clearerr.c: File removed.
	* stdio/fclose.c: File removed.
	* stdio/fcloseall.c: File removed.
	* stdio/feof.c: File removed.
	* stdio/ferror.c: File removed.
	* stdio/fflush.c: File removed.
	* stdio/fgetc.c: File removed.
	* stdio/fgetpos.c: File removed.
	* stdio/fgets.c: File removed.
	* stdio/fileno.c: File removed.
	* stdio/fmemopen.c: File removed.
	* stdio/fopen.c: File removed.
	* stdio/fopncook.c: File removed.
	* stdio/fputc.c: File removed.
	* stdio/fputs.c: File removed.
	* stdio/fread.c: File removed.
	* stdio/freopen.c: File removed.
	* stdio/fseek.c: File removed.
	* stdio/fsetpos.c: File removed.
	* stdio/ftell.c: File removed.
	* stdio/fwrite.c: File removed.
	* stdio/getc.c: File removed.
	* stdio/getchar.c: File removed.
	* stdio/getdelim.c: File removed.
	* stdio/gets.c: File removed.
	* stdio/glue.c: File removed.
	* stdio/internals.c: File removed.
	* stdio/linewrap.c: File removed.
	* stdio/linewrap.h: File removed.
	* stdio/memstream.c: File removed.
	* stdio/newstream.c: File removed.
	* stdio/obstream.c: File removed.
	* stdio/putc.c: File removed.
	* stdio/putchar.c: File removed.
	* stdio/puts.c: File removed.
	* stdio/rewind.c: File removed.
	* stdio/setbuf.c: File removed.
	* stdio/setbuffer.c: File removed.
	* stdio/setlinebuf.c: File removed.
	* stdio/setvbuf.c: File removed.
	* stdio/stdio.h: File removed.
	* stdio/ungetc.c: File removed.
	* stdio/vasprintf.c: File removed.
	* stdio/vscanf.c: File removed.
	* stdio/vsnprintf.c: File removed.
	* stdio/vsprintf.c: File removed.
	* stdio/vsscanf.c: File removed.
	* sysdeps/generic/defs.c: File removed.
	* sysdeps/generic/fdopen.c: File removed.
	* sysdeps/generic/pipestream.c: File removed.
	* sysdeps/generic/stdio_init.c: File removed.
	* sysdeps/generic/sysd-stdio.c: File removed.
	* sysdeps/generic/vdprintf.c: File removed.
	* sysdeps/mach/hurd/defs.c: File removed.
	* sysdeps/mach/hurd/fdopen.c: File removed.
	* sysdeps/mach/hurd/pipestream.c: File removed.
	* sysdeps/mach/hurd/stdio_init.c: File removed.
	* sysdeps/mach/hurd/sysd-stdio.c: File removed.
	* sysdeps/mach/hurd/vdprintf.c: File removed.
	* sysdeps/posix/defs.c: File removed.
	* sysdeps/posix/fdopen.c: File removed.
	* sysdeps/posix/pipestream.c: File removed.
	* sysdeps/posix/stdio_init.c: File removed.
	* sysdeps/posix/vdprintf.c: File removed.
	* sysdeps/unix/pipestream.c: File removed.
	* sysdeps/unix/sysv/sysd-stdio.c: File removed.
	* sysdeps/unix/sysv/sco3.2.4/pipestream.c: File removed.
	* sysdeps/unix/sysv/sysv4/pipestream.c: File removed.
Diffstat (limited to 'sysdeps/mach/hurd')
-rwxr-xr-xsysdeps/mach/hurd/configure13
-rw-r--r--sysdeps/mach/hurd/configure.in9
-rw-r--r--sysdeps/mach/hurd/defs.c87
-rw-r--r--sysdeps/mach/hurd/fdopen.c72
-rw-r--r--sysdeps/mach/hurd/pipestream.c2
-rw-r--r--sysdeps/mach/hurd/stdio_init.c62
-rw-r--r--sysdeps/mach/hurd/sysd-stdio.c257
-rw-r--r--sysdeps/mach/hurd/vdprintf.c57
8 files changed, 6 insertions, 553 deletions
diff --git a/sysdeps/mach/hurd/configure b/sysdeps/mach/hurd/configure
index 93434c0e91..7017ea4adc 100755
--- a/sysdeps/mach/hurd/configure
+++ b/sysdeps/mach/hurd/configure
@@ -12,14 +12,9 @@ fi
 
 case "$machine" in
   i386*)
-    # With --enable-libio, the default oldest ABI is 2.2.6;
-    # without --enable-libio, the default oldest ABI is 2.0.
+    # The default oldest ABI is 2.2.6.
     # We only need a "yes" here if the oldest ABI supported will be < 2.2.6.
-    if if test "$stdio" = libio; then
-         test "$oldest_abi" != default && test "$oldest_abi" \< "2.2.6"
-       else
-         test "$oldest_abi" = default || test "$oldest_abi" \< "2.2.6"
-       fi; then
+    if test "$oldest_abi" != default && test "$oldest_abi" \< "2.2.6"; then
       libc_cv_gcc_unwind_find_fde=yes
     fi
     ;;
@@ -29,7 +24,7 @@ esac
 
 # See if mig groks `retcode'.
 echo $ac_n "checking whether $MIG supports the retcode keyword""... $ac_c" 1>&6
-echo "configure:33: checking whether $MIG supports the retcode keyword" >&5
+echo "configure:28: checking whether $MIG supports the retcode keyword" >&5
 if eval "test \"`echo '$''{'hurd_cv_mig_retcode'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -43,7 +38,7 @@ simpleroutine foobar_reply (
 	reply_port: reply_port_t;
 	err: kern_return_t, RetCode);
 EOF
-if { ac_try='CC="${CC}" ${MIG-false} -n conftest.defs 1>&5'; { (eval echo configure:47: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+if { ac_try='CC="${CC}" ${MIG-false} -n conftest.defs 1>&5'; { (eval echo configure:42: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
   hurd_cv_mig_retcode=yes
 else
   hurd_cv_mig_retcode=no
diff --git a/sysdeps/mach/hurd/configure.in b/sysdeps/mach/hurd/configure.in
index 26bdaf661d..f5afe2f1d3 100644
--- a/sysdeps/mach/hurd/configure.in
+++ b/sysdeps/mach/hurd/configure.in
@@ -14,14 +14,9 @@ fi
 
 case "$machine" in
   i386*)
-    # With --enable-libio, the default oldest ABI is 2.2.6;
-    # without --enable-libio, the default oldest ABI is 2.0.
+    # The default oldest ABI is 2.2.6.
     # We only need a "yes" here if the oldest ABI supported will be < 2.2.6.
-    if if test "$stdio" = libio; then
-         test "$oldest_abi" != default && test "$oldest_abi" \< "2.2.6"
-       else
-         test "$oldest_abi" = default || test "$oldest_abi" \< "2.2.6"
-       fi; then
+    if test "$oldest_abi" != default && test "$oldest_abi" \< "2.2.6"; then
       libc_cv_gcc_unwind_find_fde=yes
     fi
     ;;
diff --git a/sysdeps/mach/hurd/defs.c b/sysdeps/mach/hurd/defs.c
deleted file mode 100644
index 3999957d41..0000000000
--- a/sysdeps/mach/hurd/defs.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Definitions of global stdio data structures.
-   Copyright (C) 1991,92,93,94,95,97,2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <stdio.h>
-#include <hurd/fd.h>
-#include <unistd.h>
-
-FILE *stdin, *stdout, *stderr;
-
-/* Pointer to the first stream in the list.  */
-FILE *__stdio_head = NULL;
-
-/* XXX should be __init_stdio? */
-static void
-init_stdio (void)
-{
-  inline void init (FILE **streamptr, int fd)
-    {
-      /* We want to use the existing FILE object if one has been allocated.
-	 (This will only be the case if our image came from something like
-	 Emacs's unexec, where we were called in the first run.)  */
-      FILE *s = *streamptr ?: __newstream ();
-      struct hurd_fd *d = _hurd_fd_get (fd);
-      if (d == NULL)
-	{
-	  /* There is no file descriptor allocated.  We want the standard
-	     streams to always refer to their standard file descriptors, even
-	     if those descriptors are not set up until later.  So allocate
-	     the descriptor structure with no ports and store it in the
-	     stream.  Operations will fail until ports are installed in the
-	     file descriptor.  */
-	  if (d = _hurd_alloc_fd (NULL, fd))
-	    __spin_unlock (&d->port.lock);
-	}
-      if (s)
-	s->__cookie = d;
-      *streamptr = s;
-    }
-#define S(NAME, FD, MODE) \
-  init (&NAME, FD); if (NAME) NAME->__mode.__##MODE = 1;
-
-  S (stdin, STDIN_FILENO, read);
-  S (stdout, STDOUT_FILENO, write);
-  S (stderr, STDERR_FILENO, write);
-
-#undef S
-
-  if (stderr)
-    stderr->__userbuf = 1;	/* stderr is always unbuffered.  */
-
-  (void) &init_stdio;		/* Avoid "defined but not used" warning.  */
-}
-/* This initializer will be run along with other vanilla libc initializers
-   in a normal Posixoid environment.  The earlier Hurd-speciifc initializer
-   phases cannot use normal facilities like malloc (which stdio uses).  */
-text_set_element (__libc_subinit, init_stdio);
-
-/* This function MUST be in this file!
-   This is because we want _cleanup to go into the __libc_atexit set
-   when any stdio code is used (and to use any stdio code, one must reference
-   something defined in this file), and since only local symbols can be made
-   set elements, having the set element stab entry here and _cleanup elsewhere
-   loses; and having them both elsewhere loses because there is no reference
-   to cause _cleanup to be linked in.  */
-
-void
-_cleanup (void)
-{
-  __fcloseall ();
-}
-text_set_element (__libc_atexit, _cleanup);
diff --git a/sysdeps/mach/hurd/fdopen.c b/sysdeps/mach/hurd/fdopen.c
deleted file mode 100644
index 49cf0e6938..0000000000
--- a/sysdeps/mach/hurd/fdopen.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright (C) 1991, 1994, 1995, 1997, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <stdio.h>
-#include <hurd/fd.h>
-#include <fcntl.h>
-#include <hurd/io.h>
-
-/* Defined in fopen.c.  */
-extern int __getmode (const char *mode, __io_mode *mptr);
-
-/* Open a new stream on a given system file descriptor.  */
-FILE *
-__fdopen (fd, mode)
-     int fd;
-     const char *mode;
-{
-  FILE *stream;
-  __io_mode m;
-  struct hurd_fd *d;
-  error_t err;
-  int openmodes;
-
-  if (!__getmode (mode, &m))
-    return NULL;
-
-  HURD_CRITICAL_BEGIN;
-  d = _hurd_fd_get (fd);
-  if (d == NULL)
-    err = EBADF;
-  else
-    err = HURD_FD_PORT_USE (d, __io_get_openmodes (port, &openmodes));
-  HURD_CRITICAL_END;
-
-  if (err)
-    return __hurd_dfail (fd, err), NULL;
-
-  /* Check the access mode.  */
-  if ((m.__read && !(openmodes & O_READ)) ||
-      (m.__write && !(openmodes & O_WRITE)))
-    {
-      errno = EBADF;
-      return NULL;
-    }
-
-  stream = __newstream ();
-  if (stream == NULL)
-    return NULL;
-
-  stream->__cookie = d;
-  stream->__mode = m;
-
-  return stream;
-}
-
-weak_alias (__fdopen, fdopen)
diff --git a/sysdeps/mach/hurd/pipestream.c b/sysdeps/mach/hurd/pipestream.c
deleted file mode 100644
index 548e1e77eb..0000000000
--- a/sysdeps/mach/hurd/pipestream.c
+++ /dev/null
@@ -1,2 +0,0 @@
-/* Make sure NO_WAITPID is not set; sysdeps/unix/pipestream.c defines it. */
-#include <sysdeps/posix/pipestream.c>
diff --git a/sysdeps/mach/hurd/stdio_init.c b/sysdeps/mach/hurd/stdio_init.c
deleted file mode 100644
index 2da15ce1b5..0000000000
--- a/sysdeps/mach/hurd/stdio_init.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <hurd/fd.h>
-#include <hurd/io.h>
-#include <hurd/term.h>
-
-/* Initialize STREAM as necessary.
-   This may change I/O functions, give a buffer, etc.
-   If no buffer is allocated, but the bufsize is set,
-   the bufsize will be used to allocate the buffer.  */
-void
-__stdio_init_stream (FILE *stream)
-{
-  struct hurd_fd *const d = stream->__cookie;
-  struct stat statb;
-  error_t err;
-
-  if (stream->__buffer != NULL || stream->__userbuf)
-    /* If's unbuffered by request, we can't do anything useful.  */
-    return;
-
-  /* Find out what sort of file this is.  */
-  if (err = HURD_FD_PORT_USE (d, __io_stat (port, &statb)))
-    return;
-
-  if (S_ISCHR (statb.st_mode))
-    {
-      /* It's a character device.
-	 Make it line-buffered if it's a terminal.  */
-      mach_port_t cttyid;
-      err = HURD_FD_PORT_USE (d, __term_getctty (port, &cttyid));
-      if (! err)
-	{
-	  __mach_port_deallocate (__mach_task_self (), cttyid);
-	  stream->__linebuf = 1;
-	}
-    }
-
-  /* Use the block-size field to determine
-     the system's optimal buffering size.  */
-  stream->__bufsize = statb.st_blksize;
-}
diff --git a/sysdeps/mach/hurd/sysd-stdio.c b/sysdeps/mach/hurd/sysd-stdio.c
deleted file mode 100644
index 14a2aee232..0000000000
--- a/sysdeps/mach/hurd/sysd-stdio.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/* Copyright (C) 1994,95,96,97,98,2001 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <hurd.h>
-#include <fcntl.h>
-#include <hurd/fd.h>
-
-extern __io_read_fn __stdio_read;
-extern __io_write_fn __stdio_write;
-extern __io_seek_fn __stdio_seek;
-extern __io_close_fn __stdio_close;
-extern __io_fileno_fn __stdio_fileno;
-
-
-/* Check ERR for wanting to generate a signal.  */
-
-static inline int
-fd_fail (struct hurd_fd *fd, error_t err)
-{
-  int signo = _hurd_fd_error_signal (err);
-  if (signo)
-    {
-      const struct hurd_signal_detail detail
-	= { code: __stdio_fileno (fd), error: err, exc: 0 };
-      _hurd_raise_signal (NULL, signo, &detail);
-    }
-  errno = err;
-  return -1;
-}
-
-
-/* Read up to N chars into BUF from COOKIE.
-   Return how many chars were read, 0 for EOF or -1 for error.  */
-ssize_t
-__stdio_read (cookie, buf, n)
-     void *cookie;
-     char *buf;
-     size_t n;
-{
-  error_t err;
-  struct hurd_fd *fd = cookie;
-
-  if (! fd)
-    return __hurd_fail (EBADF);
-
-  if (err = _hurd_fd_read (fd, buf, &n, -1))
-    return fd_fail (fd, err);
-
-  return n;
-}
-
-/* Write up to N chars from BUF to COOKIE.
-   Return how many chars were written or -1 for error.  */
-ssize_t
-__stdio_write (cookie, buf, n)
-     void *cookie;
-     const char *buf;
-     size_t n;
-{
-  error_t err;
-  size_t wrote, nleft;
-  struct hurd_fd *fd = cookie;
-
-  if (! fd)
-    return __hurd_fail (EBADF);
-
-  nleft = n;
-  do
-    {
-      wrote = nleft;
-      if (err = _hurd_fd_write (fd, buf, &wrote, -1))
-	return fd_fail (fd, err);
-      buf += wrote;
-      nleft -= wrote;
-    } while (nleft > 0);
-
-  return wrote;
-}
-
-/* Move COOKIE's file position *POS bytes, according to WHENCE.
-   The current file position is stored in *POS.
-   Returns zero if successful, nonzero if not.  */
-int
-__stdio_seek (cookie, pos, whence)
-     void *cookie;
-     fpos_t *pos;
-     int whence;
-{
-  error_t err;
-  struct hurd_fd *fd = cookie;
-  if (! fd)
-    return __hurd_fail (EBADF);
-  err = HURD_FD_PORT_USE (fd, __io_seek (port, *pos, whence, pos));
-  return err ? fd_fail (fd, err) : 0;
-}
-
-/* Close the file associated with COOKIE.
-   Return 0 for success or -1 for failure.  */
-int
-__stdio_close (cookie)
-     void *cookie;
-{
-  error_t error = cookie ? _hurd_fd_close (cookie) : EBADF;
-  return error ? fd_fail (cookie, error) : 0;
-}
-
-
-static inline int
-modeflags (__io_mode m)
-{
-  int flags = 0;
-  if (m.__read)
-    flags |= O_READ;
-  if (m.__write)
-    flags |= O_WRITE;
-  if (m.__append)
-    flags |= O_APPEND;
-  if (m.__create)
-    flags |= O_CREAT;
-  if (m.__truncate)
-    flags |= O_TRUNC;
-  if (m.__exclusive)
-    flags |= O_EXCL;
-  return flags;
-}
-
-/* Open FILENAME with the mode in M.  */
-int
-__stdio_open (filename, m, cookieptr)
-     const char *filename;
-     __io_mode m;
-     void **cookieptr;
-{
-  int flags;
-  file_t port;
-  struct hurd_fd *d;
-
-  flags = modeflags (m);
-  port = __file_name_lookup (filename, flags, 0666 & ~_hurd_umask);
-  if (port == MACH_PORT_NULL)
-    return -1;
-
-  HURD_CRITICAL_BEGIN;
-  d = _hurd_alloc_fd (NULL, 0);
-  if (d != NULL)
-    {
-      _hurd_port2fd (d, port, flags);
-      __spin_unlock (&d->port.lock);
-    }
-  HURD_CRITICAL_END;
-
-  *cookieptr = d;
-  return 0;
-}
-
-
-/* Open FILENAME with the mode in M.  Use the same magic cookie
-   already in *COOKIEPTR if possible, closing the old cookie with CLOSEFN.  */
-int
-__stdio_reopen (const char *filename,
-		__io_mode m,
-		void **cookieptr,
-		__io_close_fn closefn)
-{
-  int flags;
-  file_t port;
-  struct hurd_fd *d;
-
-  if (closefn != __stdio_close)
-    {
-      /* The old cookie is Not Of The Body.
-	 Just close it and do a normal open.  */
-      (*closefn) (*cookieptr);
-      return __stdio_open (filename, m, cookieptr);
-    }
-
-  /* Open a new port on the file.  */
-  flags = modeflags (m);
-  port = __file_name_lookup (filename, flags, 0666 & ~_hurd_umask);
-
-  /* Install the new port in the same file descriptor slot the old cookie
-     points to.  If opening the file failed, PORT will be MACH_PORT_NULL
-     and installing it in the descriptor will have the effect of closing
-     the old descriptor.  */
-
-  d = *cookieptr;
-  HURD_CRITICAL_BEGIN;
-  __spin_lock (&d->port.lock);
-  _hurd_port2fd (d, port, flags);
-  __spin_unlock (&d->port.lock);
-  HURD_CRITICAL_END;
-
-  return port == MACH_PORT_NULL ? -1 : 0;
-}
-
-
-/* Write a message to the error output.
-   Try hard to make it really get out.  */
-void
-__stdio_errmsg (msg, len)
-     const char *msg;
-     size_t len;
-{
-  io_t server;
-  mach_msg_type_number_t wrote;
-
-  server = __getdport (2);
-  __io_write (server, msg, len, -1, &wrote);
-  __mach_port_deallocate (__mach_task_self (), server);
-}
-
-
-/* Return the POSIX.1 file descriptor associated with COOKIE,
-   or -1 for errors.  If COOKIE does not relate to any POSIX.1 file
-   descriptor, this should return -1 with errno set to EOPNOTSUPP.  */
-int
-__stdio_fileno (cookie)
-     void *cookie;
-{
-  int fd;
-
-  if (! cookie)
-    return __hurd_fail (EBADF);
-
-  __mutex_lock (&_hurd_dtable_lock);
-  for (fd = 0; fd < _hurd_dtablesize; ++fd)
-    if (_hurd_dtable[fd] == cookie)
-      {
-	__mutex_unlock (&_hurd_dtable_lock);
-	return fd;
-      }
-  __mutex_unlock (&_hurd_dtable_lock);
-
-  /* This should never happen, because this function should not be
-     installed as a stream's __fileno function unless that stream's cookie
-     points to a file descriptor.  */
-  errno = EGRATUITOUS;
-  return -1;
-}
diff --git a/sysdeps/mach/hurd/vdprintf.c b/sysdeps/mach/hurd/vdprintf.c
deleted file mode 100644
index 568fb6b733..0000000000
--- a/sysdeps/mach/hurd/vdprintf.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 1991, 1992, 1993, 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <limits.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <string.h>
-#include <hurd/fd.h>
-
-/* Write formatted output to file descriptor D according to the format string
-   FORMAT, using the argument list in ARG.  */
-int
-vdprintf (int d, const char *format, va_list arg)
-{
-  int done;
-  FILE f;
-  struct hurd_fd *fd;
-
-  HURD_CRITICAL_BEGIN;
-  fd = _hurd_fd_get (d);
-  HURD_CRITICAL_END;
-
-  if (!fd)
-    return 0;
-
-  /* Create an unbuffered stream talking to D on the stack.  */
-  memset ((void *) &f, 0, sizeof (f));
-  f.__magic = _IOMAGIC;
-  f.__mode.__write = 1;
-  f.__cookie = fd;
-  f.__room_funcs = __default_room_functions;
-  f.__io_funcs = __default_io_functions;
-  f.__seen = 1;
-  f.__userbuf = 1;
-
-  /* vfprintf will use a buffer on the stack for the life of the call,
-     and flush it when finished.  */
-  done = vfprintf (&f, format, arg);
-
-  return done;
-}