diff options
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-close.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/elf/dl-close.c b/elf/dl-close.c index cbbb2ae..58a84b5 100644 --- a/elf/dl-close.c +++ b/elf/dl-close.c @@ -80,6 +80,7 @@ _dl_close (void *_map) struct link_map *imap = map->l_initfini[i]; if (imap->l_opencount == 1 && imap->l_type == lt_loaded && (imap->l_info[DT_FINI] || imap->l_info[DT_FINI_ARRAY]) + && ! (list[i]->l_flags_1 & DF_1_NODELETE) /* Skip any half-cooked objects that were never initialized. */ && imap->l_init_called) { |