about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-06-02 12:58:14 +0000
committerUlrich Drepper <drepper@redhat.com>1998-06-02 12:58:14 +0000
commit7ba4fcfcf2eacf57725beabe6e7e82aa1d37d0ca (patch)
tree0b200ff8e352e266de80fa3425962666e0731d28 /sysdeps
parent0061df4ed91c91d6b20f3edc0aab437f3fed4969 (diff)
downloadglibc-7ba4fcfcf2eacf57725beabe6e7e82aa1d37d0ca.tar.gz
glibc-7ba4fcfcf2eacf57725beabe6e7e82aa1d37d0ca.tar.xz
glibc-7ba4fcfcf2eacf57725beabe6e7e82aa1d37d0ca.zip
Update.
1998-06-01  Gordon Matzigkeit  <gord@profitpress.com>

	* hurd/Makefile (routines): Add cthreads.

1998-05-31  Mark Kettenis  <kettenis@phys.uva.nl>

	* login/login.c (login): Let pututline take care of finding the
	positin to insert the UTMP entry.  This corrects a bug where ssh
	was not reusing UTMP entries marked as DEAD_PROCESS.
	Reported by Herbert Xu <herbert@gondor.apana.org.au>.

1998-05-31  Mark Kettenis  <kettenis@phys.uva.nl>

	* login/Makefile (tests): New variable, add tst-utmp and
	tst-utmpx.
	* login/tst-utmp.c: New file.
	* login/tst-utmpx.c: New file.

1998-06-01  Gordon Matzigkeit  <gord@profitpress.com>

	* sysdeps/mach/hurd/errlist.c (sys_nerr, _sys_nerr): Make weak
	aliases for _hurd_nerr, for programs that don't use sys_errlist,
	but need sys_err.

1998-05-31  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/generic/updwtmpx.c: Rename function to updwtmpx.
	* libc.map: Add updwtmpx and utmpxname to GLIBC_2.1.

1998-05-31  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/mach/hurd/read.c: Rename function to __libc_read and
	make __read a weak alias.  Use ANSI-style function definition.
	* sysdeps/mach/hurd/write.c: Likewise.

1998-05-31  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/mach/hurd/err_hurd.sub: Use _hurd_errlist instead of
	_sys_errlist.

1998-05-30  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/mach/hurd/Makefile ($(objpfx)librtld.os):
	Renamed from librtld.so.

1998-06-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* libc.map: Remove _IO_getline_info which was erroneously
	introduced in section GLIBC_2.0.
	Noticed by Horst von Brand <vonbrand@sleipnir.valparaiso.cl>.

1998-06-01  Gordon Matzigkeit  <gord@profitpress.com>

	* sysdeps/generic/socket.c (__socket): Renamed from socket, and
	created a weak alias.
	* sysdeps/mach/hurd/socket.c (__socket): Likewise.

1998-05-31  Gordon Matzigkeit  <gord@profitpress.com>

	* sysdeps/mach/hurd/ftruncate.c (__ftruncate): Rename from old
	ftruncate function, and create a weak alias to ftruncate.

1998-06-01  Gordon Matzigkeit  <gord@profitpress.com>

	* grp/fgetgrent_r.c: Use &errno instead of __errno_location ().
	* inet/getnetgrent_r.c: Likewise.
	* nss/getXXbyYY_r.c: Likewise.
	* nss/getXXent_r.c: Likewise.
	* pwd/fgetpwent_r.c: Likewise.
	* shadow/sgetspent_r.c: Likewise.
	* shadow/fgetspent_r.c: Likewise.
	* sunrpc/publickey.c: Likewise.

1998-06-01  Gordon Matzigkeit  <gord@profitpress.com>

	* hurd/libhurduser.map: New file.
	* mach/libmachuser.map: Likewise.

	* libc.map: Add Hurd-specific functions to version 2.1.
	Add __flshfp and __fillbf.

1998-05-30  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* manual/signal.texi (Basic Signal Handling): Fix typo.
	* manual/errno.texi (Error Codes): Likewise.

1998-06-02  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/netipx/ipx.h: Include <bits/sockaddr.h>
	instead of <sys/socket.h>.
	Patch by NIIBE Yutaka <gniibe@mri.co.jp>

	* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c (DL_FIND_ARG_COMPONENTS):
	Finally make it working.
	Patch by Mark Hatle <fray@kernel.crashing.org>.

1998-03-22  Paul Eggert  <eggert@twinsun.com>

	* posix/regex.c: Include <wchar.h> before <wctype.h>, to work around
	a Solaris 2.6 bug.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/socket.c5
