From: Maciej W. Rozycki Date: Wed, 26 Jun 2013 18:14:29 +0000 (+0100) Subject: [BZ #15022] Avoid repeated calls to DL_STATIC_INIT for the same module. X-Git-Tag: upstream/2.30~8895 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b0037103771cc02e092884c39aa9e4982073099a;p=external%2Fglibc.git [BZ #15022] Avoid repeated calls to DL_STATIC_INIT for the same module. --- diff --git a/ChangeLog b/ChangeLog index 8bc2ddc..64f2fe3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2013-06-26 Maciej W. Rozycki + + [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 * elf/elf.h (AT_HWCAP2): Add a new a_type entry. diff --git a/elf/dl-open.c b/elf/dl-open.c index 0f054bf..15221c8 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; }