summary refs log tree commit diff
path: root/elf/dl-open.c
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@codesourcery.com>2013-06-26 19:14:29 +0100
committerMaciej W. Rozycki <macro@codesourcery.com>2013-06-26 19:14:29 +0100
commitb0037103771cc02e092884c39aa9e4982073099a (patch)
tree0d9b4bdc78f2da080b392248c06055844a1520d8 /elf/dl-open.c
parentc18c701d030e28698e6faee9c6d3b8b80d0e2302 (diff)
downloadglibc-b0037103771cc02e092884c39aa9e4982073099a.tar.gz
glibc-b0037103771cc02e092884c39aa9e4982073099a.tar.xz
glibc-b0037103771cc02e092884c39aa9e4982073099a.zip
[BZ #15022] Avoid repeated calls to DL_STATIC_INIT for the same module.
Diffstat (limited to 'elf/dl-open.c')
-rw-r--r--elf/dl-open.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/elf/dl-open.c b/elf/dl-open.c
index 0f054bfca2..15221c8d57 100644
--- a/elf/dl-open.c
+++ b/elf/dl-open.c
@@ -568,6 +568,10 @@ cannot load any more object with static TLS"));
   if (relocation_in_progress)
     LIBC_PROBE (reloc_complete, 3, args->nsid, r, new);
 
+#ifndef SHARED
+  DL_STATIC_INIT (new);
+#endif
+
   /* Run the initializer functions of new objects.  */
   _dl_init (new, args->argc, args->argv, args->env);
 
@@ -721,10 +725,6 @@ no more namespaces available for dlmopen()"));
   /* Release the lock.  */
   __rtld_lock_unlock_recursive (GL(dl_load_lock));
 
-#ifndef SHARED
-  DL_STATIC_INIT (args.map);
-#endif
-
   return args.map;
 }