aboutsummaryrefslogtreecommitdiff
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.zip
glibc-7ba4fcfcf2eacf57725beabe6e7e82aa1d37d0ca.tar.gz
glibc-7ba4fcfcf2eacf57725beabe6e7e82aa1d37d0ca.tar.bz2
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 b946c16..0a65f58 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 097bf38..e76a9aa 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 55b333f..f425102 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 b077d24..4a4dee3 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 f1ca0dc..8e18f41f 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 21987ad..67f428e 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 b5861cc..f6d8f39 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 015d6ea..c21155b 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 e3b4b69..7cd715e 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 ec93c81..8a7b6cf 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 521ba1a..7e5acc8 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)