[BZ #15022] Avoid repeated calls to DL_STATIC_INIT for the same module.

This commit is contained in:
Maciej W. Rozycki 2013-06-26 19:14:29 +01:00
parent c18c701d03
commit b003710377
2 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2013-06-26 Maciej W. Rozycki <macro@codesourcery.com>
[BZ #15022]
* elf/dl-open.c (_dl_open) [!SHARED]: Move call to DL_STATIC_INIT
over to...
(dl_open_worker) [!SHARED]: ... here.
2013-06-26 Ryan S. Arnold <rsa@linux.vnet.ibm.com> 2013-06-26 Ryan S. Arnold <rsa@linux.vnet.ibm.com>
* elf/elf.h (AT_HWCAP2): Add a new a_type entry. * elf/elf.h (AT_HWCAP2): Add a new a_type entry.

View File

@ -568,6 +568,10 @@ cannot load any more object with static TLS"));
if (relocation_in_progress) if (relocation_in_progress)
LIBC_PROBE (reloc_complete, 3, args->nsid, r, new); LIBC_PROBE (reloc_complete, 3, args->nsid, r, new);
#ifndef SHARED
DL_STATIC_INIT (new);
#endif
/* Run the initializer functions of new objects. */ /* Run the initializer functions of new objects. */
_dl_init (new, args->argc, args->argv, args->env); _dl_init (new, args->argc, args->argv, args->env);
@ -721,10 +725,6 @@ no more namespaces available for dlmopen()"));
/* Release the lock. */ /* Release the lock. */
__rtld_lock_unlock_recursive (GL(dl_load_lock)); __rtld_lock_unlock_recursive (GL(dl_load_lock));
#ifndef SHARED
DL_STATIC_INIT (args.map);
#endif
return args.map; return args.map;
} }