diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-06-02 12:58:14 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-06-02 12:58:14 +0000 |
commit | 7ba4fcfcf2eacf57725beabe6e7e82aa1d37d0ca (patch) | |
tree | 0b200ff8e352e266de80fa3425962666e0731d28 /sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c | |
parent | 0061df4ed91c91d6b20f3edc0aab437f3fed4969 (diff) | |
download | glibc-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/unix/sysv/linux/powerpc/dl-sysdep.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c | 17 |
1 files changed, 15 insertions, 2 deletions
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) |