diff options
Diffstat (limited to 'elf/dl-init.c')
-rw-r--r-- | elf/dl-init.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/elf/dl-init.c b/elf/dl-init.c index 87c64d7eab..c2b96e8a7f 100644 --- a/elf/dl-init.c +++ b/elf/dl-init.c @@ -18,6 +18,9 @@ #include <stddef.h> #include <ldsodefs.h> +#ifdef ENABLE_RTLD_DB +# include "dl-rtld_db.h" +#endif /* Type of the initializer. */ @@ -94,6 +97,10 @@ _dl_init (struct link_map *main_map, int argc, char **argv, char **env) ElfW(Dyn) *preinit_array_size = main_map->l_info[DT_PREINIT_ARRAYSZ]; unsigned int i; +#ifdef ENABLE_RTLD_DB + rtld_db_event (RD_PREINIT, RD_NOSTATE); +#endif + if (__builtin_expect (GL(dl_initfirst) != NULL, 0)) { call_init (GL(dl_initfirst), argc, argv, env); @@ -132,6 +139,10 @@ _dl_init (struct link_map *main_map, int argc, char **argv, char **env) while (i-- > 0) call_init (main_map->l_initfini[i], argc, argv, env); +#ifdef ENABLE_RTLD_DB + rtld_db_event (RD_POSTINIT, RD_NOSTATE); +#endif + #ifndef HAVE_INLINED_SYSCALLS /* Finished starting up. */ INTUSE(_dl_starting_up) = 0; |