summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@redhat.com>2010-05-03 08:08:28 -0700
committerUlrich Drepper <drepper@redhat.com>2010-05-03 08:08:28 -0700
commit5a2a1d75043138e696222ced4560de2fb90b8024 (patch)
tree76c2da1388b8787ebabb9e61cf27d7510d1f5a7b /ChangeLog
parentc739ec3d81a34a87d8ae1276eab4f5880afc3476 (diff)
Don't deadlock in __dl_iterate_phdr while (un)loading objects.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog13
1 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ad1d327e12..4005fc82c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2010-02-02 Andreas Schwab <schwab@redhat.com>
+
+ * sysdeps/generic/ldsodefs.h (struct rtld_global): Add
+ _dl_load_write_lock.
+ * elf/rtld.c (_rtld_global): Initialize it.
+ * elf/dl-support.c (_dl_load_write_lock): Define .
+ * elf/dl-close.c (_dl_close_worker): Lock GL(dl_load_write_lock)
+ when modifying the list of loaded objects.
+ * elf/dl-load.c (lose): Likewise.
+ * elf/dl-object.c (_dl_new_object): Likewise.
+ * elf/dl-iteratephdr.c (__dl_iterate_phdr): Lock
+ GL(dl_load_write_lock) instead of GL(dl_load_lock).
+
2010-05-03 Ulrich Drepper <drepper@redhat.com>
* elf/dl-iteratephdr.c (__dl_iterate_phdr): Remove unnecessary