about summary refs log tree commit diff
path: root/elf/rtld.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index b2ea21c98b..0016db86a7 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -46,6 +46,7 @@
 #include <stackinfo.h>
 #include <not-cancel.h>
 #include <array_length.h>
+#include <libc-early-init.h>
 
 #include <assert.h>
 
@@ -2372,6 +2373,9 @@ ERROR: '%s': cannot process note segment.\n", _dl_argv[0]);
       rtld_timer_accum (&relocate_time, start);
     }
 
+  /* Relocation is complete.  Perform early libc initialization.  */
+  _dl_call_libc_early_init (GL(dl_ns)[LM_ID_BASE].libc_map);
+
   /* Do any necessary cleanups for the startup OS interface code.
      We do these now so that no calls are made after rtld re-relocation
      which might be resolved to different functions than we expect.