diff --git a/ChangeLog b/ChangeLog index 0d56b696fa..8b0f645b37 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-11-09 Ulrich Drepper + + * elf/dl-load.c (_dl_map_object_from_fd): Delete code to remove + from object list when DF_1_NOOPEN is seen. This is done in lose. + 2001-11-08 Ulrich Drepper * elf/dl-object.c (_dl_new_object): Various small optimizations. diff --git a/elf/dl-load.c b/elf/dl-load.c index 60e7d2e869..337517b19a 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -1136,17 +1136,6 @@ _dl_map_object_from_fd (const char *name, int fd, struct filebuf *fbp, if (__builtin_expect (l->l_flags_1 & DF_1_NOOPEN, 0) && (mode & __RTLD_DLOPEN)) { - /* Remove from the module list. */ - assert (l->l_next == NULL); -#ifndef SHARED - if (l->l_prev == NULL) - /* No other module loaded. */ - _dl_loaded = NULL; - else -#endif - l->l_prev->l_next = NULL; - --_dl_nloaded; - /* We are not supposed to load this object. Free all resources. */ __munmap ((void *) l->l_map_start, l->l_map_end - l->l_map_start); @@ -1156,8 +1145,6 @@ _dl_map_object_from_fd (const char *name, int fd, struct filebuf *fbp, if (l->l_phdr_allocated) free ((void *) l->l_phdr); - free (l); - errstring = N_("shared object cannot be dlopen()ed"); goto call_lose; }