-rw-r--r--sysdeps/generic/updwtmpx.c2
-rw-r--r--sysdeps/mach/hurd/Makefile2
-rw-r--r--sysdeps/mach/hurd/err_hurd.sub5
-rw-r--r--sysdeps/mach/hurd/errlist.c4
-rw-r--r--sysdeps/mach/hurd/ftruncate.c7
-rw-r--r--sysdeps/mach/hurd/read.c10
-rw-r--r--sysdeps/mach/hurd/socket.c7
-rw-r--r--sysdeps/mach/hurd/write.c12
-rw-r--r--sysdeps/unix/sysv/linux/netipx/ipx.h4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c17
11 files changed, 46 insertions, 29 deletions
diff --git a/sysdeps/generic/socket.c b/sysdeps/generic/socket.c
index b946c164e8..0a65f5812e 100644
--- a/sysdeps/generic/socket.c
+++ b/sysdeps/generic/socket.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 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
@@ -23,7 +23,7 @@
    protocol PROTOCOL.  If PROTOCOL is zero, one is chosen automatically.
    Returns a file descriptor for the new socket, or -1 for errors.  */
 int
-socket (domain, type, protocol)
+__socket (domain, type, protocol)
      int domain;
      int type;
      int protocol;
@@ -33,5 +33,6 @@ socket (domain, type, protocol)
 }
 
 
+weak_alias (__socket, socket)
 stub_warning (socket)
 #include <stub-tag.h>
diff --git a/sysdeps/generic/updwtmpx.c b/sysdeps/generic/updwtmpx.c
index 097bf380d2..e76a9aad28 100644
--- a/sysdeps/generic/updwtmpx.c
+++ b/sysdeps/generic/updwtmpx.c
@@ -21,7 +21,7 @@
 #include <utmpx.h>
 
 void
-__updwtmpx (const char *wtmpx_file, const struct utmpx *utmpx)
+updwtmpx (const char *wtmpx_file, const struct utmpx *utmpx)
 {
   __updwtmp (wtmpx_file, (const struct utmp *) utmpx);
 }
diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile
index 55b333f929..f4251024b1 100644
--- a/sysdeps/mach/hurd/Makefile
+++ b/sysdeps/mach/hurd/Makefile
@@ -123,7 +123,7 @@ $(inst_libdir)/libc.so: $(rpcuserlibs)
 # linker, too.  It must be self-contained, so we link the needed PIC
 # objects directly into the shared object.
 ifeq (elf,$(subdir))
-$(objpfx)librtld.so: $(rpcuserlibs:.so=_pic.a)
+$(objpfx)librtld.os: $(rpcuserlibs:.so=_pic.a)
 endif
 
 
diff --git a/sysdeps/mach/hurd/err_hurd.sub b/sysdeps/mach/hurd/err_hurd.sub
index b077d24786..4a4dee3aa3 100644
--- a/sysdeps/mach/hurd/err_hurd.sub
+++ b/sysdeps/mach/hurd/err_hurd.sub
@@ -1,11 +1,12 @@
 /* This file defines the Mach error system for Hurd server errors.  */
 
-#include <stdio.h>
 #include <errno.h>
 
+extern const char *const _hurd_errlist[];
+
 /* Omit `const' because we are included with `static'
    defined to `static const'.  */
 static struct error_subsystem err_hurd_sub[] =
   {
-    { "(os/hurd)", _HURD_ERRNOS, (const char *const *) _sys_errlist },
+    { "(os/hurd)", _HURD_ERRNOS, (const char *const *) _hurd_errlist },
   };
diff --git a/sysdeps/mach/hurd/errlist.c b/sysdeps/mach/hurd/errlist.c
index f1ca0dc3ae..8e18f41f22 100644
--- a/sysdeps/mach/hurd/errlist.c
+++ b/sysdeps/mach/hurd/errlist.c
@@ -26,3 +26,7 @@
 #define ERR_REMAP(n) (err_get_code (n))
 
 #include <sysdeps/gnu/errlist.c>
+
+/* Oblige programs that use sys_nerr, but don't use sys_errlist. */
+weak_alias (_hurd_nerr, sys_nerr)
+weak_alias (_hurd_nerr, _sys_nerr)
diff --git a/sysdeps/mach/hurd/ftruncate.c b/sysdeps/mach/hurd/ftruncate.c
index 21987ad53e..67f428e55d 100644
--- a/sysdeps/mach/hurd/ftruncate.c
+++ b/sysdeps/mach/hurd/ftruncate.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 95, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 94, 95, 97, 98 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
@@ -18,6 +18,7 @@
 
 #include <sys/types.h>
 #include <errno.h>
+#include <unistd.h>
 #include <hurd.h>
 #include <hurd/fd.h>
 
@@ -25,10 +26,12 @@
 int
 ftruncate (fd, length)
      int fd;
-     off_t length;
+     __off_t length;
 {
   error_t err;
   if (err = HURD_DPORT_USE (fd, __file_set_size (port, length)))
     return __hurd_dfail (fd, err);
   return 0;
 }
