From: Ulrich Drepper Date: Fri, 8 Sep 2000 05:49:02 +0000 (+0000) Subject: Update. X-Git-Tag: cvs/libc-2_1_94~75 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=48da10925964e02aa3dd4f7d7373984e3ccd250e;p=platform%2Fupstream%2Fglibc.git Update. * elf/dl-load.c (lose): Decrement _nl_loaded. (_dl_map_object_from_fd): Don't try to dlopen executables. --- diff --git a/ChangeLog b/ChangeLog index 212eaa8..b34bde4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2000-09-07 Ulrich Drepper + * 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. diff --git a/elf/dl-load.c b/elf/dl-load.c index 4fd4dfb..2911e07 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -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);