diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-01-16 17:09:04 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-01-16 17:09:04 +0000 |
commit | 482eec0d1188823ad93247f79bf965886e8bd4f7 (patch) | |
tree | 5a3157c41a1310f5440de77f841753a32bb1444d /elf/dl-close.c | |
parent | 37a87f834a459f6136ff44c7887b013d1ae0f6be (diff) | |
download | glibc-482eec0d1188823ad93247f79bf965886e8bd4f7.tar.gz glibc-482eec0d1188823ad93247f79bf965886e8bd4f7.tar.xz glibc-482eec0d1188823ad93247f79bf965886e8bd4f7.zip |
Update.
1999-01-16 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (tests): Add loadtest. Add rules to generate test modules. * Makeconfig (+link): Add $(LDFLAGS-$(@F)) to command line. * elf/loadtest.c: New file. * elf/testobj1.c: New file. * elf/testobj2.c: New file. * elf/testobj3.c: New file. * elf/dl-close.c: Correct removing module from global list. * elf/dl-open.c: Add debugging code. * include/string.h: Add __rawmemchr prototype. * string/Makefile (routines): Add rawmemchr. * string/Versions [GLIBC_2.1]: Add __rawmemchr and rawmemchr. * string/string.h: Add prototype for rawmemchr. * string/bits/string2.h: Optimize strchr with rawmemchr. * sysdeps/generic/rawmemchr.c: New file. * sysdeps/i386/rawmemchr.c: New file. * sysdeps/i386/i486/bits/string.h: Add rawmemchr inline code. Optimize strchr with rawmemchr. * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define _LFS_LARGEFILE, _LFS64_LARGEFILE, and _LFS64_STDIO for Unix98. 1999-01-14 Andreas Jaeger <aj@arthur.rhein-neckar.de> * nis/nis_error.c (nis_errlist): Fix capitilasation.
Diffstat (limited to 'elf/dl-close.c')
-rw-r--r-- | elf/dl-close.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/elf/dl-close.c b/elf/dl-close.c index 0fbeecc4cd..6a68651d22 100644 --- a/elf/dl-close.c +++ b/elf/dl-close.c @@ -1,5 +1,5 @@ /* Close a shared object opened by `_dl_open'. - Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999 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 @@ -108,12 +108,11 @@ _dl_close (struct link_map *map) do --cnt; while (_dl_main_searchlist->r_list[cnt] != imap); - while (cnt < _dl_main_searchlist->r_nlist) - { - _dl_main_searchlist->r_list[0] - = _dl_main_searchlist->r_list[1]; - ++cnt; - } + + while (++cnt < _dl_main_searchlist->r_nlist) + _dl_main_searchlist->r_list[cnt - 1] + = _dl_main_searchlist->r_list[cnt]; + --_dl_main_searchlist->r_nlist; if (_dl_main_searchlist->r_nlist == _dl_initial_searchlist.r_nlist) |