+
+weak_alias (__ftruncate, ftruncate)
diff --git a/sysdeps/mach/hurd/read.c b/sysdeps/mach/hurd/read.c
index b5861cc860..f6d8f390b9 100644
--- a/sysdeps/mach/hurd/read.c
+++ b/sysdeps/mach/hurd/read.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1994, 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
@@ -23,13 +23,11 @@
 
 /* Read NBYTES into BUF from FD.  Return the number read or -1.  */
 ssize_t
-__read (fd, buf, nbytes)
-     int fd;
-     void *buf;
-     size_t nbytes;
+__libc_read (int fd, void *buf, size_t nbytes)
 {
   error_t err = HURD_FD_USE (fd, _hurd_fd_read (descriptor, buf, &nbytes));
   return err ? __hurd_dfail (fd, err) : nbytes;
 }
 
-weak_alias (__read, read)
+weak_alias (__libc_read, __read)
+weak_alias (__libc_read, read)
diff --git a/sysdeps/mach/hurd/socket.c b/sysdeps/mach/hurd/socket.c
index 015d6ea448..c21155bde6 100644
--- a/sysdeps/mach/hurd/socket.c
+++ b/sysdeps/mach/hurd/socket.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 93, 94, 95, 96, 97, 98 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
@@ -26,9 +26,8 @@
 /* Create a new socket of type TYPE in domain DOMAIN, using
    protocol PROTOCOL.  If PROTOCOL is zero, one is chosen automatically.
    Returns a file descriptor for the new socket, or -1 for errors.  */
-/* XXX should be __socket ? */
 int
-socket (domain, type, protocol)
+__socket (domain, type, protocol)
      int domain;
      int type;
      int protocol;
@@ -65,3 +64,5 @@ socket (domain, type, protocol)
 
   return _hurd_intern_fd (sock, O_IGNORE_CTTY, 1);
 }
+
+weak_alias (__socket, socket)
diff --git a/sysdeps/mach/hurd/write.c b/sysdeps/mach/hurd/write.c
index e3b4b695f2..7cd715e5a7 100644
--- a/sysdeps/mach/hurd/write.c
+++ b/sysdeps/mach/hurd/write.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 95, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 94, 95, 97, 98 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
@@ -22,15 +22,11 @@
 #include <hurd/fd.h>
 
 ssize_t
-__write (fd, buf, nbytes)
-     int fd;
-     const void *buf;
-     size_t nbytes;
+__libc_write (int fd, const void *buf, size_t nbytes)
 {
   error_t err = HURD_FD_USE (fd, _hurd_fd_write (descriptor, buf, &nbytes));
   return err ? __hurd_dfail (fd, err) : nbytes;
 }
 
-
-
-weak_alias (__write, write)
+weak_alias (__libc_write, __write)
+weak_alias (__libc_write, write)
diff --git a/sysdeps/unix/sysv/linux/netipx/ipx.h b/sysdeps/unix/sysv/linux/netipx/ipx.h
index ec93c8185c..8a7b6cf804 100644
--- a/sysdeps/unix/sysv/linux/netipx/ipx.h
+++ b/sysdeps/unix/sysv/linux/netipx/ipx.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 95, 96, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 95, 96, 97, 98 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
@@ -22,7 +22,7 @@
 #include <features.h>
 
 #include <sys/types.h>
-#include <sys/socket.h>
+#include <bits/sockaddr.h>
 
 __BEGIN_DECLS
 
diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
index 521ba1ae5c..7e5acc83cb 100644
--- a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
+++ b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
@@ -24,13 +24,26 @@
 #define DL_FIND_ARG_COMPONENTS(cookie, argc, argv, envp, auxp)	\
   do {								\
     char **_tmp;						\
+    size_t _test;						\
     (argc) = *(long *) cookie;					\
     (argv) = (char **) cookie + 1;				\
     (envp) = (argv) + (argc) + 1;				\
     for (_tmp = (envp); *_tmp; ++_tmp)				\
       continue;							\
-    (auxp) = (void *) ++_tmp;					\
-    (auxp) = (void *)(((size_t)(auxp) + 0xF) & 0xFFFFFFF0);	\
+    /* The following '++' is important!  */			\
+    ++_tmp;							\
+								\
+    _test = (size_t)_tmp;					\
+    _test = _test + 0xf & ~0xf;					\
+    /* Under some circumstances, MkLinux (up to at least DR3a5)	\
+       omits the padding.  To work around this, we make a	\
+       basic sanity check of the argument vector.  Of		\
+       course, this means that in future, the argument		\
+       vector will have to be laid out to allow for this	\
+       test :-(.  */						\
+     if (((ElfW(auxv_t) *)_test)->a_type <= 0x10)		\
+       _tmp = (char **)_test;					\
+    (auxp) = (ElfW(auxv_t) *) _tmp;				\
   } while (0)