diff options
Diffstat (limited to 'elf/dl-init.c')
-rw-r--r-- | elf/dl-init.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/elf/dl-init.c b/elf/dl-init.c index a328716bf3..74810feff1 100644 --- a/elf/dl-init.c +++ b/elf/dl-init.c @@ -26,6 +26,7 @@ typedef void (*init_t) (int, char **, char **); /* Flag, nonzero during startup phase. */ extern int _dl_starting_up; +extern int _dl_starting_up_internal attribute_hidden; static void @@ -52,7 +53,7 @@ call_init (struct link_map *l, int argc, char **argv, char **env) /* Print a debug message if wanted. */ if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0)) INTUSE(_dl_debug_printf) ("\ncalling init: %s\n\n", - l->l_name[0] ? l->l_name : _dl_argv[0]); + l->l_name[0] ? l->l_name : rtld_progname); /* Now run the local constructors. There are two forms of them: - the one named by DT_INIT @@ -108,7 +109,7 @@ _dl_init (struct link_map *main_map, int argc, char **argv, char **env) if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0)) INTUSE(_dl_debug_printf) ("\ncalling preinit: %s\n\n", main_map->l_name[0] - ? main_map->l_name : _dl_argv[0]); + ? main_map->l_name : rtld_progname); addrs = (ElfW(Addr) *) (main_map->l_info[DT_PREINIT_ARRAY]->d_un.d_ptr + main_map->l_addr); @@ -142,6 +143,6 @@ _dl_init (struct link_map *main_map, int argc, char **argv, char **env) INTUSE(_dl_debug_state) (); /* Finished starting up. */ - _dl_starting_up = 0; + INTUSE(_dl_starting_up) = 0; } INTDEF (_dl_init) |