diff options
author | Roland McGrath <roland@gnu.org> | 2002-08-15 08:43:31 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-08-15 08:43:31 +0000 |
commit | 1a6402980810854cae28cce1a348d7e5eecd14e0 (patch) | |
tree | 1a5152a1343e4b892e086285939745f730c9570f | |
parent | 750a13ed3c376650947f703e924821c36952d33b (diff) | |
download | glibc-1a6402980810854cae28cce1a348d7e5eecd14e0.zip glibc-1a6402980810854cae28cce1a348d7e5eecd14e0.tar.gz glibc-1a6402980810854cae28cce1a348d7e5eecd14e0.tar.bz2 |
* elf/dl-load.c (lose): Remove [!SHARED] conditional from null check
on L->l_prev; it can happen under rtld --verify too.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | elf/dl-load.c | 5 |
2 files changed, 5 insertions, 3 deletions
@@ -1,5 +1,8 @@ 2002-08-15 Roland McGrath <roland@redhat.com> + * elf/dl-load.c (lose): Remove [!SHARED] conditional from null check + on L->l_prev; it can happen under rtld --verify too. + * locale/loadarchive.c (_nl_load_locale_from_archive): Don't read the header separately, just map an initial window of 2MB from the file and remap if that is not large enough to cover the whole header. diff --git a/elf/dl-load.c b/elf/dl-load.c index dac06c0..89eb6ec 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -754,12 +754,11 @@ lose (int code, int fd, const char *name, char *realname, struct link_map *l, { /* Remove the stillborn object from the list and free it. */ assert (l->l_next == NULL); -#ifndef SHARED if (l->l_prev == NULL) - /* No other module loaded. */ + /* No other module loaded. This happens only in the static library, + or in rtld under --verify. */ GL(dl_loaded) = NULL; else -#endif l->l_prev->l_next = NULL; --GL(dl_nloaded); free (l); |