diff options
author | Roland McGrath <roland@gnu.org> | 1995-12-12 02:42:14 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1995-12-12 02:42:14 +0000 |
commit | 65bf5fa3172ab9d77fd1792fae68ad85eed2a7b1 (patch) | |
tree | c3816deedd850359142a0003295cf4f1b0ea96f3 /elf | |
parent | 9b8a44cd18fbf1aedeb03e19f4bcdb06b0ee409b (diff) | |
download | glibc-65bf5fa3172ab9d77fd1792fae68ad85eed2a7b1.zip glibc-65bf5fa3172ab9d77fd1792fae68ad85eed2a7b1.tar.gz glibc-65bf5fa3172ab9d77fd1792fae68ad85eed2a7b1.tar.bz2 |
Regenerated
Fri Dec 8 13:04:51 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/glob.c: Implement new options GLOB_ALTDIRFUNC, GLOB_BRACE,
GLOB_TILDE, GLOB_NOMAGIC.
(glob): Use stat instead of lstat to determine directoriness.
* posix/glob.h (GLOB_ALTDIRFUNC, GLOB_BRACE, GLOB_NOMAGIC, GLOB_TILDE):
New flag bits.
(__GLOB_FLAGS): Include them.
(glob_t): New members gl_closedir, gl_readdir, gl_opendir, gl_lstat,
gl_stat.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-init.c | 5 | ||||
-rw-r--r-- | elf/rtld.c | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/elf/dl-init.c b/elf/dl-init.c index c44a73f..7375c5f 100644 --- a/elf/dl-init.c +++ b/elf/dl-init.c @@ -62,7 +62,8 @@ _dl_init_next (void) } } - if (l->l_info[DT_INIT]) + if (l->l_info[DT_INIT] && + !(l->l_name[0] == '\0' && l->l_type == lt_executable)) { /* Run this object's initializer. */ l->l_init_running = 1; @@ -76,7 +77,7 @@ _dl_init_next (void) } /* Look for the first initializer not yet called. */ - l = _dl_loaded->l_next; /* Skip the executable itself. */ + l = _dl_loaded; do { init = next_init (l); @@ -182,8 +182,7 @@ of this helper program; chances are you did not intend to run this program.\n", l = _dl_map_object (NULL, _dl_argv[0]); phdr = l->l_phdr; phent = l->l_phnum; - l->l_type = lt_executable; - l->l_libname = (char *) ""; + l->l_name = (char *) ""; *user_entry = l->l_entry; } else @@ -270,6 +269,7 @@ of this helper program; chances are you did not intend to run this program.\n", { struct link_map *new; new = _dl_map_object (l, strtab + d->d_un.d_val); + new->l_type = lt_library; if (!before_rtld && new == &rtld_map) before_rtld = last; last = new; |