aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-07-12 15:34:38 +0000
committerJakub Jelinek <jakub@redhat.com>2007-07-12 15:34:38 +0000
commit3c8ed68000400bb993f4b9cc4efd36cb17c9c6ec (patch)
tree2c8e669b5d07edfa5e3fabbd6aaa894e58c73f83
parent24f7705688a88db3981b3e06d5df57131006836d (diff)
downloadglibc-3c8ed68000400bb993f4b9cc4efd36cb17c9c6ec.tar
glibc-3c8ed68000400bb993f4b9cc4efd36cb17c9c6ec.tar.gz
glibc-3c8ed68000400bb993f4b9cc4efd36cb17c9c6ec.tar.bz2
glibc-3c8ed68000400bb993f4b9cc4efd36cb17c9c6ec.zip
2007-06-18 Jakub Jelinek <jakub@redhat.com>
* elf/rtld.c (dl_main): Don't call init_tls more than once.
-rw-r--r--ChangeLog4
-rw-r--r--elf/rtld.c10
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 67481ed67a..6e635e6e95 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-06-18 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/rtld.c (dl_main): Don't call init_tls more than once.
+
2007-06-19 Ulrich Drepper <drepper@redhat.com>
* elf/dl-close.c (free_mem): Free _dl_scope_free_list.
diff --git a/elf/rtld.c b/elf/rtld.c
index 584d216f70..7bf84e2534 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -1414,6 +1414,12 @@ ld.so does not support TLS, but program uses it!\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;
+
+#ifdef USE_TLS
+ /* Since we start using the auditing DSOs right away we need to
+ initialize the data structures now. */
+ tcbp = init_tls ();
+#endif
do
{
#ifdef USE_TLS
@@ -1424,10 +1430,6 @@ ld.so does not support TLS, but program uses it!\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 ();
#endif
struct dlmopen_args dlmargs;
dlmargs.fname = al->name;