diff --git a/ChangeLog b/ChangeLog index 8cd9f755cc..7256b36669 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2002-08-15 Roland McGrath + * 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 dac06c0617..89eb6eccc9 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);