From 2e2b6e2618b515340650b2f60d84112840df7570 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 3 Mar 2005 08:28:23 +0000 Subject: [BZ #776] 2005-03-01 H.J. Lu [BZ #776] * iconv/iconvconfig.c: Fix comment for the output file. (write_output): Clear padding in header. 2005-03-03 Ulrich Drepper * elf/dl-close.c (_dl_close): Don't try to set up new searchpath if the loader is closed. Fixes unload3. * elf/tst-global1.c: New file. * elf/Makefile (tests): Add tst-global1. 2005-03-03 Jakub Jelinek * elf/Makefile: Add rules to build and run unload3 test. * elf/unload3.c: New test. * elf/unload3mod1.c: New file. * elf/unload3mod2.c: New file. * elf/unload3mod3.c: New file. * elf/unload3mod4.c: New file. --- elf/dl-close.c | 30 ------------------------------ 1 file changed, 30 deletions(-) (limited to 'elf/dl-close.c') diff --git a/elf/dl-close.c b/elf/dl-close.c index eb5e805..7ad486a 100644 --- a/elf/dl-close.c +++ b/elf/dl-close.c @@ -351,36 +351,6 @@ _dl_close (void *_map) } assert (found); } - else if (new_opencount[i] != 0 && imap->l_type == lt_loaded - && imap->l_searchlist.r_list == NULL - && imap->l_initfini != NULL) - { - /* The object is still used. But the object we are - unloading right now is responsible for loading it. If - the current object does not have it's own scope yet we - have to create one. This has to be done before running - the finalizers. - - To do this count the number of dependencies. */ - unsigned int cnt; - for (cnt = 1; imap->l_initfini[cnt] != NULL; ++cnt) - if (imap->l_initfini[cnt]->l_idx >= i - && imap->l_initfini[cnt]->l_idx < nopencount) - ++new_opencount[imap->l_initfini[cnt]->l_idx]; - else - ++imap->l_initfini[cnt]->l_opencount; - - /* We simply reuse the l_initfini list. */ - imap->l_searchlist.r_list = &imap->l_initfini[cnt + 1]; - imap->l_searchlist.r_nlist = cnt; - - for (cnt = 0; imap->l_scope[cnt] != NULL; ++cnt) - if (imap->l_scope[cnt] == &map->l_searchlist) - { - imap->l_scope[cnt] = &imap->l_searchlist; - break; - } - } /* Store the new l_opencount value. */ imap->l_opencount = new_opencount[i]; -- cgit v1.1