about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--elf/dl-load.c13
2 files changed, 5 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 0d56b696fa..8b0f645b37 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2001-11-09  Ulrich Drepper  <drepper@redhat.com>
+
+	* 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  <drepper@redhat.com>
 
 	* 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;
     }