diff options
author | Maciej W. Rozycki <macro@codesourcery.com> | 2013-06-26 19:14:29 +0100 |
---|---|---|
committer | Maciej W. Rozycki <macro@codesourcery.com> | 2013-06-26 19:14:29 +0100 |
commit | b0037103771cc02e092884c39aa9e4982073099a (patch) | |
tree | 0d9b4bdc78f2da080b392248c06055844a1520d8 /elf | |
parent | c18c701d030e28698e6faee9c6d3b8b80d0e2302 (diff) | |
download | glibc-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')
-rw-r--r-- | elf/dl-open.c | 8 |
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; } |