Update.
authorUlrich Drepper <drepper@redhat.com>
Fri, 8 Sep 2000 05:49:02 +0000 (05:49 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 8 Sep 2000 05:49:02 +0000 (05:49 +0000)
* elf/dl-load.c (lose): Decrement _nl_loaded.
(_dl_map_object_from_fd): Don't try to dlopen executables.

ChangeLog
elf/dl-load.c

index 212eaa8..b34bde4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2000-09-07  Ulrich Drepper  <drepper@redhat.com>
 
+       * elf/dl-load.c (lose): Decrement _nl_loaded.
+       (_dl_map_object_from_fd): Don't try to dlopen executables.
+
        * iconvdata/tst-tables.sh: Actually return with an error if
        something goes wrong.
        * iconvdata/tst-table.sh: Return with an error if any of the cmp fails.
index 4fd4dfb..2911e07 100644 (file)
@@ -709,6 +709,7 @@ lose (int code, int fd, const char *name, char *realname, struct link_map *l,
        l->l_prev->l_next = l->l_next;
       if (l->l_next)
        l->l_next->l_prev = l->l_prev;
+      --_dl_nloaded;
       free (l);
     }
   free (realname);
@@ -997,6 +998,13 @@ _dl_map_object_from_fd (const char *name, int fd, char *realname,
       }
     else
       {
+       /* This object is loaded at a fixed address.  This must never
+           happen for objects loaded with dlopen().  */
+       if (mode & __RTLD_DLOPEN)
+         {
+           LOSE (0, N_("cannot dynamically load executable"));
+         }
+
        /* Notify ELF_PREFERRED_ADDRESS that we have to load this one
           fixed.  */
        ELF_FIXED_ADDRESS (loader, c->mapstart);