From: Jakub Jelinek Date: Sat, 7 Jul 2007 17:21:49 +0000 (+0000) Subject: * elf/rtld.c (dl_main): Don't call init_tls more than once. X-Git-Tag: cvs/fedora-glibc-2_6-4~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5daa0615659c5651d48e39ba7c17db769bbe10d4;p=thirdparty%2Fglibc.git * elf/rtld.c (dl_main): Don't call init_tls more than once. --- diff --git a/ChangeLog b/ChangeLog index ba9f84629ed..96f9bf071b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2007-06-18 Jakub Jelinek + + * elf/rtld.c (dl_main): Don't call init_tls more than once. + 2007-06-19 Ulrich Drepper * elf/dl-close.c (free_mem): Free _dl_scope_free_list. diff --git a/elf/rtld.c b/elf/rtld.c index c57ef17e139..7612a69324f 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -1400,6 +1400,11 @@ of this helper program; chances are you did not intend to run this program.\n\ /* Iterate over all entries in the list. The order is important. */ struct audit_ifaces *last_audit = NULL; struct audit_list *al = audit_list->next; + + /* Since we start using the auditing DSOs right away we need to + initialize the data structures now. */ + tcbp = init_tls (); + do { int tls_idx = GL(dl_tls_max_dtv_idx); @@ -1409,11 +1414,6 @@ of this helper program; chances are you did not intend to run this program.\n\ always allocate the static block, we never defer it even if no DF_STATIC_TLS bit is set. The reason is that we know glibc will use the static model. */ - - /* Since we start using the auditing DSOs right away we need to - initialize the data structures now. */ - tcbp = init_tls (); - struct dlmopen_args dlmargs; dlmargs.fname = al->name; dlmargs.map = NULL;