diff options
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | elf/rtld.c | 5 |
2 files changed, 3 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 6848767d0a..05dc7111cf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,7 @@ * elf/dl-object.c (_dl_new_object): Store map address in _dl_loaded if _dl_loaded is NULL. + * elf/rtld.c (dl_main): Don't update _dl_loaded here. * sysdeps/generic/setrlimit64.c: Remove stub warning. diff --git a/elf/rtld.c b/elf/rtld.c index 52295deb2c..7216c19aab 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -411,7 +411,6 @@ of this helper program; chances are you did not intend to run this program.\n\ args.str = _dl_argv[0]; (void) _dl_catch_error (&err_str, map_doit, &args); - _dl_loaded = args.main_map; if (err_str != NULL) { free (err_str); @@ -419,7 +418,7 @@ of this helper program; chances are you did not intend to run this program.\n\ } } else - _dl_loaded = _dl_map_object (NULL, _dl_argv[0], 0, lt_library, 0); + _dl_map_object (NULL, _dl_argv[0], 0, lt_library, 0); phdr = _dl_loaded->l_phdr; phent = _dl_loaded->l_phnum; @@ -434,7 +433,7 @@ of this helper program; chances are you did not intend to run this program.\n\ { /* Create a link_map for the executable itself. This will be what dlopen on "" returns. */ - _dl_loaded = _dl_new_object ((char *) "", "", lt_executable, NULL); + _dl_new_object ((char *) "", "", lt_executable, NULL); if (_dl_loaded == NULL) _dl_sysdep_fatal ("cannot allocate memory for link map\n", NULL); _dl_loaded->l_phdr = phdr; |